日期:2014-05-18  浏览次数:20737 次

【请教ROY,FC,大叔等】如何修改SQL2005/2008实例名
有没有官方一点的方法?风险小一点的,网上搜的那些太吓人了。

------解决方案--------------------
修改无异于重装,所以无法修改。
------解决方案--------------------
前几天安装了sqlserver 2008,当时是刚装的系统,后来回到公司要加入域,就修改了一下机器名称,加入域后发现机器名称与以前的不一致了,导致的问题就是SqlServer的实例名称不一致了,不能访问了,在网上查了一下终于可以修改了,方法如下:

SELECT @@SERVERNAME ,serverproperty('servername') 

 

先用以上语句在master表里面查询一下,看看两个名字是不是一样,有人会说了实例名都登录不了了,还怎么查询呀,告诉你吧,你可以先设置一下用IP访问。哈哈

 

如果发现上面查询的名称不一致,执行下面的sql

 

if serverproperty('servername') <> @@servername 
begin 
declare @server sysname 
set @server = @@servername 
exec sp_dropserver @server = @server 
set @server = cast(serverproperty('servername') as sysname) 
exec sp_addserver @server = @server , @local = 'LOCAL' 
end


执行完后,要立即重启一下SqlServer服务,

然后用实例名登录,就成功了!OK!


------解决方案--------------------
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

------解决方案--------------------
SQL code
--查看当前实例名
select @@SERVICENAME
/*
MSSQLSERVER
*/

--重新安装,不选择默认实例,选择新建,可以新建实例,但是修改我也不会。

------解决方案--------------------
以上修改也仅限于默认实例
命名实例
除了重装 也没什么好方法

------解决方案--------------------
sp_addserver
sp_dropserver

在聯機看這兩個系統存儲過程用法

------解决方案--------------------
探讨
修改无异于重装,所以无法修改。