2008-10-09 26 views

Trả lời

11

Bạn cần sử dụng sp_linkedserver để tạo máy chủ được liên kết.

sp_addlinkedserver [ @server= ] 'server' [ , [ @srvproduct= ] 'product_name' ] 
[ , [ @provider= ] 'provider_name' ] 
[ , [ @datasrc= ] 'data_source' ] 
[ , [ @location= ] 'location' ] 
[ , [ @provstr= ] 'provider_string' ] 
[ , [ @catalog= ] 'catalog' ] 

Thông tin thêm có sẵn trên MSDN.

+0

Không có prob. Có vẻ như bạn đã tìm thấy nó! –

+1

Vâng - đó là một trong những điều mà tôi đã tìm ra câu trả lời ở đó, chỉ muốn lưu trữ howto trong ngăn xếp tràn :) – Kalid

16

Giải pháp tôi thấy:

1) Chạy stored proc

exec sp_addlinkedserver @server='10.0.0.51' 

2) Xác minh rằng các máy chủ được liên kết (danh sách các máy chủ liên kết)

exec sp_linkedservers 

3) Chạy truy vấn sử dụng định dạng

[10.0.0.51].DatabaseName.dbo.TableName 
5

Bạn có thể, như đã đề cập, sử dụng sp_addlinkedserver. Tuy nhiên, bạn cũng có thể làm điều này thông qua Enterprise Manager (2000) hoặc SQL Server Management Studio (2005). Trong nút "Bảo mật", có nút "Máy chủ được liên kết", bạn có thể sử dụng nút này để thêm và định cấu hình Máy chủ được Liên kết. Bạn có thể chỉ định thiết lập bảo mật, mạo danh, vv

Xem những cho SQL Server 2000:

Configuring Linked Servers

Establishing Security For Linked Servers

Configuring OLEDB Providers for Distributed Queries

Xem những cho SQL Server 2005:

Linking Servers

Security for Linked Servers

Configuring Linked Servers for Delegation

Configuring OLEDB Providers for Distributed Queries

6

Tôi biết rằng câu trả lời ở trên là tốt, nhưng muốn chia sẻ một số chi tiết mà tôi hy vọng những người khác sẽ thấy hữu ích. Đáng nói đến là phần truy cập của người dùng, mà tôi nghĩ mọi người sẽ cần trợ giúp.

thiết lập liên kết:

exec sp_addlinkedserver @server='10.10.0.10\MyDS';

thiết lập quyền truy cập cho người dùng từ xa, ví dụ dưới đây:

exec sp_addlinkedsrvlogin '10.10.0.10\MyDS', 'false', null, 'adm', 'pwd';

thấy các máy chủ liên kết và đăng nhập người dùng :

exec sp_linkedservers;

select * from sys.servers;

select * from sys.linked_logins;

chạy truy vấn từ xa:

select * from [10.10.0.10\MyDS].MyDB.dbo.TestTable;

thả các máy chủ liên kết và những người sử dụng đăng nhập được tạo ra (ADM/pwd)

exec sp_dropserver '10.10.0.10\MyDS', 'droplogins'; -- drops server and logins

nguồn:

sp_addlinkedserver

sp_dropserver

sp_addlinkedsrvlogin

sp_droplinkedsrvlogin

Các vấn đề liên quan