我想在xxx.safesecureweb.com上复制远程服务器上的内容。 如何从本地SQL Server连接到它?
语法是这样的:
sp_addlinkedserver
@server='PRODUCTION',
@provider='xxx.safesecureweb.com',
@Username='myUsername',
@Password='myPassword'
我正在考虑做的是编写一堆插入语句,如:
INSERT INTO Test.Table
SELECT * FROM Production.Table
答案 0 :(得分:27)
您未在链接服务器定义中指定远程用户和密码。链接服务器具有单独的对象,该对象通过远程登录来连接到本地服务器(“locallogin”)的用户的登录。见Security for Linked Servers。例如,以下内容将链接服务器上的所有本地登录映射到指定的MyUserName SQL登录:
exec sp_addlinkedserver 'xxx.safesecureweb.com';
exec sp_addlinkedsrvlogin 'xxx.safesecureweb.com'
, 'FALSE', NULL, 'myUserName', 'myPassword';
您只能使用用户/密码映射远程 SQL 登录。远程Windows登录(受信任的身份验证)必须使用集成身份验证并为constrained delegation配置服务器。
答案 1 :(得分:3)
提供商应该是您要用于连接的客户端提供商。 @datasrc是要连接的服务器名称。
sp_addlinkedserver
@server='PRODUCTION',
@provider='SQLNCLI', -- sql native client.
@Username='myUsername',
@Password='myPassword',
@dataSrc = 'xxx.safesecureweb.com'
然后,在查询时,我相信你需要在表格中使用四部分名称:
INSERT INTO Test.Table
SELECT * FROM Production.mydatabase.dbo.Table