SQL server 2012 1326錯誤

mssqlserver無法遠程數據庫Error: 1326錯誤解決方法

在一次使用並配置mssql 2012 的時候創建好遠程(代碼)連接賬戶發現始終無法連接。並一直報error 1326 錯誤。根據網上的許多方法依然無法解決。在排查的過程中配置防火牆規則的時候想到Windows程序端口在CMD命令行下應該怎麼看呢。根據這個思路之後查找到SQL server端口有點問題。


wKioL1bn4Qjyx29WAABuAauVlzA782.png

更改圖片中動態端口,並確定即可成功。(目的固定特定的訪問端口)

如果還是連接不上,可參考網上其他辦法

第一步:確保服務器端數據庫服務已經啓動
  開始->所有程序->Microsoft SQL Server 2008->Configutation Tools,打開SQL Server Configuration Manager,點擊SQL Server Services,查看數據庫服務是否已經啓動,如果服務未開啓,手動啓動它。當然,你還可以通過點擊Windows中的開始->控制面板->管理者工具->服務,來查看相應的數據庫服務是否啓動。或者如果服務器和你的機器在同一網絡,你還可以通過命令“sqlcmd -L”(注意L要大寫)去查看該網絡內所有可用的SQL Server服務器。

第二步:在SQL Server Configuration中啓用TCP/IP
  多個SQL Server服務器之間通過網絡相互通信是需要TCP/IP支持的,爲使SQL Server服務器能被遠程連接必須確保TCP/IP已經啓用。按照前面介紹的步驟打開SQL Server Configuration Manager,然後打開SQL Server Network Configuration,選擇你要設置的數據庫,然後點擊TCP/IP,右鍵啓用。如果有必要,你還可以啓用Named Pipes。記住,所有的修改都必須在重啓SQL Server服務之後才能生效!

第三步:在Windows防火牆中打開SQL Server的端口號
  很多時候我們在對數據庫服務器本身做了很多次設置後仍然無法成功建立遠程連接,這時就要考慮是否是防火牆在作怪。默認情況下,許多端口號和服務都會被防火牆所禁止而不能遠程訪問或執行,SQL Server默認的端口號也不例外。我們應該重新設置Windows防火牆給SQL Server添加例外。除非人爲修改,默認情況下SQL Server的端口號是1433,將該端口號添加到Windows防火牆中。如果SQL Server存在命名實例,那麼也應該將SQL Server browser添加到Windows防火牆中。(有關SQL Server的命名實例將在後面介紹)
  打開Windows控制面板,選擇Windows防火牆->Change Settings->Exceptions->Add Port

點擊Add port...在彈出的對話框中填入:
  Name: SQL
  Port Number: 1433
  Protocol: Select TCP

第四步:在SQL Server管理器中啓用遠程連接
  這一步通常會被數據庫管理員忽略,如果未啓用數據庫遠程連接,數據庫實例只允許在本地進行連接而不能被遠程連接,啓用遠程連接同樣非常重要。默認設置中遠程連接是被禁止的。如下圖,打開SQL Server Management Studio,右鍵點擊數據庫實例然後選擇屬性菜單。

在打開的窗口中,左側選擇Connections,然後勾選"Allow remote connections to this server"。

第五步:啓用SQL Server Browser服務
  如果SQL Server在安裝時不是用的默認實例名而是自定義的實例名,並且沒有配置特定的TCP/IP端口號,那麼按照我們前面的描述SQL Server仍然不能支持遠程連接。但如果你啓用的SQL Server Browser服務,便可以通過動態TCP/IP端口號進行遠程SQL Server連接。啓用SQL Server Browser服務非常簡單,與啓用SQL Server類似,在SQL Server Configuration Manager中右鍵點擊SQL Server Browser,然後選擇啓用。啓用該服務將會影響到服務器上所有已安裝的SQL Server實例。

第六步:在防火牆中爲sqlbrowser.exe應用程序創建例外

  我們在前面已經提到了,自定義命名的SQL Server實例要支持遠程連接需要啓用sqlbrowser服務,Windows防火牆可能會阻止該服務執行。因此,我們必須在Windows防火牆中給sqlbrowser服務添加例外。
  首先找到服務器上安裝sqlbrowser.exe程序的路徑,如C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe。如果不確定SQL Server安裝在什麼地方,你可以在Windows搜索一下文件名。與我們在前面介紹的在防火牆中添加SQL TCP/IP端口號的方法類似,給sqlbrowser.exe應用程序添加防火牆例外。

最後:重新創建數據庫別名
  創建SQL Server別名並在應用程序中使用它很常見。使用數據庫別名可以確保一旦數據庫的位置發生了變化,如更換了新的服務器,IP地址發生了變化等,應用程序中的數據庫連接字符串不用修改。否則你更換了數據庫的位置,你還要通知所有使用該數據庫的應用程序修改源代碼或配置文件中的連接字符串,這恐怕是不可能的。所以,使用數據庫別名來配置連接字符串是一個非常明智的選擇。另外,你還可以使用相同的別名來指向不同的數據庫實例,當修改別名參數時,可以馬上實現數據庫之間的切換。創建數據庫別名非常簡單,在SQL Server Configuration Manager中選擇Aliases進行創建。 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章