读书人

如何修改SERVERPROPERTY(#039;SERVERNAME#039;

发布时间: 2012-09-21 15:47:26 作者: rapoo

怎么修改SERVERPROPERTY('SERVERNAME')的值。
怎么修改SERVERPROPERTY('SERVERNAME')的结果为机器名。

SELECT @@SERVERNAME,SERVERPROPERTY('SERVERNAME') --这个语句的结果如下

机器名,机器名\SQL2005


[解决办法]

SQL code
 
--?
SELECT substring(@@SERVERNAME,1,charindex('\',@@SERVERNAME)-1)

[解决办法]
友情提示,如果是因为修改了计算机名字而无法通过实例名登录SQL Server的话,可以尝试一下操作或者用安装文件修复(不是100%有用),如果不是因为这个原因,不要修改SERVERPROPERTY('SERVERNAME')的值,否则会导致通过实例名无法连接数据库。
SQL code
 
--修改计算机名后无法运行数据库相关服务的处理方法
--使用下面的代码重新添加当前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'


--执行下面的代码,将@@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

[解决办法]
探讨

那要怎么办,重新安装吗?

[解决办法]
探讨
那要怎么办,重新安装吗?

[解决办法]
SQLServer不支持直接重命名实例名,为此,可以使用下面的方法:
a)卸载并重新安装;
b)更改计算机名,和更改实例名中计算机名
比如我的是:
SQL code
SELECT @@SERVERNAME,SERVERPROPERTY('SERVERNAME')

输出:huang-pc huang-pc

使用以下语句修改:
SQL code
sp_dropserver 'HUANG-PC' 
GO
sp_addserver 'Huang',LOCAL
GO

输出:huang huang-pc
如果要修改命名实例:
SQL code
sp_dropserver '[HUANG-PC]\实例名' 
GO
sp_addserver 'Huang\实例名',LOCAL
GO

[解决办法]
如楼上所述先drop 在add

SQL code
 
--查询你的机器名
SELECT @@SERVERNAME,SERVERPROPERTY('SERVERNAME')
--drop后add
sp_dropserver '[2012-PC]\实例名'
GO
sp_addserver '2012\实例名',LOCAL
GO

读书人网 >SQL Server

热点推荐