Azure SQL 資料庫與 Azure SQL 受控執行個體連線及查詢的文章
適用於: Azure SQL 資料庫 Azure SQL 受控執行個體
以下文件包含的連結,可引導您進入 Azure 範例,了解如何連線至 Azure SQL Database 及 Azure SQL 受控執行個體,及進行查詢。 如需傳輸層安全性的相關建議,請參閱資料庫連線的 TLS 考量 (英文)。
觀看 Azure SQL 資料庫基本概念系列中的這段影片,獲得簡短的連線和查詢概觀:
快速入門
快速入門 | 描述 |
---|---|
SQL Server Management Studio | 此快速入門示範如何使用 SSMS 連線至資料庫,然後使用 Transact-SQL 陳述式來查詢、插入、更新及刪除資料庫中的資料。 |
Azure Data Studio | 此快速入門示範如何使用 Azure Data Studio 連線至資料庫,然後使用 Transact-SQL (T-SQL) 陳述式來建立 Azure Data Studio 教學課程中所使用的 TutorialDB 。 |
Azure 入口網站 | 此快速入門會示範如何使用查詢編輯器連線至資料庫 (僅限 Azure SQL 資料庫),然後使用 Transact-SQL 陳述式來查詢、插入、更新及刪除資料庫中的資料。 |
Visual Studio Code | 此快速入門示範如何使用 Visual Studio Code 連線至資料庫,然後使用 Transact-SQL 陳述式來查詢、插入、更新及刪除資料庫中的資料。 |
.NET 搭配 Visual Studio | 此快速入門示範如何搭配使用 .NET Framework 與 Visual Studio 來建立 C# 程式,以連線至資料庫,並使用 Transact-SQL 陳述式查詢資料。 |
.NET Core | 此快速入門示範如何在 Windows/Linux/macOS 上使用 .NET Core 來建立 C# 程式,以連線至資料庫,並使用 Transact-SQL 陳述式查詢資料。 |
Go | 此快速入門示範如何使用「移至連接」進入資料庫。 也會示範用以查詢及修改資料的 TRANSACT-SQL 陳述式。 |
Java | 此快速入門示範如何使用 JAVA 連線至資料庫,然後使用 Transact-SQL 陳述式查詢資料。 |
Node.js | 此快速入門示範如何使用 Node.js 建立程式,以連線至資料庫,並使用 Transact-SQL 陳述式查詢資料。 |
PHP | 此快速入門示範如何使用 PHP 建立程式,以連線至資料庫,並使用 Transact-SQL 陳述式查詢資料。 |
Python | 此快速入門示範如何使用 Python 連線至資料庫,並使用 Transact-SQL 陳述式查詢資料。 |
Ruby | 此快速入門示範如何使用 Ruby 建立程式,以連線至資料庫,並使用 Transact-SQL 陳述式查詢資料。 |
取得伺服器連線資訊
取得連線到 Azure SQL 資料庫資料庫所需的連線資訊。 在後續程序中,您將需要完整的伺服器名稱或主機名稱、資料庫名稱和登入資訊。
登入 Azure 入口網站。
瀏覽至 [SQL 資料庫] 或 [SQL 受控執行個體] 頁面。
在 [概觀] 頁面上,若是 Azure SQL 資料庫中的資料庫,則檢閱 [伺服器名稱] 旁的完整伺服器名稱;若是 Azure SQL 受控執行個體或 Azure VM 上的 SQL Server,則檢閱 [主機] 旁的完整伺服器名稱 (或 IP 位址)。 若要複製伺服器名稱或主機名稱,請將滑鼠暫留在其上方,然後選取 [複製] 圖示。
注意
如需 Azure VM 上的 SQL Server 連線資訊,請參閱連線到 SQL Server 執行個體。
取得 ADO.NET 連線資訊 (選擇性 - 僅限 SQL Database)
瀏覽至 Azure 入口網站中的資料庫窗格,然後在 [設定] 下選取 [連接字串]。
檢閱完整 ADO.NET 連接字串。
視需要複製 ADO.NET 連接字串。
資料庫連線的 TLS 考量
Microsoft 針對連線至 Azure SQL 資料庫資料庫或 Azure SQL 受控執行個體所提供或支援的所有驅動程式,都使用傳輸層安全性 (TLS)。 不需要特別設定。 對於 SQL Server 執行個體、Azure SQL 資料庫資料庫或 Azure SQL 受控執行個體之執行個體的所有連線,都建議為所有應用程式設定下列組態或功能相同的設定:
- Encrypt = 開啟
- TrustServerCertificate = 關閉
某些系統會對這些組態關鍵字使用不同但對等的關鍵字。 這些組態可確保用戶端驅動程式會驗證從伺服器接收的 TLS 憑證的身分識別。
如果您需要符合支付卡產業 - 資料安全性標準 (PCI-DSS),我們也建議在用戶端上停用 TLS 1.1 和 1.0。
根據預設,非 Microsoft 驅動程式可能不會使用 TLS。 這可能是連線至 Azure SQL 資料庫或 Azure SQL 受控執行個體時的一項因素。 具有內嵌驅動程式的應用程式可能無法讓您控制這些連線設定。 我們建議您在與敏感性資料互動的系統上使用這類驅動程式和應用程式之前,先檢查它們的安全性。
程式庫
您可以使用各種程式庫和架構,連線到 Azure SQL 資料庫或 Azure SQL 受控執行個體。 然後,可以在 Linux 或 Windows 上使用 SQL Server,或者在 Linux 上使用 SQL Server 容器建置應用程式。
下表列出連線程式庫或驅動程式,用戶端應用程式可以用來從各種不同的語言連線到內部部署或雲端上執行之 SQL Server 並使用。 您可以在 Linux、Windows 或容器中使用,並用於連線到 Azure SQL 資料庫、Azure SQL 受控執行個體及 Azure Synapse Analytics。
Language | 平台 | 其他資源 | 下載 | 開始使用 |
---|---|---|---|---|
C# | Windows、Linux、macOS | Microsoft ADO.NET for SQL Server | 下載 | |
C++ | Windows、Linux、macOS | Microsoft ODBC driver for SQL Server | 下載 | |
Go | Windows、Linux、macOS | 適用於 SQL Server 的 Microsoft ODBC 驅動程式 | 安裝 | 開始使用 |
Java | Windows、Linux、macOS | Microsoft JDBC Driver for SQL Server | 下載 | |
Node.js | Windows、Linux、macOS | Node.js Driver for SQL Server | 安裝 | |
PHP | Windows、Linux、macOS | PHP SQL Driver for SQL Server | 下載 | |
Python | Windows、Linux、macOS | Python SQL 驅動程式 | 安裝選項: * pymssql * pyodbc |
|
Ruby | Windows、Linux、macOS | Ruby Driver for SQL Server | 安裝 |
資料存取架構
下表列出物件關聯式對應 (ORM) 架構和 Web 架構的範例,用戶端應用程式可搭配 SQL Server、Azure SQL 資料庫、Azure SQL 受控執行個體及 Azure Synapse Analytics 使用。 您可以在 Linux、Windows 或容器中使用這些架構。
Language | 平台 | ORM |
---|---|---|
C# | Windows、Linux、macOS | Entity Framework Entity Framework Core |
Go | Windows、Linux、macOS | GORM |
Java | Windows、Linux、macOS | Hibernate ORM |
Node.js | Windows、Linux、macOS | Sequelize ORM |
PHP | Windows、Linux、macOS | Laravel (Eloquent) Doctrine |
Python | Windows、Linux、macOS | Django |
Ruby | Windows、Linux、macOS | Ruby on Rails |
後續步驟
- 如需連線架構資訊,請參閱 Azure SQL 資料庫連線架構。
- 尋找 SQL Server 驅動程式,用於從用戶端應用程式進行連線。
- 連線到 Azure SQL 資料庫或 Azure SQL 受控執行個體:
- 使用 .NET (C#) 進行連線和查詢
- 使用 Go 連線和查詢
- 使用 JAVA 進行連線和查詢
- 使用 Node.js 進行連線和查詢
- 使用 PHP 進行連線和查詢
- 使用 Python 進行連線和查詢
- 使用 Ruby 進行連線和查詢
- 在 Linux 上安裝 sqlcmd 和 bcp (SQL Server 命令列工具) - 若為 Linux 使用者,嘗試使用 sqlcmd 連線至 Azure SQL 資料庫或 Azure SQL 受控執行個體。
- 重試邏輯程式碼範例: