Tuyên bố SELECT...INTO [new_table_name]
hỗ trợ tối đa 2 tiền tố: [database].[schema].[table]
LƯU Ý: nó là performant hơn để kéo dữ liệu qua liên kết sử dụng SELECT INTO
vs đẩy nó qua sử dụng INSERT INTO
:
SELECT INTO
được ghi nhật ký tối thiểu.
SELECT INTO
không ngầm bắt đầu một giao dịch phân tán, thông thường.
Tôi thường nói, ở điểm # 2, vì trong hầu hết các trường hợp, giao dịch phân phối không được tạo ngầm khi sử dụng SELECT INTO
. Nếu một dấu vết profiler cho bạn biết SQL Server vẫn ngầm tạo một giao dịch phân tán, trước tiên bạn có thể SELECT INTO
một bảng tạm thời, để ngăn chặn giao dịch được phân phối ngầm, sau đó di chuyển dữ liệu vào bảng đích của bạn từ bảng tạm thời.
Đẩy vs Pull Ví dụ
Trong ví dụ này, chúng tôi đang sao chép dữ liệu từ [server_a] tới [server_b] qua một liên kết.Ví dụ này giả thực hiện truy vấn có thể từ cả hai máy chủ:
Đẩy
Thay vì kết nối với [server_a] và đẩy dữ liệu tới [server_b]:
INSERT INTO [server_b].[database].[schema].[table]
SELECT * FROM [database].[schema].[table]
Kéo
Kết nối với [server_b] và kéo dữ liệu từ [server_a]:
SELECT * INTO [database].[schema].[table]
FROM [server_a].[database].[schema].[table]
Liên kết bị hỏng. – ketura
cảm ơn, liên kết đã sửa đổi – richaux