Sql-Server

分銷商的 network_name 的來源

  • March 21, 2016

所以,我有一個非常奇怪的案例。正在從sql server 2005遷移到2012。建構伺服器,最後一分鐘我們發現伺服器被稱為abc/xyz。我們只需要 abc,所以 DBA 做了很多事情,包括刪除伺服器名和向 TCPIP 添加條目,現在我們有了 abc!

現在,我來創建一個發布者。從配置分發器開始,它失敗了。我收到消息稱 abc 無法配置為分發伺服器,因為它無法連接到 abc/xyz(舊伺服器名稱),因為“distributor_admin”未定義為伺服器上的遠端登錄。

如果我選擇@@servername,答案是abc。如果我執行 sp_helpserver,我會看到已為 repl_distributor 創建了一個linkedserver 到 abc/xyx(舊伺服器)。

我嘗試編輯 repl_distributor 以指向實際的伺服器,但到目前為止,沒有成功。

有任何想法嗎?我完全被困住了。

“abc”將是一個預設實例,其中“abc”是實際的伺服器名稱。聽起來您創建了一個命名實例,其中 /xyz 是實例的名稱。這允許您在同一台伺服器上擁有多個 SQL Server 實例。刪除實例的唯一方法是解除安裝 SQL Server,然後使用您想要的名稱重新安裝。

所以,這個問題有點複雜。

首先,為了只查看實例名稱的 abc 部分,我們將 tcp/ip 設置為使用預設埠 1433。伺服器不會被命名為 abc\xyz,但它也使 abc 解析為它。

第二部分更難。在設置伺服器時,我們嘗試刪除伺服器,並將其從 abc\xyz 重命名為 abc。因此,當我們嘗試設置複製時,它稱為 abc,儘管 abc 作為別名工作。真名還是abc\xyz。我不得不將數據庫從 abc 重命名為 abc\xyz,登錄到 abc\xyz 然後成功了。

多謝你們!

引用自:https://dba.stackexchange.com/questions/132584