修改SQL Server名称(@@ServerName)
由于安装SQL Server2005 之后,改了计算机的名称(xiage),
但是数据库的@@ServerName 返回的还是 FB4B6C04012D449/SQLEXPRESS (原来默认的计算机名称/sqlexpress的样子.并没有自动更新.)
我们可以通过 删除和添加服务 来更改设置.
修改前
select @@Servername
结果
--FB4B6C04012D449/SQLEXPRESS
修改后
select @@Servername
结果
--xiage/sqlexpress
调用系统存储过程修改服务
删除服务
sp_dropserver 'FB4B6C04012D449/SQLEXPRESS', null
添加新的服务
sp_addserver 'xiage/sqlexpress' ,'LOCAL',null
摘录自:SQL Server 联机丛书
1.sp_dropserver
从本地 SQL Server 实例中的已知远程服务器和链接服务器的列表中删除服务器。
语法 sp_dropserver [ @server = ] 'server' [ , [ @droplogins = ] { 'droplogins' | NULL} ]
接服务器之前必须删除登录名。若要在删除服务器时删除服务器的所有远程服务器和链接服务器登录名,请使用 droplogins 参数。
参数
[ @server = ] 'server'
要删除的服务器。server 的数据类型为 sysname,无默认值。server 必须存在。
[ @droplogins = ] 'droplogins' | NULL
指示如果指定了 droplogins,那么对于 server,还必须删除相关的远程服务器和链接服务器登录名。@droplogins 的数据类型为 char(10
),默认值为 NULL。
返回代码值 0(成功)或 1(失败)
权限 需要对服务器具有 ALTER ANY LINKED SERVER 权限。
2.sp_addserver
定义远程服务器或本地 SQL Server 实例的名称。
语法 sp_addserver [ @server = ] 'server' [ , [ @local= ] 'local' ] [ , [ @duplicate_ok = ] 'duplicate_OK' ]
备注
若要在运行早期版本的 SQL Server 的远程服务器上执行存储过程(远程过程调用),请使用 sp_addserver 添加远程服务器。若要在运
行 SQL Server 7.0 版或更高版本的远程服务器上执行存储过程或任何分布式查询,请使用 sp_addlinkedserver 添加服务器。
若要设置或清除服务器选项,请使用 sp_serveroption。
在用户定义的事务内不能使用 sp_addserver。
参数
[ @server = ] 'server'
服务器的名称。服务器名称必须唯一且必须符合 Microsoft Windows 计算机名称的规则,但不允许包含空格。server 的数据类型为 sysname
,无默认值。
如果计算机上安装了多个 SQL Server 实例,则实例将如同在一个独立服务器上运行。通过以下格式引用 server 来指定命名实例:
servername/instancename。
[ @local = ] 'LOCAL'
指定要添加的服务器是本地服务器还是远程服务器。@local 的数据类型为 varchar(10),默认值为 NULL。将 @local 指定为 LOCAL 会将
@server 定义为本地服务器的名称,并使 @@SERVERNAME 函数返回 server 的值。
SQL Server 安装程序会在安装过程中将此变量设置为计算机名称。建议您不要更改该名称。默认情况下,用户可通过计算机名连接到 SQL
Server 的实例而无需额外的配置。
只有将服务器关闭然后重新启动后,本地的定义才会生效。每个服务器中只能定义一个本地服务器.
[ @duplicate_ok = ] 'duplicate_OK'
指定是否允许重复的服务器名。@duplicate_OK 的数据类型为 varchar(13),默认值为 NULL。@duplicate_OK 只能有 duplicate_OK 或 NULL
这两个值。如果指定了 duplicate_OK 且要添加的服务器名称已经存在,则不会发生错误。如果未使用命名参数,则必须指定 @local。
返回代码值: 0(成功)或 1(失败)
权限: 要求具有 setupadmin 固定服务器角色的成员身份。