最近,我有相同的連接問題AWS/SQL Server中,我終於有了它解決。
在AWS上連接到SQL Server遠程涉及3個主要因素: AWS - > Windows安全 - > SQL Server設置/安全。
連接很容易失敗,因爲每個區域都有具體的要求。我會去通過檢查清單:
AWS:
在AWS管理控制檯,轉到安全組,單擊適用於Windows服務器的組中,確保MS SQL TCP端口1433是開放的0.0.0.0或指定的客戶端IP。如果沒有,你需要添加它。
注意您的服務器的公網IP
WINDOWS:
- RDP到亞馬遜的Windows服務器,開始>管理工具 - >本地安全策略
- 點擊Windows防火牆的高級安全Windows防火牆屬性,點擊「公開信息」選項卡,設置防火牆狀態設置爲「ON」,入站到座,出站,以允許(或塊取決於您的應用程序)。好。
- 展開Windows防火牆(左窗格),R-單擊入站規則,單擊新建規則。
- 點擊端口選項,下一步>,爲TCP,進入1433下一頁>,允許連接,下一步>,下一步>,給它一個名字(SQL-PORT-ACCESS)
SQL-SERVER:
使用默認的Windows身份驗證
- 登錄到SQL Server SSMS(SQL Server Management Studio中)。
- 在左窗格中,R-單擊頂部的服務器列表(與數據庫圖標,第一個上市),並選擇「屬性」
- 屬性窗口,單擊左側窗格中的安全性,選擇「SQL服務器和Windows身份驗證「
- 單擊連接,檢查」允許遠程連接「選項...單擊確定。
- 打開SQL配置管理器,開始>程序> Microsoft SQL Server>配置工具> SQL Server配置管理器
- SQL Server網絡配置(展開),選擇MSSQL協議,R-Click TCP,選擇屬性(TCP應該啓用)
- 單擊IP地址選項卡,檢查IP1已啓用,動態端口爲0,TCP端口爲1433
- 一直向下滾動到IPAll部分,在TCP動態端口中輸入0,在TCP端口中輸入1433 。確定...
- 回到左側窗格,單擊SQL Server Services,R - 單擊SQL Server選項並選擇「重新啓動」。 (注:SQL服務器瀏覽器不影響連接,瀏覽器服務僅列出可用的服務器,與您的特定連接PARMS,無需啓動或擔心瀏覽器)
測試: 你沒去到您的遠程客戶端進行測試,首先嚐試從服務器上的同一個SSMS窗口進行連接。這可以減少所有其他可能首先出錯的事情,如果可以在這裏連接,則可以確認它可以正常工作。如果它不能從您自己的服務器上運行,則這些問題與Windows安全性和SQL安全性和設置有關。
- 在對象資源管理器(SQL Server Management Studio中),點擊 「連接」>數據庫引擎...
- 在服務器名稱:,請輸入您的公網IP,一個逗號,然後
1433
。例如,如果您的公共IP爲54.4.4.4
,請輸入54.4.4.4,1433
,
- 選擇身份驗證爲「SQL Server」,輸入登錄用戶名和密碼。
- 如果您使用「sa」,請記得更改密碼。
- 如果您的連接在本地工作,那麼您可以嘗試遠程客戶端連接。
- 此時您知道您的SQL服務器和用戶設置是正確的。
接下來,嘗試在另一臺計算機上使用SSMS。如果失敗了,可能防火牆需要第二個外觀...
理解問題的好地方,是可以從SSMS輕鬆訪問的SQL日誌,在左窗格中展開管理,然後SQL Server日誌,當前日誌將列出任何問題。
所以,這些都是涉及的所有部分 - 錯過一個,你會感到沮喪,但從測試時減少片斷開始。
我是能夠連接到我從一個Windows設備AWS的Windows Server/SQL Express數據庫...
祝您好運!
您的端口是否打開?你能連接到在EC2實例上運行的任何服務嗎? – Blender
如何檢查這些東西?對不起,我對此有點小白。 –
你能看到你的數據庫在VS的服務器瀏覽器中的「數據連接」嗎?通常情況下,連接字符串中可能會有一個小的細節。 – EFeit