怎么查看和獲取SQL Server實例名 及 修改SQL Server名稱(@@ServerName)


一、

 查看實例名時可用

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 固定服務器角色的成員身份。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM