在SQL Server中更改链接服务器的属性

时间:2012-08-08 13:55:14

标签: sql-server sql-server-2008 tsql

有没有办法更改现有链接服务器的属性(产品名称,数据源,提供程序字符串等)?当我转到属性屏幕时,所有选项都显示为灰色。

9 个答案:

答案 0 :(得分:23)

在SQL Server management Studio中,单击链接服务器上的右键,选择"脚本链接服务器作为'然后选择' DROP和CREATE to'然后"新查询编辑器窗口'。您现在可以调整要在脚本中调整的任何设置,然后运行它。将删除现有的链接服务器并创建一个新服务器。

答案 1 :(得分:11)

这是命令。

EXEC master.dbo.sp_serveroption @server=N'<SERVERNAME>', @optname=N'name', @optvalue=N'<NEWNAME>'

替换&#39; SERVERNAME&#39;使用链接服务器的当前名称。替换&#39; NEWNAME&#39;使用您想要为链接服务器提供的新名称。

答案 2 :(得分:4)

您唯一的选择是使用sp_setnetname。您可以使用它来更改链接服务器(目标)的data_source,例如:

DECLARE @name sysname = 'SRVRNAME', @datasource sysname = 'srvr.name.com';
EXECUTE sp_setnetname @server = @name, @netname = @datasource;

答案 3 :(得分:2)

我能够使用带有@ optname = N'name'的sp_serveroption更改链接服务器的名称。此选项似乎不在sp_serveroption的BOL文档中。

答案 4 :(得分:1)

我最终创建了一个新的链接服务器并删除了旧服务器。遗憾的是,无法编辑现有实例

答案 5 :(得分:1)

合并各种响应以及阅读文档-仅记录为适用于SQL链接服务器,不适用于备用数据源:

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'
--*/

答案 6 :(得分:0)

结帐sp_serveroption。这就是GUI最终会如何做到这一点。如果最终不允许更改您尝试更改的内容,则应从此存储过程中收到有意义的错误消息。

答案 7 :(得分:0)

我的经验(我使用SQL Server 2016链接到SQL Server 2012实例,我想重命名链接服务器并更改它的目标)是我需要结合Xipooo和Jordan Parker的答案。 / p>

sp_serveroption重命名了链接服务器,sp_setnetname更改了链接服务器的目标。

答案 8 :(得分:-2)

转到启动管理工具并打开数据源(odbc),然后单击system dsn,在这里您将找到链接服务器dsn名称。从这里您可以编辑链接服务器的属性。您也可以测试连接。

~Kishore SG