有没有办法更改现有链接服务器的属性(产品名称、数据源、提供程序字符串等)?当我进入属性屏幕时,所有选项都是灰色的。
有没有办法更改现有链接服务器的属性(产品名称、数据源、提供程序字符串等)?当我进入属性屏幕时,所有选项都是灰色的。
这是该命令。
EXEC master.dbo.sp_serveroption @server=N'<SERVERNAME>', @optname=N'name', @optvalue=N'<NEWNAME>'
使用当前链接服务器的名称替换'SERVERNAME'。使用您想要赋予链接服务器的新名称替换'NEWNAME'。
您唯一的选择是使用sp_setnetname。您可以使用它来更改链接服务器(目标)的data_source,例如:
DECLARE @name sysname = 'SRVRNAME', @datasource sysname = 'srvr.name.com';
EXECUTE sp_setnetname @server = @name, @netname = @datasource;
我通过使用@optname=N'name'和sp_serveroption命令成功修改了联接服务器的名称。在BOL sp_serveroption文档中并未提到此选项。
我最终创建了一个新的关联服务器并删除了旧的。不幸的是,没有办法编辑现有实例。
select server_id, name, data_source from sys.servers where product = 'SQL Server'
DECLARE @oldName nvarchar(30) = 'oldSERVER', --must match current entry under sys.servers.name
@name sysname = 'newServer',
@datasource sysname = 'newServer.DNSDomainName.com' -- can be a windows FDQN that is not SQL valid if needed for RPC cross domain resolution
/* Comment out this marker to perform update
EXEC master.dbo.sp_serveroption @server=@oldName, @optname=N'name', @optvalue=@name
EXECUTE sp_setnetname @server = @name, @netname = @datasource;
select server_id, name, data_source from sys.servers where product = 'SQL Server'
--*/
我的经验是(我正在使用SQL Server 2016连接到SQL Server 2012实例,并且我想重命名链接服务器并更改它的目标),我需要结合Xipooo和Jordan Parker的答案。
sp_serveroption可以重命名链接服务器,而sp_setnetname可以更改链接服务器的目标。
前往开始 - 管理工具,打开数据源 (odbc),然后点击系统 dsn,在这里你会找到联接服务器的 dsn 名称。从这里可以编辑联接服务器的属性,也可以测试连接。
~ Kishore SG