試用版本 SQL Server 2005/2008/2012(含 Express 版)為例。
預設 SQL Server(含 Express)安裝後採 Windows 驗證模式,要使用 SQL Server 帳戶登入,必須先將驗證模式改為混合模式。
假設您在安裝的過程當中錯過了設定驗證模式(如下圖)。
您可以從【物件總管 > 伺服器 > 滑鼠右鍵 > 屬性】開啟 SQL Server 屬性視窗,點選【安全性】頁籤,將驗證模式設定為【SQL Server 及 Windows驗證模式(S)】後重新啟動 SQL Server 服務(如下圖)。
或是執行下列的 T-SQL 來設定混合驗證。
1: USE [master]
2: GO
3: EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE'
4: , N'Software\Microsoft\MSSQLServer\MSSQLServer'
5: , N'LoginMode', REG_DWORD, 2
6: GO
▋為何已經改成混合模式,仍無法使用 sa 登入 SQL Server?
sa 是 SQL Server 的特殊帳戶,其擁有 SQL Server 中完整的權限,因此在 SQL Server 安裝後預設停用該帳戶(如下圖)。
建議您在啟用 sa 帳戶時先將密碼設定為強式密碼,接著依照下列步驟來啟用 sa 帳戶:
1: USE [master]
2: GO
3:
4: ALTER LOGIN [sa] WITH PASSWORD=N'P@ssw0rd'
5: GO
6:
7: ALTER LOGIN [sa] ENABLE
8: GO
1.在【物件總管 > 伺服器 > 安全性 > 登入 > sa > 滑鼠右鍵 > 屬性】開啟【登入屬性 - sa】視窗(如下圖)。
2.於 一般 頁籤中輸入 密碼 和 確認密碼。
3.點選 狀態 頁籤後設定 登入 為 已啟用。
4.或是您也可以利用下列 T-SQL 來啟用 sa 帳戶。
1: USE [master]
2: GO
3: ALTER LOGIN [sa] WITH PASSWORD=N'P@ssw0rd'
4: GO
5: ALTER LOGIN [sa] ENABLE
6: GO
啟用成功後您將會發現 sa 帳戶旁的向下箭頭消失,代表啟用成功。
▋為何只能從本機連接 SQL Server?
預設 SQL Server 的網路組態只啟用 Shared Memory(如下圖)。
要透過遠端連接 SQL Server,必須啟用 TCP/IP 通訊協定,以 SQL Server Express 為例,設定步驟如下:
1.開啟 SQL Server 組態管理員。
2.展開【 SQL Server 組態管理員(本機)> SQL Server 2005 網路組態 > CHIXM 的通訊協定 】於右側 TCP / IP 項目上按右鍵選擇啟用。
3.重新啟動 SQL Server 服務。
▋為何我的 SQL Server Express 已經啟用 TCP/IP 通訊協定,仍無法從遠端連接?
若您已經啟用 SQL Server Express 的 TCP/IP 通訊協定(如下圖)。
仍無法從遠端連接 SQL Server Express,由於預設 SQL Server Express 使用動態連接埠(如下圖)。
因此您在遠端嘗試利用下圖的方式來連接 SQL Server Express,由於未指定連接埠預設會嘗試連接 1433 PORT,而 SQL Server Express 預設又是動態連接埠(以上圖為例,使用 49277 PORT),因而造成無法順利連接。
解決方式有二,說明如下:
開啟 SQL Server 組態管理員。
1.啟動 SQL Server Browser:讓 SQL Server 來接聽所有具名執行個體已經相對應連接埠。
2.指定 SQL Server Express 使用 1433 PORT。
展開【SQL Server 組態管理員(本機)> SQL Server 網路組態 > SQLEXPRESS 的通訊協定 】於右側 TCP / IP 項目上按右鍵選擇內容。
切換至 IP 位址頁籤,將 TCP 動態通訊埠設為空白,表示停用 TCP 動態通訊埠,並設定 TCP 通訊埠設為 1433(下圖4處)。
重新啟動 SQL Server 服務。
接著您可以選擇使用下列任何一種方式連上 SQL Server EXPRESS。
▋如何只針對 SQL Server Database Engine 通過防火牆?
以 Windows 7 旗艦版 為例,預設只開放某些特定的通訊埠,當您安裝 SQL Server 後,即使啟用 TCP/IP 通訊協定,若仍無法由遠端連接,可以嘗試設定具有進階安全性的 Windows 防火牆,步驟如下:
開啟【控制台 > 進階設定 > 具有進階安全性的 Windows 防火牆】。
於【本機電腦上具有進階安全性的 Windows 防火牆 > 輸入規則 > 按滑鼠右鍵 > 新增規則】
於【新增輸入規則精靈】視窗中選擇【程式】後按下一步。
選擇【這個程式路徑】後按瀏覽來尋找 SQL Server 執行檔的路徑,依照預設 SQL Server 2005 路徑為【C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn\sqlservr.exe】,輸入完畢之後按下一步。
選擇【允許連線】後按下一步。
選擇套用規則到【網域、私人或公用位置】後按下一步。
輸入名稱後按完成。
▋如何使用非 SQL Server 預設的 1433 連接埠連接 SQL Server?
預設 SQL Server 預設執行個體透過 TCP 1433 PORT 來接受要求,若您為了安全性或其他原因想要改成其他 PORT ,可以依照下列步驟進行:
開啟 SQL Server 組態管理員。
展開【 SQL Server 組態管理員(本機)> SQL Server 網路組態 > MSSQLSERVER 的通訊協定 】於右側 TCP / IP 項目上按右鍵選擇【內容】,於【TCP/IP 內容】視窗中將【已啟用】改為【是】。
將 SQL Server 伺服器對外的 IP 位址(下圖以 IP2 為例),設定【TCP 動態通訊埠】為空白、【TCP 通訊埠】本文以設定 8080為例、【已啟用】設定為【是】。
重新啟動 SQL Server 服務後,您就可以使用下圖的方式連接 SQL Server。