使用連結伺服器從 Amazon EC2 上的 Microsoft SQL 伺服器存取現場部署 Microsoft SQL 伺服器表 - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用連結伺服器從 Amazon EC2 上的 Microsoft SQL 伺服器存取現場部署 Microsoft SQL 伺服器表

創建者:蒂魯馬拉·達薩里(AWS)和愛德華多·瓦倫丁(AWS)

環境:PoC 或試點

技術:資料庫

工作量:Microsoft

Summary

此模式描述如何從運行或託管在 Amazon 彈性計算雲(亞馬遜 EC2)視窗或 Linux 實例通過使用鏈接的服務器上運行的 Microsoft SQL Server 數據庫訪問在 Microsoft 視窗上運行的現場部署 Microsoft SQL Server 數據庫表。

先決條件和限制

先決條件

  • 有效的 AWS 帳戶

  • Amazon EC2 與 Microsoft SQL 服務器在 Amazon Linux AMI 上運行(Amazon 機器映像)

  • AWS 在現場部署 Microsoft SQL 伺服器 (視窗) 伺服器與視窗或 Linux EC2 執行個體之間直接連接

產品版本

  • SQL 伺服器 2016 年或更新版本

架構

源, 技術, 堆棧

  • 在視窗上執行的內部部署 Microsoft SQL 伺服器

  • Amazon EC2 與 Microsoft SQL 服務器在視窗 AMI 或 Linux AMI 上運行

目標技術堆疊

  • Amazon EC2 與 Microsoft SQL 服務器在 Amazon Linux AMI 上運行

  • Amazon EC2 與 Microsoft SQL 服務器在視窗 AMI 上運行

來源與目標資料庫架構

工具

史诗

任務描述所需技能

透過 SSMS Connect 到視窗 SQL 伺服器。

DBA

從 Windows SQL Server 執行個體的內容 (按一下滑鼠右鍵) 功能表,將驗證模式變更為 SQL Server 中的視窗。

DBA
任務描述所需技能

重新啟動 SQL 服務。

  1. 在「SSMS 物件總管」中,選擇 SQL 伺服器執行個體。

  2. 開啟上下文 (按一下右鍵) 功能表。

  3. 選擇重新啟動

DBA
任務描述所需技能

在「安全性」標籤中,開啟「登入」的內容 (按一下滑鼠右鍵) 功能表,然後選取新的登入。

DBA

在 [一般] 索引標籤中,選擇 [SQL Server 驗證]、輸入使用者名稱、輸入密碼,然後確認密碼並清除下次登入時變更密碼的選項。

DBA

在伺服器角色索引標籤中,選擇公用。

DBA

在 [使用者對應] 索引標籤中,選擇要存取的資料庫和結構描述,然後反白顯示資料庫以選取資料庫角色。

選取公用和 db_datareader 以存取資料庫表格中的資料。

DBA

選擇「確定」以建立使用者。

DBA
任務描述所需技能

透過終端機視窗 Connect 到 Linux SQL 伺服器方塊。

DBA

開啟 /etc/主機檔案,並使用 SQL 伺服器新增視窗機器的 IP 位址。

DBA

儲存主機檔案。

DBA
任務描述所需技能

通過使用存儲過程主服務器和主. dbo.sp_addlinkedsrvlogin 創建一個鏈接的服務器。

如需有關使用這些預存程序的詳細資訊,請參閱其他資訊一節。

DBA, 開發人員
任務描述所需技能

在 SSMS 中的 SQL 伺服器中,移至連結伺服器並重新整理。

DBA

展開左窗格中建立的連結伺服器和目錄。

您會看到選取的 SQL Server 資料庫與資料表和檢視表。

DBA
任務描述所需技能

在 SSMS 查詢視窗中,執行以下查詢:「從 [方塊中選取前 3 名 *。

請注意,FROM 子句使用一個四部分的語法:計算機。數據庫(例如,選擇名稱「SQL2 數據庫」從 [SQL2]. 在我們的例子中,我們在 hosts 文件中創建了 SQL2 的別名,因此您不需要在方括號之間輸入實際的 NetBIOS 名稱。如果您確實使用了實際的 NetBIOS 名稱,請注意 AWS 預設使用 NetBIOS 名稱,例如贏-xxxx,而 SQL 伺服器則需要使用方括號來表示具有破折號的名稱。

DBA, 開發人員

相關資源

 

其他資訊

使用預存程序建立連結伺服器

SSMS 不支援為 Linux SQL Server 建立連結伺服器,因此您必須使用這些預存程序來建立它們:

EXEC master.sys.sp_addlinkedserver @server= N'SQLLIN' , @srvproduct= N'SQL Server'     EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'SQLLIN',@useself=N'False',@locallogin=NULL,@rmtuser=N'username',@rmtpassword='Test123$'

附註 1:在預存程序中輸入您先前在 Windows SQL 伺服器中建立的登入憑證master.dbo.sp_addlinkedsrvlogin

注意 2:@server名稱SQLLIN和主機文件條目名稱172.12.12.4 SQLLIN應相同。

您可以使用此程序建立下列案例的連結伺服器:

  • Linux SQL 伺服器到視窗 SQL 伺服器透過連結伺服器 (如此模式中所指定)

  • 視窗 SQL 服務器到 Linux SQL 服務器通過鏈接的服務器

  • Linux SQL 服務器通過鏈接服務器到另一個 Linux SQL 服務器