萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mssql數據庫 >> SQL Server遠程連接出錯的解決方法

SQL Server遠程連接出錯的解決方法

  SQL Server遠程連接出錯?不要緊,下面就為您分析SQL Server遠程連接出錯的原因,並給出解決問題的方法,希望對您學習SQL Server遠程連接方面能有所幫助.

  在進行sqlserver復制的時候,我的情況是這樣的,我在本地的management studio裡連接了一個遠程的sqlserver數據庫服務器,用的不是默認端口號,也沒有開browser服務,而且是命名實例,非默認實例,所以連接的服務器名得用abcabcserver,port這樣的模式來連,然後配置它的復制分發(包括新建發布等等跟復制有關的操作),程序會報這樣兩個錯誤信息:

  SQL Server無法連接到服務器“abcabcserver,1369”. (配置分發向導)

  SQL Server復制需要有實際的服務器名稱才能連接到服務器.不支持通過服務器別名、IP 地址或任何其他備用名稱進行連接.請指定實際的服務器名稱“abcabcserver”. (Replication.Utilities)

  說實話具體的原因我也搞的很暈,覺得莫名其妙的,但導致出錯的原因就在這個使用management studio進行連接到服務器的時候填寫的服務器名稱上.因為用的是非默認的端口,所以遠程連的時候,要在後面寫上“,端口號”才能連上,但是在進行配置分發的時候,它進行連接用的就是這個abcabcserver,1369名稱,可是在配置分發的時候用這個連接,sqlserver卻報連接不上.

  如果要連接成功就必須得用abcabcserver這個服務器名稱才可以(我在abcabcserver本地也做了測試,只有用這個名稱進行連接後配置才不會報這個錯,即使在本地,用其他的方式連也都會報錯).而且sqlserver的錯誤提示裡還說了不支持通過服務器別名來進行連接,可這問題還就是能用別名來解決.

  解決原理,既然sqlserver只能用連接服務器的時候使用的那個服務器名稱來連接,那就只有在連接到sqlserver的時候填寫的服務器名稱用它要求的那個標准的abcabcserver的模式來寫.

  具體解決辦法:那像這種使用非默認端口又沒有開browser服務的情況,只有用別名來解決問題,在sqlserver 配置管理器裡,配置一個不帶端口號的abcabcserver這種模式的別名,別名名稱用的就是需要連接的服務器sqlserver實列名來命名,然後在裡面配上端口號,這樣在連接到sqlserver的時候,使用這個別名(其實也就是少了,端口號)來連接上sqlserver,然後進行配置的時候就不會報錯.

  當然,你要是能調整要連接的sqlserver服務器也行,打開它的browser服務,這樣在遠程連的時候也不需要寫端口號了就,總之要不報這個錯,在連接的時候用的服務器名稱就只能是服務器服務實例名(如果有的話),其他的服務器名稱方式一概不行.

copyright © 萬盛學電腦網 all rights reserved