2018年10月15日 星期一

[研究][SQL Server 2017]伺服器層級的 Urn 篩選無效;變更 SQL Server 的 ServerName

[研究][SQL Server 2017]伺服器層級的 Urn 篩選無效;變更 SQL Server 的 ServerName

2018-10-15
2019-01-15 更新

在還原資料庫時候正常,但是設定帳號存取資料庫的時候,居然出現錯誤。(但是執行似乎仍成功,網站正常運行)


伺服器 '(主機名稱)' 的 嘗試擷取物件的資料 失敗。 (Microsoft.SqlServer.Smo)
其他資訊:
伺服器層級的 Urn 篩選無效: 篩選必須是空的,或者伺服器屬性必須與真實的伺服器名稱相等。(Microsoft.SqlServer.Smo)

********************************************************************************
原因:


執行
SELECT  @@SERVERNAME  查詢主機名稱


********************************************************************************
解決方法之一:

後來想到安裝 SQL Server 2017 後,曾經把主機名稱改了。
於是把名稱再次改為原來的名稱,問題就解決了。


********************************************************************************
解決方法之二:(推薦)

執行
sp_dropserver   '舊主機名稱';
GO
sp_addserver   '新主機名稱';
GO





********************************************************************************
2021-08-26
使用 sp_addserver 出現
已不再支援功能 "sp_addserver"。請使用連結的伺服器取代遠端伺服器"。

註:自 SQL Server 2016 開始,sp_addserver 和 sp_dropserver 都已不再支援,而且在 SQL Server 2019 中這些預存程序仍然不受支援。

可於 SSMS 中嘗試下面命令 (未測試過)
EXEC sp_addlinkedserver   
   @server='NewServerName', 
   @srvproduct='',
   @provider='SQLNCLI',  -- 使用您的 OLE DB 提供程序
   @datasrc='newServerHostName\InstanceName';  -- 新的 SQL Server 實例名稱或 IP 位址

(完)


相關

SQL Server - Invalid Urn filter on server level: filter must be empty, or server attribute must be equal with the true server name
http://blog.patricknielsen.net/2011/01/sql-server-invalid-urn-filter-on-server.html
不合適敝人的情況

SQL Server: Invalid Urn filter on server level: filter must be empty, or server attribute must be equal with the true server name
Monday, September 5, 2016
https://debabratahowlee.blogspot.com/2016/09/sql-server-invalid-urn-filter-on-server.html

Rename a Computer that Hosts a Stand-Alone Instance of SQL Server
https://docs.microsoft.com/en-us/sql/database-engine/install-windows/rename-a-computer-that-hosts-a-stand-alone-instance-of-sql-server?view=sql-server-2017

沒有留言:

張貼留言