我试图从一个服务器插入值到另一个服务器,我得到错误:
消息7202,级别11,状态2,行1无法在sysservers中找到服务器'SNRJDI\SLAMANAGEMENT'.执行sp_addlinkedserver将服务器添加到sysservers.
Dom*_*nic 99
我知道了.它工作正常
谢谢您的帮助:
EXEC sp_addlinkedserver @server='Servername'
EXEC sp_addlinkedsrvlogin 'Servername', 'false', NULL, 'username', 'password@123'
Run Code Online (Sandbox Code Playgroud)
hkf*_*hkf 14
首先添加链接服务器
exec sp_addlinkedserver
@server = 'SNRJDI\SLAMANAGEMENT',
@srvproduct=N'',
@provider=N'SQLNCLI'
Run Code Online (Sandbox Code Playgroud)
请参阅http://msdn.microsoft.com/en-us/library/ms190479.aspx
我在将 SQL_server 2008 连接到远程服务器中托管的 SQL_server 2016 时遇到了同样的问题。@Domnic 的回答对我来说并不直接。我在这里写我的调整解决方案,因为我认为它可能对其他人有用。
远程 IP 数据库连接的扩展答案:
第 1 步:链接服务器
EXEC sp_addlinkedserver @server='SRV_NAME',
@srvproduct=N'',
@provider=N'SQLNCLI',
@datasrc=N'aaa.bbb.ccc.ddd';
EXEC sp_addlinkedsrvlogin 'SRV_NAME', 'false', NULL, 'your_remote_db_login_user', 'your_remote_db_login_password'
Run Code Online (Sandbox Code Playgroud)
...哪里SRV_NAME是一个虚构的名字。我们将使用它从我们的查询中引用远程服务器。aaa.bbb.ccc.ddd是托管 SQLserver 数据库的远程服务器的 IP 地址。
第 2 步:运行您的查询 例如:
SELECT * FROM [SRV_NAME].your_remote_db_name.dbo.your_table
Run Code Online (Sandbox Code Playgroud)
……就是这样!
语法详细信息:sp_addlinkedserver和sp_addlinkedsrvlogin
小智 7
-- 检查表 sys.server 中是否存在服务器
select * from sys.servers
Run Code Online (Sandbox Code Playgroud)
-- 设置数据库安全
EXEC sp_configure 'show advanced options', 1
RECONFIGURE
GO
EXEC sp_configure 'ad hoc distributed queries', 1
RECONFIGURE
GO
Run Code Online (Sandbox Code Playgroud)
-- 添加外部数据库服务器
EXEC sp_addlinkedserver @server='#servername#'
Run Code Online (Sandbox Code Playgroud)
-- 添加外部服务器登录
EXEC sp_addlinkedsrvlogin '#Servername#', 'false', NULL, '#username#', '#password@123"'
Run Code Online (Sandbox Code Playgroud)
-- 控制远程表的查询
select top (1000) * from [#server#].[#database#].[#schema#].[#table#]
Run Code Online (Sandbox Code Playgroud)
小智 5
对于 SQL 服务器
EXEC sp_addlinkedserver @server='servername'
Run Code Online (Sandbox Code Playgroud)
无需指定其他参数。你可以浏览一下这篇文章。