怎么修改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 [email protected])
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 @[email protected]
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