2010-06-30 18 views
12

Uzak sunucumdaki xxx.safesecureweb.com adresindeki bir kopyasını yapmak istiyorum. Yerel SQL Server'ımdan ona nasıl bağlarım? sp_addlinkedserver sözdizimi

benzeri sözdizimi şey mi:

sp_addlinkedserver 
@server='PRODUCTION', 
@provider='xxx.safesecureweb.com', 
@Username='myUsername', 
@Password='myPassword' 

Ne gibi insert tabloların bir demet yazıyor yapmayı düşünüyorum: Kullanmak istediğiniz istemci sağlayıcısını olmalıdır

INSERT INTO Test.Table 
SELECT * FROM Production.Table 

cevap

26

Bağlantılı uzaktan kullanıcı ve parola belirtilmez: sorgularken

sp_addlinkedserver 
@server='PRODUCTION', 
@provider='SQLNCLI', -- sql native client. 
@Username='myUsername', 
@Password='myPassword', 
@dataSrc = 'xxx.safesecureweb.com' 

Sonra, ben masanın fot dört parça adını kullanmak gerekir inanıyoruz sunucu tanımı. Bağlantılı sunucular, yerel sunucuya ("locallogin") bağlı kullanıcıların oturum açmalarını uzak oturum açmalarla eşleyen ayrı bir nesneye sahiptir. Bakınız Security for Linked Servers. Örneğin, aşağıdaki belirtilen KullanıcıAdım SQL Giriş bağlantılı sunucu üzerindeki tüm yerel oturumların eşler: Yalnızca kullanıcı/şifre uzak SQL giriş ile eşleyebilir

exec sp_addlinkedserver 'xxx.safesecureweb.com'; 
exec sp_addlinkedsrvlogin 'xxx.safesecureweb.com' 
    , 'FALSE', NULL, 'myUserName', 'myPassword'; 

. Uzak Windows oturum açma (güvenilir kimlik doğrulaması), tümleşik kimlik doğrulamayı kullanmalı ve sunucuyu constrained delegation için yapılandırmalıdır.

3

Sağlayıcı bağlanmak. @datasrc bağlanılacak sunucu adıdır.

INSERT INTO Test.Table 
SELECT * FROM Production.mydatabase.dbo.Table 

http://msdn.microsoft.com/en-us/library/ms190479.aspx

+0

Teşekkürler Paul. @Username ve @Password iki parametresini ekledim, çünkü onlara bir yere bir şeyler vermem gerektiğini biliyorum. Ancak, sp_addlinkedserver parametrelerinin listesinde yer almazlar. –

+0

Ah evet - doh! Giriş eklemek için sp_addlinkedsrvlogin kullanmanız gerekir: http://msdn.microsoft.com/en-us/library/ms189811.aspx –