IF SERVERPROPERTY('ServerName')<>@@SERVERNAME BEGIN DECLARE @srvname sysname SET @srvname=@@SERVERNAME EXEC sp_dropserver @server=@srvname SET @srvname=CAST(SERVERPROPERTY('ServerName') as sysname) EXEC sp_addserver @server = @srvname , @local = 'LOCAL' END
--1. 错误14114 --使用下面的代码重新添加当前SQL Server实例的信息,处理完成后,应该重新启动MSSQLSERVER服务使修改生效。 DECLARE @srvname sysname SET @srvname=CAST(SERVERPROPERTY('ServerName') as sysname) IF NOT EXISTS(SELECT * FROM master.dbo.sysservers WHERE srvname=@srvname) EXEC sp_addserver @server = @srvname , @local = 'LOCAL' --2.错误18483 --执行下面的代码,将@@SERVERNAME的值修改为与SERVERPROPERTY('ServerName')一样即可。修改完成后,需要重新启动MSSQLSERVER服务使修改生效。 IF SERVERPROPERTY('ServerName')<>@@SERVERNAME BEGIN DECLARE @srvname sysname SET @srvname=@@SERVERNAME EXEC sp_dropserver @server=@srvname SET @srvname=CAST(SERVERPROPERTY('ServerName') as sysname) EXEC sp_addserver @server = @srvname , @local = 'LOCAL' END
需要注意以下几点:
1、计算机的机器名变更,会影响用机器名连接的客户端访问。因为名字变了,如果LZ整个容,我相信别人也不认识了(仅仅举例而已)。
2、如果更改机器名怎么办?客户端尝试用IP连接!
3、如果客户端用IP连接也不能访问怎么办?在客户机的系统目录下windows\system32\drivers\etc的hosts文件中添加IP地址和机器名的映射即可。比如192.168.1.111 服务器名
BEGIN
DECLARE @srvname sysname
SET @srvname=@@SERVERNAME
EXEC sp_dropserver @server=@srvname
SET @srvname=CAST(SERVERPROPERTY('ServerName') as sysname)
EXEC sp_addserver @server = @srvname , @local = 'LOCAL'
END
--使用下面的代码重新添加当前SQL Server实例的信息,处理完成后,应该重新启动MSSQLSERVER服务使修改生效。
DECLARE @srvname sysname
SET @srvname=CAST(SERVERPROPERTY('ServerName') as sysname)
IF NOT EXISTS(SELECT * FROM master.dbo.sysservers WHERE srvname=@srvname)
EXEC sp_addserver @server = @srvname , @local = 'LOCAL'
--2.错误18483
--执行下面的代码,将@@SERVERNAME的值修改为与SERVERPROPERTY('ServerName')一样即可。修改完成后,需要重新启动MSSQLSERVER服务使修改生效。
IF SERVERPROPERTY('ServerName')<>@@SERVERNAME
BEGIN
DECLARE @srvname sysname
SET @srvname=@@SERVERNAME
EXEC sp_dropserver @server=@srvname
SET @srvname=CAST(SERVERPROPERTY('ServerName') as sysname)
EXEC sp_addserver @server = @srvname , @local = 'LOCAL'
END