在我們使用SQL Server數據庫的時候很重要的一點就是開啟數據庫的遠程連接,這是因為很多時候數據庫部署在遠程的服務器上會比較方便,而部署在客戶端的話,由於客戶端不固定,所以需要經常去部署,這樣容易經常去改變數據庫,從而造成系統不穩定,但是部署在服務器上我們需要遠程連接,而當我們安裝好一個數據庫之后,默認是不開啟數據庫遠程連接的,那么該怎樣一步步去打開遠程數據庫的連接呢?也參考了很多網上的文章,但是還是想針對自己的情況來思考做些相應的記錄。
默認安裝數據庫的時候我們會選擇使用"Windows和SQL Server混合登錄默認",這樣我們就可以使用多個賬戶進行登錄了,這樣還有個好處就是萬一我們忘記了登錄密碼我們還可以使用Windows賬戶登錄,然后修改密碼,從而完成登錄過程。
下面就按照常規的思路來一步步進行說明。
1 打開SQL Server Management Studio,然后使用sa賬戶進行登錄。
圖1 連接數據庫
2 登錄成功后,選擇數據庫連接,然后右鍵"屬性"
圖2 選擇數據庫連接屬性
3 選擇連接,查看是否允許遠程連接到此服務器。
圖3 連接
4 選擇 安全性--》sa--》屬性
圖4 設置sa屬性
5 查看sa狀態
圖5 sa狀態
6 設置方面--》服務器配置--》RemoteAccessEnabled
圖6 方面
圖7 服務器配置
7 打開SQL SERVER 配置管理器(在開始目錄Microsoft SQL Server2012--》配置工具中查找)
圖8 SQL Server配置管理器
8 啟用TCP/IP連接
圖9 啟動 TCP/IP連接
9 配置SQL Server 服務,確保SQL Server服務和SQL Server Browser服務都處於運行狀態。此處需要特別說明,如果在當前的Sql Server Configuration Manager中無法通過右鍵無法啟動的話,請打開本機的Windows服務在那里找到這兩個服務,並將其啟動類型由“禁用”改為“自動”,然后再開啟這兩個服務,關於這兩個服務,下面再做進一步的說明。
圖10 開啟相關服務
圖11 在Windows服務中開啟相關服務
拓展延伸:SQL Server(SQLEXPRESS)服務這里就不再說明,這個是當前數據庫實例SQLEXPRESS對應的服務,不開啟的話是無法使用當前數據庫的,另外一個服務這里做一些簡要的說明。
SQL Server Broswer服務:查看MSDN后可以得出下面的結論,當 SQL Server Browser 服務不運行時,如果您提供了正確的端口號或命名管道,仍可以連接到 SQL Server。例如,如果 SQL Server 的默認實例在 1433 端口上運行,則可以使用 TCP/IP 連接到此默認實例。但是,如果 SQL Server Browser 服務未運行,則以下連接無效:
在未完全指定所有參數(例如 TCP/IP 端口或命名管道)的情況下,組件嘗試連接到命名實例。
生成或傳遞其他組件隨后要用來進行重新連接的服務器/實例信息的組件。
未提供端口號或管道就連接到命名實例。
在未使用 TCP/IP 1433 端口的情況下,將 DAC 連接到命名實例或默認實例。
OLAP 重定向程序服務。
枚舉 SQL Server Management Studio、企業管理器或查詢分析器中的服務器。
如果在客戶端服務器方案中使用 SQL Server(例如,應用程序通過網絡訪問 SQL Server),那么,若要停止或禁用 SQL Server Browser 服務,必須為每個實例分配一個特定端口號,並編寫客戶端應用程序代碼以便始終使用該端口號。此方法存在如下問題:
必須更新和維護客戶端應用程序代碼才能確保它連接到正確的端口。
如果服務器上的其他服務或應用程序可以使用您為每個實例選擇的端口,則會導致 SQL Server 實例不可用。
通過閱讀上面的解釋,如果不啟用SQL Server Broswer服務,然后客戶端管理工具不能通過遠程連接到當前數據庫實例的時候,那么有可能是為指定TCP/IP的端口或者命名管道,那么我們可以做一下這樣的嘗試,通過大量的實踐得出下面的結論。
1 要想通過IP地址+數據庫命名實例作為服務器地址,然后通過sa賬戶進行登錄時,必須保證一下服務開啟。
SQL Server(SQLEXPRESS)服務+ SQL Server Broswer服務+TCP/IP或者Name Pipes協議(這些都是在SQL Server配置管理器中去配置)另外每次做出修改時必須要重啟SQL Server服務然后才能生效。
圖12 通過遠程連接數據庫