3

我正在將SQL 2008 R2數據庫複製到SQL 2016數據庫。SQL Server複製本地訂閱屬性返回「不能將值'null'應用於屬性ServerInstance:值不能爲空。」

當我使用SSMS連接到SQL 2016數據庫,並在對象資源管理器 選擇複製型>本地訂閱 - > MySubscription然後右鍵單擊並選擇屬性我得到的錯誤「無法適用價值‘空’財產ServerInstance :值不能爲空。「

這是什麼意思,我該如何解決?我使用在兩個系統上都是系統管理員的Windows域用戶登錄。

+0

我有同樣的問題對SQL 2016> SQL 2016的設置。 – Mike

回答

-1

從這個Connect item,解決方法似乎是..

1.新增用戶爲上的Windows中
2.Run SSMS以管理員本地管理員..

+0

我加入了相關的部分從鏈接,我不知道,爲什麼這是downvoted – TheGameiswar

0

我有同樣的問題,我的複製發佈者和分發者在SQL Server 2014上,我的訂閱者是SQL Server 2016.當我嘗試使用SSMS 2016時,我遇到了同樣的問題,但是當我使用SSMS 2014時,一切正常,所以這很可能是因爲版本的SSMS。嘗試使用發佈者(源)正在使用的SSMS版本。

0

當所有服務器都在相同版本的SQL上時,我遇到了此問題。我在某處讀到,如果分發者和發佈者(以及訂閱者取決於複製的類型)之間存在多於三個的SQL版本,複製將無法工作,但我通過對數據庫使用較低的兼容級別來解決此問題。

在我當前的設置中,一切都是SQL 2016.我遇到了同樣的問題,並通過爲訂閱服務器上的分發服務器和發佈服務器創建鏈接服務器來解決此問題。這些應該在設置過程中創建,所以我不確定它們爲什麼不是。

從分銷商我編寫了鏈接的服務器repl_distributor和發佈服務器的鏈接服務器,然後在訂閱服務器上運行這些腳本。然後解決了這個問題。

我希望這也適用於你(雖然你的問題在很久以前,所以你現在可能已經好了!)。

2

啓動SQL 2016,已引入更改以支持Tran Replication的內存優化訂戶。 SSMS中的這個錯誤是對這種變化的迴歸。

在訂閱屬性窗體中,添加了一個新條目以顯示它是否是內存優化訂閱。此信息是從分銷商服務器獲取的。

因此,對於推送訂閱,如果訂閱者爲SQL 2016或更高版本,如果嘗試查看訂閱服務器的訂閱屬性,則分發服務器將返回爲NULL,因爲它無法訪問/連接到分發服務器服務器。這就是你得到這個錯誤的原因。

在解決此問題之前,您可以從發佈者一側查看訂閱屬性。

+0

嗨@Madhan,你能提供一個鏈接到有關此錯誤的任何文件?謝謝:) – Mike

+0

雖然微軟證實這沒有正式文件,我們最近想通了這個bug,而測試的另一個改進SSMS。 –

0

檢查鏈接的服務器「服務器選項」選項卡。在這裏您可以指定經銷商,發佈商和訂閱者。確保在適當的情況下將這些設置爲真。如果這些選項都設置爲false,就像我使用所有SQL 2016的情況那樣,您可能會因爲無法連接到分發服務器而出現此錯誤。

0

按照change log的SSMS 17.4(發佈2017年12月14日),該錯誤已得到修復對於請求訂閱。