將連線新增到 Azure SQL Database

透過 Visual Studio,您可以使用 [連線服務] 功能,將下列任何一項連線到 Azure SQL Database:

  • .NET Framework 主控台應用程式
  • ASP.NET 模型-視圖-控制程式 (MVC) (.NET Framework)
  • ASP.NET Core
  • .NET Core (包括主控台應用程式、WPF、Windows Forms、類別庫)
  • .NET Core 背景工作角色
  • Azure Functions
  • 通用 Windows 平台應用程式
  • Xamarin
  • Cordova

已連接服務功能會將所有必要的參考和連接程式碼新增到您的專案中,並適當地修改組態檔。

注意

本主題適用於 Windows 上的 Visual Studio。 若是 Visual Studio for Mac,請參閱 Visual Studio for Mac 中已連線的服務

必要條件

使用連線服務來連線至 Azure SQL Database

  1. 在 Visual Studio 中,開啟您的專案。

  2. 在 [方案總管] 中,於 [已連線的服務] 節點上按一下滑鼠右鍵,然後從捷徑功能表中選取 [新增] 以開啟可用服務的功能表。

    Screenshot showing Connected Services context menu options.

  3. 選擇 [SQL Server 資料庫]。 [連線到相依性] 頁面隨即出現。 您應該會看到數個選項:

    • SQL Server Express LocalDB,這是與 Visual Studio 一起安裝的內建 SQL 資料庫供應項目
    • 電腦上本機容器上的 SQL Server 資料庫
    • SQL Server 資料庫,這是區域網路上的內部部署 SQL Server
    • Azure SQL 資料庫,用作以 Azure 服務形式執行的 SQL 資料庫

    您可以從本機資料庫開始,以降低成本並簡化早期開發。 您可以稍後移轉至 Azure 中的即時服務,方法是重複這些步驟並選擇另一個選項。 如果您在本機建立想要在 Azure 中重新建立的資料庫,則可在當時將資料庫移轉至 Azure。

    Screenshot showing SQL Database choices.

    如果您想要連線至 Azure 服務,請繼續下一個步驟,或如果您尚未登入,請先登入您的 Azure 帳戶,再繼續進行。 如果您沒有 Azure 帳戶,您可以註冊免費試用

  4. 在 [設定 Azure SQL Database] 畫面中,選取現有的 Azure SQL Database,然後選取 [下一步]

    如果需要建立新的元件,請移至下一個步驟。 否則,請跳至步驟 7。

    Screenshot showing

  5. 若要建立 Azure SQL Database:

    1. 選取綠色加號旁邊的 [新建]

    2. 填寫 [Azure SQL Database: 新建] 畫面,然後選取 [建立]

      Screenshot showing

    3. 當 [設定 Azure SQL Database] 畫面顯示時,新的資料庫即會出現在清單中。 在清單中選取新的資料庫,然後選取 [下一步]

  6. 輸入連接字串名稱,或選擇預設值,然後選擇您要將連接字串儲存在本機秘密檔案中,還是 Azure Key Vault 中。

    Screenshot showing

  7. [變更摘要] 畫面會顯示當您完成程序時,將會對專案進行的所有修改。 如果變更看起來正常,請選擇 [完成]

    Screenshot showing

    如果系統提示您設定防火牆規則,請選擇 [是]

    Screenshot showing firewall rules.

  8. 在 [方案總管] 中,按兩下 [已連線的服務] 節點,以開啟 [已連線的服務] 索引標籤。=連線會出現在 [服務相依性] 區段底下:

    Screenshot showing

    如果您按一下您新增的相依性旁的三個點,您可以看到各種選項,例如 [連線] 以重新開啟精靈並變更連線。 您也可以按一下視窗右上方的三個點,以查看啟動本機相依性、變更設定等選項。

存取連接字串

了解如何遵循在 ASP.NET Core 中進行開發時安全地儲存應用程式祕密來安全地儲存祕密。 特別是,若要從祕密存放區讀取連接字串,您可以新增程式碼,如透過設定 API 讀取祕密中所示。 另請參閱 .NET Core 中的相依性插入

Entity Framework 移轉

在早期開發期間,使用本機資料存放區可能很方便,但有了 Entity Framework Core,當您準備好移至雲端時,可以使用 Visual Studio 對 Entity Framework 移轉的支援來移動資料庫,或使用遠端資料存放區合併變更。 請參閱移轉概觀

在 [連線服務] 索引標籤上,您可以按一下三個點來尋找移轉命令,如螢幕擷取畫面所示:

Screenshot showing migration commands.

您可以在那裡使用命令來建立新的移轉、直接套用這些移轉,或產生套用移轉的 SQL 指令碼。

新增移轉

引進資料模型變更時,您可以使用 Entity Framework Core 工具來新增對應移轉,在程式碼中描述將資料庫結構描述保持同步所需的更新。Entity Framework Core 會將目前的模型與舊模型的快照集進行比較以判斷差異,並產生移轉來源檔案。 這些檔案會新增至您的專案,通常是在稱為 Migrations 的資料夾中,而且可以像任何其他來源檔案一樣在專案的原始程式碼控制中進行追蹤。

當您選擇此選項時,系統會要求您提供內容類別名稱,代表您要移轉的資料庫結構描述。

Screenshot showing adding an Entity Framework migration.

更新資料庫

在建立了移轉之後,可將其套用至資料庫。 Entity Framework 會使用移轉程式碼中指定的變更來更新您的資料庫和結構描述。 當您選擇此選項時,系統會要求您提供內容類別名稱,代表您要移轉的資料庫結構描述。

產生 SQL 指令碼

將移轉部署至生產資料庫的建議方式,就是產生 SQL 指令碼。 此策略的優點如下:

  • 您可以檢閱 SQL 指令碼是否正確;這樣做很重要,因為將結構描述變更套用至生產資料庫,這是可能涉及資料遺失的潛在危險作業。
  • 在某些情況下,可以調整指令碼以符合生產資料庫的特定需求。
  • SQL 指令碼可與部署技術搭配使用,甚至可以在 CI 過程中產生。
  • SQL 指令碼可以提供給 DBA,而且可以分開管理和封存。

當您使用此選項時,系統會詢問您資料庫內容類別和指令檔檔案的位置。

Screenshot showing the Generate SQL script option.

在 SQL Server 物件總管中開啟

為了方便起見,此命令可讓您跳至 SQL Server 物件總管,以便您可以檢視資料表和其他資料庫實體,並直接使用您的資料。 請參閱物件總管

Screenshot showing SQL Server Object Explorer.

下一步

您可以繼續 Azure SQL 資料庫的快速入門,但您可以在設定初始連線之後開始,而不是從頭開始。 如果使用 Entity Framework,您可以從新增程式碼以連線至 Azure SQL Database 開始。 如果使用 SqlClient 或 ADO.NET 資料類別,您可以從新增程式碼以連線至 Azure SQL Database 開始。

您的程式碼不會完全符合快速入門中所使用的程式碼,而這些快速入門會使用不同方式來取得連接字串。 連接字串是祕密,且會安全地儲存,如在 ASP.NET Core 中進行開發時安全地儲存應用程式祕密所述。 特別是,若要從祕密存放區讀取連接字串,您可以新增程式碼,如透過設定 API 讀取祕密中所示。 在 ASP.NET Core 專案中,連線服務所建立的連接字串可在設定物件中使用。 您可以透過 WebApplicationBuilder 類別 (在許多專案範本中,則為 builder) 上的屬性來存取此連接字串,如下列範例所示:

var connection = builder.Configuration["ConnectionStrings:ConnectionString1"];