日期:2014-05-17  浏览次数:20943 次

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

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

机器名,机器名\SQL2005

------最佳解决方案--------------------

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

------其他解决方案--------------------
友情提示,如果是因为修改了计算机名字而无法通过实例名登录SQL Server的话,可以尝试一下操作或者用安装文件修复(不是100%有用),如果不是因为这个原因,不要修改SERVERPROPERTY('SERVERNAME')的值,否则会导致通过实例名无法连接数据库。

--修改计算机名后无法运行数据库相关服务的处理方法
--使用下面的代码重新添加当前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

------其他解决方案--------------------
引用:
那要怎么办,重新安装吗?

果然是连不上了?那就执行下让面的语句,然后重启服务试一下。如果不行,用安装文件修复数据库。再不行,那就用IP连吧(如果不想重装的话)。这个传说可以通过注册表修改,但是网上版本很多,我试过几个都没有用。。。祝LZ好运
------其他解决方案--------------------
引用:
那要怎么办,重新安装吗?

好像不一定要重装,参考
http://tech.powereasy.net/Item.aspx?id=3064
http://www.itpub.net/thread-1047040-1-1.html
------其他解决方案--------------------
SQLServer不支持直接重命名实例名,为此,可以使用下面的方法:
a)卸载并重新安装;
b)更改计算机名,和更改实例名中计算机名
比如我的是:
SELECT @@SERVERNAME,SERVERPROPERTY('SERVERNAME')

输出:huang-pc   huang-pc

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

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

------其他解决方案--------------------
如楼上所述先drop 在add


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

------其他解决方案--------------------
那要怎么办,重新安装吗?