怎么查看和获取SQL Server实例名 及 修改SQL Server名称(@@ServerName)

时间:2022-05-10 17:25:57

一、

 查看實例名時可用

1、服务—SQL Server(实例名),默认实例为(MSSQLSERVER)

或在连接企业管理时-查看本地实例

2、通過注冊表
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft SQL Server/InstalledInstance

3、用命令

sqlcmd/osql
sqlcmd -L
sqlcmd -Lc
osql -L

获取实例名称

DECLARE @Table TABLE ( instanceName  sysname NULL)

insert @Table EXEC sys.xp_cmdshell 'sqlcmd -Lc'

--LEFT(@@serverName,CHARINDEX('/',@@serverName+'/')-1) 替换为本机名称即可 , 依据示例命名规则来进行判断

SELECT * FROM @Table WHERE instanceName LIKE   LEFT( @@serverName , CHARINDEX ( '/' , @@serverName + '/' )- 1)+ '%'

二、

 --1. 
SELECT SERVERPROPERTY('InstanceName') 

--2  
sp_helpserver 

--3  
select @@SERVERNAME
--4  
SELECT * FROM SYS.SYSSERVERS

--5
SELECT * FROM SYS.SERVERS 

 

三、读取注册表中的信息

EXECUTE xp_regread @rootkey='HKEY_LOCAL_MACHINE',
@key='SOFTWARE/Microsoft/Microsoft SQL Server/Instance Names/SQl',
@value_name='MSSQLSERVER'

四、

Select Case
When SERVERPROPERTY ('InstanceName') Is Null Then @@SERVERNAME
Else SERVERPROPERTY ('InstanceName')
End

 

 

 关于如何 修改SQL Server名称(@@ServerName)

 

SQL服务器名称的更改

  1.当前数据库的服务器名: 

select @@ServerName

  2.查看当前的所有服务器名

select * From Sys.SysServers

 

  3.删除服务器名

 sp_dropserver  'servername'   

  4.将本地服务器重新添加到服务器表中

 sp_addserver  'new servername', 'LOCAL'

 

  5.检查核对

select * From Sys.SysServers

  6.修改完成后,重启数据库服务即可,示例如下:

select @@servername
select * from Sys.SysServers
sp_dropserver 'UAT_Server\Relux_UAT'  //红色部分为当前服务器名
sp_addserver 'LOCALHOST','LOCAL'    //红色部分为要改成的服务器名


 

 

/*
返回有关服务器实例的属性信息
Windows 服务器和与指定的SQL Server 实例关联的实例信息
*/
SELECT CONVERT(sysname, SERVERPROPERTY('servername'));
/*
返回运行SQL Server 的本地服务器的名称
如果连接默认实例,则@@SERVERNAME仅返回servername
如果连接命名实例,则@@SERVERNAME函数返回的字符串以servername\instancename的格式标识实例名
*/
SELECT @@SERVERNAME AS 'Server Name'

 

 

 

  或者 参考下面的文档:

摘录自: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 固定服务器角色的成员身份。