若Publisher跟Subscriber在同一個網絡,相方都可以用電腦名稱或Instance Name去連接 (e.g. SQLPC\SQLSERVER)。
但若果任何一方是在遠極端(Remote),當你一如正常使用IP做伺服器位置時,SQL Server便會出現錯誤訊息。
Sql Server replication requires the actual server name to make a connection to the server. Connections through a server alias, IP address or any other alternate name are not supported. specify the actual server name
正如訊息所說,設定Replication連接必須要電腦實名。
以我的情況為例,SYSERP這部Publisher電腦IP是10.128.88.5,Dynamic Port : 49304
但怎樣設定才能令本機電腦(Subscriber)知道SYSERP的IP是10.128.88.5呢?
修改電腦System中的Host檔案?
若你第一時間上Google Search,其中一個解決方法是叫你修改SQL SERVERNAME。
例如 :
因為SQL Server不會自動去更新本機名稱,所以使用這個方法,只有因曾經人手修改電腦名稱。
我個人建議不要使用這種做法。
最安全和無風險的做法就是隱藏在SQL Server Configuration Manager,平時最不起眼的Aliases
Aliases就是讓你設定別名,以IP對行Mapping。
以下圖為例,就可以把SYSERP主機換算成10.128.88.5:49304。
之後返回設定Subscriber時,輸入"SYSERP\SQLEXPRESS"就可以了。
若反來是Publisher連不到Subscriber,亦可以照著這方法去做。
沒有留言:
發佈留言