Tôi có cơ sở dữ liệu được gọi là foo và một cơ sở dữ liệu được gọi là thanh. Tôi có một bảng trong foo gọi là tblFoobar mà tôi muốn di chuyển (dữ liệu và tất cả) vào thanh cơ sở dữ liệu từ cơ sở dữ liệu foo. Câu lệnh SQL để làm điều này là gì?Sao chép các bảng từ cơ sở dữ liệu này sang cơ sở dữ liệu khác trong SQL Server
Trả lời
Trên SQL Server? và trên cùng một máy chủ cơ sở dữ liệu? Sử dụng ba phần đặt tên.
INSERT INTO bar..tblFoobar(*fieldlist*)
SELECT *fieldlist* FROM foo..tblFoobar
Điều này chỉ di chuyển dữ liệu. Nếu bạn muốn di chuyển định nghĩa bảng (và các thuộc tính khác như các quyền và các chỉ mục), bạn sẽ phải làm điều gì đó khác.
này nên làm việc:
SELECT *
INTO DestinationDB..MyDestinationTable
FROM SourceDB..MySourceTable
Nó sẽ không constaints sao chép, giá trị mặc định hoặc chỉ số. Bảng được tạo sẽ không có chỉ mục được nhóm.
Hoặc bạn có thể:
INSERT INTO DestinationDB..MyDestinationTable
SELECT * FROM SourceDB..MySourceTable
Nếu bảng điểm đến của bạn tồn tại và trống.
Có vấn đề gì nếu bạn sao chép cấu trúc bảng cơ bản (trường và dữ liệu) và sau đó áp dụng tập lệnh * vá * để tạo quyền, chỉ mục, ràng buộc và thuộc tính mở rộng? – leoinfo
Điều này sẽ không chèn giá trị cho cột nhận dạng trong SQL Server 2008. Chỉ được phép khi bạn sử dụng danh sách cột và IDENTITY_INSERT là BẬT cho bảng đích. –
@Lucas - Bạn đang "nửa" ngay :). Tuy nhiên, câu lệnh SQL đầu tiên sao chép TẤT CẢ dữ liệu, bao gồm các giá trị trong các cột nhận dạng. Như tôi đã nói, các ràng buộc không được tạo ra. Nhưng chúng có thể dễ dàng được viết trên DB nguồn và áp dụng cho DB đích khi tất cả dữ liệu được di chuyển. – leoinfo
Viết
create table
trong phòng quản lý, chạy tập lệnh đó trong thanh để tạo bảng. (Nhấp chuột phải bảng trong thám hiểm đối tượng, bảng kịch bản như, sáng tạo để ...)INSERT bar.[schema].table SELECT * FROM foo.[schema].table
Tôi thích phương pháp này. Chọn * sẽ không hoạt động nếu có cột danh tính, bạn cần phải liệt kê rõ ràng các tên cột. Bạn cũng sẽ cần phải thực hiện 'SET IDENTITY_INSERT TblName ON' trong trường hợp đó. – JeremyWeir
SQL Server Management Studio "Import Data" nhiệm vụ (nhấn chuột phải vào tên DB, sau đó nhiệm vụ) sẽ làm hầu hết điều này cho bạn. Chạy nó từ cơ sở dữ liệu bạn muốn sao chép dữ liệu vào.
Nếu các bảng không tồn tại, nó sẽ tạo chúng cho bạn, nhưng có thể bạn sẽ phải tạo lại bất kỳ chỉ mục nào và như vậy. Nếu các bảng tồn tại, nó sẽ chắp thêm dữ liệu mới theo mặc định nhưng bạn có thể điều chỉnh (sửa ánh xạ) để nó xóa tất cả dữ liệu hiện có.
Tôi sử dụng tất cả thời gian và hoạt động khá tốt.
tôi dường như không thể tìm thấy tùy chọn này. có một phiên bản cụ thể ở đây không? – Nerrve
có vẻ như chỉ có sẵn trong ấn bản năm 2008 – Nerrve
Bạn thực sự không thể nói đó là câu trả lời hay hơn. Nó không thể sử dụng để tự động hóa được gọi từ bên trong một kịch bản chẳng hạn. BTW tác giả yêu cầu cụ thể cho một câu lệnh "..SQL ..". Nhưng tất nhiên đó là một câu trả lời tuyệt vời, nhưng không phải là câu trả lời hay hơn;). – grizzly
Bạn cũng có thể sử dụng Generate SQL Server Scripts Wizard để giúp hướng dẫn việc tạo ra các kịch bản SQL rằng có thể làm như sau:
- sao chép các schema bảng
- bất kỳ hạn chế (bản sắc, giá trị mặc định, vv)
- dữ liệu trong bảng
- và nhiều tùy chọn khác nếu cần
Quy trình làm việc mẫu tốt cho SQL Server 2008 với ảnh chụp màn hình hiển thị here.
Xem nhận xét của tôi ở trên: "Làm thế nào điều này nhận được 508/171 phiếu bầu và Ryan" 11 tháng 10 '11 lúc 23:41 "Câu trả lời chỉ nhận được 13 cho đến nay?!? Ryan là câu trả lời * duy nhất * câu trả lời là của q . * hoàn toàn *. * Bởi vì * nó xử lý các kịch bản này (trong đó, btw, OP không loại trừ từ q của anh ta.): a) Identity (* rất * phổ biến), b) Ràng buộc, c) Kích hoạt, d) Chỉ mục, e) Quyền, d) sao chép Lược đồ và dữ liệu (Gợi ý: phần "và tất cả" của "op (dữ liệu và tất cả)" của op cũng ngụ ý lược đồ.) và e) tạo ra "câu lệnh SQL" mà op đã chỉ định thậm chí nếu anh ta không có nghĩa là nó có nghĩa đen thì tốt hơn là không. " – Tom
Lưu ý: Câu trả lời này chỉ thực tế khi # Hàng không phải là "quá mức" (ví dụ: bảng tra cứu/giao dịch nhỏ) và không có giá trị Cột "lớn". Đối với những người, tôi sẽ sử dụng câu trả lời của Ryan chỉ để tạo ra các Script cho bảng (incl. Cột thuộc tính và phụ đối tượng) Sáng tạo, và sau đó sử dụng David B của "Chèn vào Chọn" Trả lời. Đối với các bảng đơn (thay vì A của Ryan), bạn cũng có thể sử dụng SSMS, Object Explorer, Right-Click Table, Script Table như, CREATE To, nhưng bạn phải đảm bảo Tools, Options, SQL Server Object Explorer, Scripting options thiết lập như mong muốn. – Tom
Bạn có thể đi với cách này: (một ví dụ tổng quát)
insert into QualityAssuranceDB.dbo.Customers (columnA, ColumnB)
Select columnA, columnB from DeveloperDB.dbo.Customers
Ngoài ra nếu bạn cần phải tạo ra các tên cột cũng như để đặt tại khoản chèn, sử dụng:
select (name + ',') as TableColumns from sys.columns
where object_id = object_id('YourTableName')
Sao chép kết quả và dán vào cửa sổ truy vấn để thể hiện tên cột của bảng và thậm chí điều này cũng sẽ loại trừ cột nhận dạng:
select (name + ',') as TableColumns from sys.columns
where object_id = object_id('YourTableName') and is_identity = 0
Hãy nhớ rằng tập lệnh sao chép các hàng sẽ làm việc iff cơ sở dữ liệu thuộc về cùng một vị trí.
Bạn có thể dùng thử tính năng này.
select * into <Destination_table> from <Servername>.<DatabaseName>.dbo.<sourceTable>
Tên máy chủ là tùy chọn nếu cả hai DB ở cùng một máy chủ.
Nếu đó là một bảng chỉ sau đó tất cả các bạn cần làm là
- định nghĩa bảng Script
- Tạo bảng mới trong cơ sở dữ liệu khác
- Cập nhật các quy định, các chỉ số, quyền và như vậy Nhập dữ liệu
- (một số chèn vào ví dụ đã được hiển thị ở trên)
Một điều bạn sẽ phải xem xét là oth er cập nhật như di chuyển các đối tượng khác trong tương lai. Lưu ý rằng các bảng nguồn và đích của bạn không có cùng tên. Điều này có nghĩa là bạn cũng sẽ phải thực hiện thay đổi nếu bạn phụ thuộc vào các đối tượng như chế độ xem, quy trình được lưu trữ và khác.
Whit một hoặc một số đối tượng mà bạn có thể đi bằng tay w/o bất kỳ vấn đề. Tuy nhiên, khi có nhiều hơn chỉ là một vài cập nhật, các công cụ so sánh của bên thứ 3 trở nên rất tiện dụng. Hiện tại, tôi đang sử dụng ApexSQL Diff để di chuyển giản đồ nhưng bạn không thể đi sai với bất kỳ công cụ nào khác ngoài đó.
Copy Data
INSERT INTO Alfestonline..url_details(url,[status],recycle)
SELECT url,status,recycle FROM AlfestonlineOld..url_details
Nếu có bảng hiện có và chúng tôi muốn sao chép chỉ dữ liệu, chúng ta có thể thử truy vấn này.
chèn vào Destination_Existing_Tbl chọn col1, col2 TỪ Source_Tbl
- 1. SQL Server Sao chép các bảng từ một cơ sở dữ liệu sang một cơ sở dữ liệu khác
- 2. Sao chép bảng từ một cơ sở dữ liệu sang một cơ sở dữ liệu khác
- 3. Cập nhật bảng cơ sở dữ liệu từ một bảng cơ sở dữ liệu SQL Server sang bảng cơ sở dữ liệu SQL Server khác?
- 4. Sao chép dữ liệu từ cơ sở dữ liệu này sang cơ sở dữ liệu khác trong Oracle
- 5. Chuyển dữ liệu từ cơ sở dữ liệu này sang cơ sở dữ liệu khác
- 6. Sao chép dữ liệu từ một bảng cơ sở dữ liệu SQL Server sang một bảng khác
- 7. Cách sao chép các khung nhìn từ một cơ sở dữ liệu sang cơ sở dữ liệu khác
- 8. Cách sao chép bảng từ một cơ sở dữ liệu mysql sang cơ sở dữ liệu mysql khác
- 9. Làm thế nào để sao chép dữ liệu từ cơ sở dữ liệu/bảng này sang cơ sở dữ liệu/bảng khác
- 10. Cách chuyển đổi cơ sở dữ liệu Visual Foxpro sang cơ sở dữ liệu SQL Server
- 11. Làm cách nào để di chuyển Sơ đồ cơ sở dữ liệu SQL Server sang cơ sở dữ liệu khác?
- 12. Sao chép cơ sở dữ liệu SQL Server Express sang một máy tính khác
- 13. Di chuyển bảng từ cơ sở dữ liệu này sang cơ sở dữ liệu khác trong MySQL
- 14. SQL Server 2005, cách sao chép Sơ đồ cơ sở dữ liệu sang máy chủ khác
- 15. Sao chép một cột từ một cơ sở dữ liệu sang một cơ sở dữ liệu khác
- 16. Tạo cơ sở dữ liệu từ cơ sở dữ liệu khác?
- 17. Cách di chuyển dữ liệu và cài đặt từ cơ sở dữ liệu này sang cơ sở dữ liệu khác?
- 18. Thả cơ sở dữ liệu SQL Server
- 19. Java, cách thay đổi cơ sở dữ liệu hiện tại sang cơ sở dữ liệu khác?
- 20. Cách tốt nhất để sao chép toàn bộ cơ sở dữ liệu trong MS SQL Server?
- 21. Làm thế nào để sao chép cơ sở dữ liệu trong sử dụng cơ sở dữ liệu khác trong django?
- 22. Có cách nào để sao chép tất cả dữ liệu trong cơ sở dữ liệu mysql sang cơ sở dữ liệu khác không? (phpmyadmin)
- 23. Sao chép toàn bộ nội dung cơ sở dữ liệu (lược đồ và dữ liệu)
- 24. Tránh con trỏ cơ sở dữ liệu trong SQL Server
- 25. Sao chép các hàng giữa các cơ sở dữ liệu trong máy chủ SQL
- 26. Tôi muốn sao chép bảng chứa từ một cơ sở dữ liệu và chèn vào bảng cơ sở dữ liệu khác
- 27. enums trong cơ sở dữ liệu SQL Server
- 28. Thả Người dùng từ Cơ sở dữ liệu SQL Server?
- 29. Khôi phục cơ sở dữ liệu SQL Server 2008 sang SQL Server 2000
- 30. Đa hình trong các bảng cơ sở dữ liệu SQL?
Bạn cũng sẽ phải thiết lập riêng rẽ cho phép bảng, tôi tin. –
Vâng, và lập chỉ mục ... vv –
Nếu bạn cần làm sắc chèn quá, các Import Wizard dữ liệu có một lựa chọn cho ^^ rằng - đề cập đến những câu trả lời khác –