【转】SQL Server服务器名称与默认实例名不一致的修复方法
服務器級的urn篩選器無效:篩選器必須為空,或服務器屬性必須等于實際的服務器名稱
這個問題是出在本地連接還是遠程連接上,這個問題可能是由于修改過服務器名稱導致的。你可以嘗試在本地的服務器和SQL Server上運行以下指令,看看服務器名稱是否一致 ->打開CMD,運行:hostname;打開SQL Server,運行SELECT @@SERVERNAME?AS 'Server Name' 。
?
?
?
--原因分析:
--SERVERPROPERTY 函數的 ServerName 屬性與@@SERVERNAME 返回相似的信息。
--ServerName 屬性提供Windows 服務器和實例名稱,兩者共同構成唯一的服務器實例;
--@@SERVERNAME 提供當前配置的本地服務器名稱。
?
--如果安裝時未更改默認服務器名稱,則 ServerName 屬性和 @@SERVERNAME 返回相同的信息。如果在安裝時已將本地服務器名稱從默認服務器名稱更改為其他名稱,則 @@SERVERNAME 返回更改后的新名稱。
?
--如果安裝時未更改默認服務器名稱,但是安裝完成后更改過Windows 服務器名稱,則@@SERVERNAME仍然返回安裝時的服務器名稱,ServerName 屬性返回更改過后的Windows 服務器名稱。也就是說,@@SERVERNAME不會報告Windows 服務器名稱的更改,ServerName 屬性會報告Windows 服務器名稱的更改。這就會造成SQL Server默認實例的@@SERVERNAME和ServerName 屬性不一致。這種情況在一些應用中常常會出現無法連接的問題,有時我們需要修復這種情況。
?
--修復方法:(修復方法很簡單,直接執行以下語句即可)
use master??
??? ? ?go??
??? ? ?select @@servername
??? ? ?select serverproperty('servername')
------
? 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
? ELSE
? ?? ?PRINT '實例名與主機名一致,無需修改!'
?
總結
以上是生活随笔為你收集整理的【转】SQL Server服务器名称与默认实例名不一致的修复方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Redmi K50新配色晴雪首销秒光:2
- 下一篇: 浦发淘票票信用卡审批要多久