SQL Server遠程連接出錯的解決方法
SQL Server遠程連接出錯?不要緊,下面就為您分析SQL Server遠程連接出錯的原因,并給出解決問題的方法,希望對您學習SQL Server遠程連接方面能有所幫助。
在進行sqlserver復制的時候,我的情況是這樣的,我在本地的management studio里連接了一個遠程的sqlserver數據庫服務器,用的不是默認端口號,也沒有開browser服務,而且是命名實例,非默認實例,所以連接的服務器名得用abc\abcserver,port這樣的模式來連,然后配置它的復制分發(包括新建發布等等跟復制有關的操作),程序會報這樣兩個錯誤信息:
SQL Server無法連接到服務器“abc\abcserver,1369”。 (配置分發向導)
SQL Server復制需要有實際的服務器名稱才能連接到服務器。不支持通過服務器別名、IP 地址或任何其他備用名稱進行連接。請指定實際的服務器名稱“abc\abcserver”。 (Replication.Utilities)
說實話具體的原因我也搞的很暈,覺得莫名其妙的,但導致出錯的原因就在這個使用management studio進行連接到服務器的時候填寫的服務器名稱上。因為用的是非默認的端口,所以遠程連的時候,要在后面寫上“,端口號”才能連上,但是在進行配置分發的時候,它進行連接用的就是這個abc\abcserver,1369名稱,可是在配置分發的時候用這個連接,sqlserver卻報連接不上。
如果要連接成功就必須得用abc\abcserver這個服務器名稱才可以(我在abc\abcserver本地也做了測試,只有用這個名稱進行連接后配置才不會報這個錯,即使在本地,用其他的方式連也都會報錯)。而且sqlserver的錯誤提示里還說了不支持通過服務器別名來進行連接,可這問題還就是能用別名來解決。
解決原理,既然sqlserver只能用連接服務器的時候使用的那個服務器名稱來連接,那就只有在連接到sqlserver的時候填寫的服務器名稱用它要求的那個標準的abc\abcserver的模式來寫。
具體解決辦法:那像這種使用非默認端口又沒有開browser服務的情況,只有用別名來解決問題,在sqlserver 配置管理器里,配置一個不帶端口號的abc\abcserver這種模式的別名,別名名稱用的就是需要連接的服務器\sqlserver實列名來命名,然后在里面配上端口號,這樣在連接到sqlserver的時候,使用這個別名(其實也就是少了,端口號)來連接上sqlserver,然后進行配置的時候就不會報錯。
當然,你要是能調整要連接的sqlserver服務器也行,打開它的browser服務,這樣在遠程連的時候也不需要寫端口號了就,總之要不報這個錯,在連接的時候用的服務器名稱就只能是服務器\服務實例名(如果有的話),其他的服務器名稱方式一概不行。
大概就是這樣吧。
【編輯推薦】