在sys.servers 中找不到服务器的解决办法

本文介绍了解决因更改服务器名称导致的SQL服务器与数据库名称不匹配的问题。通过执行特定的SQL查询来获取原始服务器名、删除旧名称,并添加新名称,最后调整数据访问权限。

出现此报错,说明服务器被修改过计算机名称,导致计算机名称和数据库中计算机名称不一致

 

解决方法:
打开SQL Server Management Studio,新建查询:
select * from sys.servers            //这里可得到原来的计算机名称。然后将其记录下来(复制即可)


下一步
新建查询:
sp_dropserver '你的SQL服务器名称'   //这里是将原来的名称删除。


下一步
新建查询:
sp_addserver '新的SQL服务器名称'   //这里是新建服务器名称
 
到这里重启服务,没问题就OK了,不行再下一步。
 
下一步
新建查询:
sp_serveroption '新的SQL服务器名称','data access', 'true'
 
执行完成后 重启sql服务 然后才能生效,务必要重启sql服务,否则不会生效


 

在 `sys.servers` 中不到服务器 `192.168.1.38`,通常是因为服务器信息未正确添加到系统表中。可以通过执行 `sp_addlinkedserver` 存储过程将该服务器添加到 `sys.servers` 中。 ### `sp_addlinkedserver` 存储过程使用方法 `sp_addlinkedserver` 用于创建链接服务器,允许对远程服务器进行分布式查询。其基本语法如下: ```sql EXEC sp_addlinkedserver @server = 'linked_server_name', @srvproduct = '', @provider = 'provider_name', @datasrc = 'data_source'; ``` - `@server`:链接服务器的名称,可自定义。 - `@srvproduct`:通常为空字符串。 - `@provider`:指定 OLE DB 提供程序的名称,对于 SQL Server,一般使用 `SQLNCLI` 或 `SQLNCLI11`。 - `@datasrc`:指定远程服务器的名称或 IP 地址。 ### 解决 `sys.servers` 中不到服务器 `192.168.1.38` 的问题 可以使用以下代码将服务器 `192.168.1.38` 添加到 `sys.servers` 中: ```sql -- 添加链接服务器 EXEC sp_addlinkedserver @server = 'RemoteServer_192.168.1.38', @srvproduct = '', @provider = 'SQLNCLI', @datasrc = '192.168.1.38'; -- 若需要设置登录映射 EXEC sp_addlinkedsrvlogin @rmtsrvname = 'RemoteServer_192.168.1.38', @useself = 'FALSE', @rmtuser = 'remote_username', @rmtpassword = 'remote_password'; ``` 上述代码中,首先使用 `sp_addlinkedserver` 存储过程添加链接服务器,然后使用 `sp_addlinkedsrvlogin` 存储过程设置登录映射(如果需要)。 ### 注意事项 - 确保目标服务器 `192.168.1.38` 已开启远程连接功能。 - 若使用 Windows 身份验证,可将 `@useself` 参数设置为 `TRUE`。 - 执行上述代码需要有足够的权限。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值