Sdílet prostřednictvím


Přidání připojení ke službě Azure SQL Database

Pomocí připojených služeb sady Visual Studio se můžete připojit ke službě Azure SQL Database, místnímu emulátoru (například během vývoje) nebo k místní databázi SQL Serveru. Informace o místním SQL Serveru najdete v tématu Připojení k databázi.

Pomocí sady Visual Studio se můžete připojit z libovolného z následujících typů projektů pomocí funkce Connected Services:

  • ASP.NET Core
  • .NET Core (včetně konzolové aplikace, WPF, Windows Forms, knihovny tříd)
  • Role pracovní služby .NET Core
  • Azure Functions
  • Konzolová aplikace .NET Framework
  • ASP.NET Model –View-Controller (MVC) (.NET Framework)
  • Aplikace pro univerzální platformu Windows

Funkce připojené služby přidá do projektu všechny potřebné odkazy a kód připojení a odpovídajícím způsobem upraví konfigurační soubory.

Požadavky

Připojení ke službě Azure SQL Database pomocí připojených služeb

  1. Otevřete projekt v sadě Visual Studio.

  2. V Průzkumník řešeníklikněte pravým tlačítkem na uzel Připojené služby a v místní nabídce vyberte Přidat; čímž se otevře nabídka dostupných služeb.

    Snímek obrazovky s možnostmi místní nabídky Připojených služeb

    Pokud uzel Připojené služby nevidíte, zvolte Projekt>Připojené služby>Přidat.

  3. Vyberte SQL Server Database. Zobrazí se stránka Připojení k závislosti. Měli byste vidět několik možností:

    • SQL Server Express LocalDB, integrovaná nabídka SQL Database nainstalovaná se sadou Visual Studio
    • Databáze SQL Serveru v místním kontejneru na vašem počítači
    • Databáze SQL Server, lokálně hostovaný SQL Server v místní síti
    • Azure SQL Database pro službu SQL Database běžící jako služba Azure

    Náklady můžete snížit a počáteční vývoj zjednodušit tím, že začnete s místní databází. Později můžete migrovat do živé služby v Azure opakováním těchto kroků a zvolením jiné možnosti. Pokud vytvoříte databázi místně, kterou chcete v Azure znovu vytvořit, můžete ji v tuto chvíli migrovat do Azure.

    Snímek obrazovky s možnostmi SQL Database

    Pokud se chcete připojit ke službě Azure, pokračujte dalším krokem nebo pokud ještě nejste přihlášení, před pokračováním se přihlaste ke svému účtu Azure. Pokud nemáte účet Azure, můžete si zaregistrovat bezplatnou zkušební verzi.

  4. Na obrazovce Konfigurace služby Azure SQL Database vyberte existující službu Azure SQL Database a vyberte Další.

    Pokud potřebujete vytvořit novou komponentu, přejděte k dalšímu kroku. V opačném případě přejděte ke kroku 7.

    Snímek obrazovky obrazovky Připojení k existující komponentě Azure SQL Database

  5. Vytvoření databáze Azure SQL:

    1. Vyberte Vytvoř novou položku zeleným znaménkem plus.

    2. Vyplňte Azure SQL Database: Vytvořte novou obrazovku a vyberte Vytvořit.

      snímek obrazovky Nová databáze Azure SQL

    3. Po zobrazení obrazovky Konfigurace služby Azure SQL Database se nová databáze zobrazí v seznamu. Vyberte novou databázi v seznamu a vyberte Další.

  6. Zadejte název připojovacího řetězce nebo zvolte výchozí hodnotu a pak zvolte Další nastavení.

    Snímek obrazovky s oknem pro zadání připojovacího řetězce

    Poznámka

    V sadě Visual Studio 2022 verze 17.12 a novější používá tento postup pro připojení k databázi spravovanou identitu Microsoft Entra, metodu ověřování bez hesla. Upozornění na této obrazovce znamená, že po dokončení tohoto postupu v sadě Visual Studio musíte provést ruční krok na webu Azure Portal. Viz ověřování Microsoft Entra.

  7. Zvolte, jestli chcete připojovací řetězec uložit v souboru s místními tajemstvími, nebo v Azure Key Vault, a poté vyberte Další.

    snímek obrazovky s možnostmi uložení připojovacího řetězce služby Azure SQL Database

  8. Na obrazovce Souhrn změn se zobrazí všechny změny, které budou provedeny v projektu, pokud proces dokončíte. Pokud změny vypadají v pořádku, klikněte na Dokončit.

    Snímek obrazovky zobrazující část Souhrn změn

    Pokud se zobrazí výzva k nastavení pravidel brány firewall, zvolte Ano.

    Snímek obrazovky zobrazující pravidla brány firewall

  9. V Průzkumníku řešení poklikejte na uzel Připojené služby a otevřete kartu Připojené služby. Připojení se zobrazí v části Závislosti služby:

    snímek obrazovky zobrazující část 'Závislosti služeb'

    Pokud kliknete na tři tečky vedle přidané závislosti, zobrazí se různé možnosti, jako je Connect znovu otevřít průvodce a změnit připojení. Můžete také kliknout na tři tečky v pravém horním rohu okna a zobrazit možnosti spuštění místních závislostí, změnit nastavení a další.

  10. Pokud používáte spravovanou identitu (Visual Studio 17.12 a novější), přečtěte si další část pro nastavení uživatele spravované identity v databázi Azure SQL.

Ověřování Microsoft Entra

Ve Visual Studio 2022 verze 17.12 a novější používá postup připojených služeb ověřování Microsoft Entra, což je nejbezpečnější metoda ověřování. Visual Studio ale automaticky nevytvoří uživatele správce Microsoft Entra v databázi Azure SQL. Pokud neexistuje uživatel správce Microsoft Entra, připojení se nepodaří úspěšně ověřit.

K vytvoření uživatele správce Microsoft Entra můžete použít Azure Portal, PowerShell nebo Azure CLI. Podrobné pokyny pro každou z těchto metod naleznete v tématu Nastavení uživatele Microsoft Entra admin.

Po dokončení procesu Připojené služby budete muset vytvořit uživatele SQL, který odpovídá spravované identitě, a nastavit oprávnění spuštěním příkazů SQL v databázi. Přihlaste se k editoru dotazů na webu Azure Portal jako uživatel správce Microsoft Entra a spusťte příkazy podobné následujícímu:

CREATE USER [<identity-name>] FROM EXTERNAL PROVIDER;
ALTER ROLE db_datareader ADD MEMBER [<identity-name>];
ALTER ROLE db_datawriter ADD MEMBER [<identity-name>];
ALTER ROLE db_ddladmin ADD MEMBER [<identity-name>];

GO

<identity-name> je název spravované identity v Microsoft Entra ID. Pokud je identita přiřazená systémem, název je vždy stejný jako název vaší aplikace App Service. V případě slotu nasazení je název jeho systémem přiřazené identity <app-name>/slots/<slot-name>. Pokud chcete udělit oprávnění pro skupinu Microsoft Entra, použijte místo toho zobrazovaný název skupiny (například myAzureSQLDBAccessGroup). Viz typy spravovaných identit a spravované identity v prostředí Microsoft Entra pro Azure SQL. Role, které přidáte, závisí na vašich případech použití. Viz ALTER ROLE.

Pokud váš kód odkazuje na System.Data.SqlClient, budete muset upgradovat na Microsoft.Data.SqlClient, protože System.Data.SqlClient nepodporuje ověřování Microsoft Entra. Pokud chcete provést upgrade, přidejte odkaz na balíček NuGet Microsoft.Data.SqlClienta aktualizujte všechny direktivy using, které odkazují na System.Data.SqlClient odkazovat na obor názvů Microsoft.Data.SqlClient. Došlo k několika změnám chování; viz tahák pro portování.

  1. Otevřete projekt ve Visual Studiu.

  2. V Průzkumník řešeníklikněte pravým tlačítkem na uzel Připojené služby a v místní nabídce vyberte Přidat a otevřete nabídku dostupných služeb.

    Snímek obrazovky s možnostmi místní nabídky Připojených služeb

    Pokud uzel Připojené služby nevidíte, zvolte Project>Připojené služby>Přidat.

  3. Zvolte SQL Server Database. Zobrazí se stránka Připojit k závislosti. Měli byste vidět několik možností:

    • SQL Server Express LocalDB, integrovaná nabídka SQL Database nainstalovaná se sadou Visual Studio
    • Databáze SQL Serveru v místním kontejneru na vašem počítači
    • Databáze SQL Server, lokální SQL Server v místní síti
    • Azure SQL Database pro službu SQL Database běžící jako služba Azure

    Můžete snížit náklady a zjednodušit počáteční vývoj tím, že začnete s místní databází. Později můžete migrovat do živé služby v Azure opakováním těchto kroků a zvolením jiné možnosti. Pokud vytvoříte databázi místně, kterou chcete v Azure znovu vytvořit, můžete ji v tuto chvíli migrovat do Azure.

    Snímek obrazovky s možnostmi SQL Database

    Pokud se chcete připojit ke službě Azure, pokračujte dalším krokem nebo pokud ještě nejste přihlášení, před pokračováním se přihlaste ke svému účtu Azure. Pokud nemáte účet Azure, můžete si zaregistrovat bezplatnou zkušební verzi.

  4. Na obrazovce Konfigurace služby Azure SQL Database vyberte existující službu Azure SQL Database a vyberte Další.

    Pokud potřebujete vytvořit novou komponentu, přejděte k dalšímu kroku. V opačném případě přejděte ke kroku 7.

    snímek obrazovky s Připojením k existující komponentě Azure SQL Database

  5. Vytvoření databáze Azure SQL:

    1. Vyberte Nový s označením zeleného plus.

    2. Vyplňte Azure SQL Database: Vytvořte novou obrazovku a vyberte Vytvořit.

      snímek obrazovky Nová databáze Azure SQL

    3. Po zobrazení obrazovky Konfigurace služby Azure SQL Database se nová databáze zobrazí v seznamu. Vyberte novou databázi v seznamu a vyberte Další.

  6. Zadejte název připojovacího řetězce nebo zvolte výchozí hodnotu a zvolte, jestli chcete připojovací řetězec uložit v místním souboru tajných kódů, nebo v azure Key Vault.

    Snímek obrazovky ukazuje obrazovku

  7. Na obrazovce Souhrn změn se zobrazí všechny změny, které budou provedeny v projektu, pokud proces dokončíte. Pokud změny vypadají v pořádku, zvolte Dokončit.

    Snímek obrazovky zobrazující část Souhrn změn

    Pokud se zobrazí výzva k nastavení pravidel brány firewall, zvolte Ano.

    Snímek obrazovky zobrazující pravidla brány firewall

  8. V Průzkumníku řešení poklikejte na uzel Připojené služby a otevřete kartu Připojené služby. Připojení se zobrazí v části Závislosti služby:

    snímek obrazovky zobrazující část

    Pokud kliknete na tři tečky vedle přidané závislosti, zobrazí se různé možnosti, jako je Connect znovu otevřít průvodce a změnit připojení. Můžete také kliknout na tři tečky v pravém horním rohu okna a zobrazit možnosti spuštění místních závislostí, změnit nastavení a další.

Přístup k připojovacímu řetězci

Naučte se, jak bezpečně ukládat tajemství podle Bezpečné ukládání tajemství aplikací při vývoji v ASP.NET Core. Konkrétně ke čtení připojovacího řetězce z úložiště tajných kódů můžete přidat kód jako v Číst tajný kód prostřednictvím konfiguračního rozhraní API. Viz také dependency injection v ASP.NET Core.

Migrace Entity Frameworku

Může být vhodné pracovat s místním úložištěm dat během raného vývoje, ale s Entity Framework Core, když jste připraveni přejít do cloudu, můžete pomocí podpory sady Visual Studio pro migraci Entity Framework přesunout databázi nebo sloučit změny se vzdáleným úložištěm dat. Viz přehled migrace.

Na kartě Připojené služby naleznete příkazy pro migraci kliknutím na tři tečky, jak je znázorněno na snímku obrazovky.

Snímek obrazovky znázorňující příkazy migrace

Příkazy jsou k dispozici pro vytváření nových migrací, jejich použití přímo nebo generování skriptů SQL, které migrace používají.

Přidání migrace

Při zavedení změny datového modelu můžete pomocí nástrojů Entity Framework Core přidat odpovídající migraci, která popisuje aktualizace kódu potřebné k udržování schématu databáze v synchronizaci. Entity Framework Core porovná aktuální model se snímkem starého modelu a určí rozdíly a vygeneruje zdrojové soubory migrace. Soubory se přidají do projektu, obvykle ve složce s názvem Migrace a dají se sledovat ve správě zdrojového kódu projektu stejně jako v jakémkoli jiném zdrojovém souboru.

Když zvolíte tuto možnost, zobrazí se výzva k zadání názvu třídy kontextu, který představuje schéma databáze, které chcete migrovat.

Snímek obrazovky znázorňující přidání migrace Entity Framework.

Aktualizace databáze

Jakmile je migrace vytvořena, může být aplikována na databázi. Entity Framework aktualizuje databázi a vaše schéma o změny zadané v kódu migrace. Když zvolíte tuto možnost, zobrazí se výzva k zadání názvu třídy kontextu, který představuje schéma databáze, které chcete migrovat.

Generování skriptu SQL

Doporučeným způsobem nasazení migrací do produkční databáze je generování skriptů SQL. Mezi výhody této strategie patří:

  • Skripty SQL je možné zkontrolovat přesnost; to je důležité, protože použití změn schématu v produkčních databázích je potenciálně nebezpečná operace, která by mohla zahrnovat ztrátu dat.
  • V některých případech je možné skripty ladit tak, aby vyhovovaly konkrétním potřebám produkční databáze.
  • Skripty SQL je možné použít ve spojení s technologií nasazení a lze je dokonce vygenerovat v rámci procesu CI.
  • Skripty SQL je možné poskytnout dbA a je možné je spravovat a archivovat samostatně.

Když použijete tuto možnost, zobrazí se dotaz na třídu kontextu databáze a umístění souboru skriptu.

Snímek obrazovky s možností Generovat skript SQL

Otevřít v Průzkumníku objektů SQL Serveru

Tento příkaz vám umožní přejít do Průzkumníka objektů SQL Serveru, abyste mohli zobrazit tabulky a další databázové entity a pracovat přímo s daty. Viz Průzkumník objektů.

Snímek obrazovky s Průzkumníkem objektů SQL Serveru

Další kroky

Můžete pokračovat v rychlých startech pro Azure SQL Database, ale místo toho, abyste začali od začátku, můžete začít po nastavení počátečního připojení. Pokud používáte Entity Framework, můžete začít Přidat kód pro připojení ke službě Azure SQL Database. Pokud používáte datové třídy SqlClient nebo ADO.NET, můžete začít přidat kód pro připojení ke službě Azure SQL Database.

Váš kód přesně neodpovídá tomu, co se používá v rychlých startech, které používají jiný způsob získání připojovacího řetězce. Připojovací řetězce jsou tajnosti a bezpečně se ukládají, jak je vysvětleno v bezpečném úložišti tajností aplikací při vývoji v ASP.NET Core. Konkrétně ke čtení připojovacího řetězce z úložiště tajných kódů můžete přidat kód jako v Číst tajný kód prostřednictvím konfiguračního rozhraní API.

V ASP.NET základních projektech je nastavení připojení nebo připojovací řetězec vytvořený připojenými službami k dispozici v objektu konfigurace. K němu můžete přistupovat pomocí vlastnosti třídy WebApplicationBuilder (builder v mnoha šablonách projektu), jak je znázorněno v následujícím příkladu:

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

Řetězec pro zadání vlastnosti Konfigurace by se měl shodovat s klíčem v secrets.json nebo ve službě Azure Key Vault, který jste zadali v postupu Připojené služby. Například se sadou Visual Studio 2022 17.12 a novějším se nastavení připojení uloží do secrets.json jako:

{
  "ConnectionStrings:DatabaseConnection": "Server=tcp:webapplication16dbserver.database.windows.net;Authentication=Active Directory Default;Database=WebApplication16_db;",
}

V ASP.NET základních projektech je nastavení připojení nebo připojovací řetězec vytvořený připojenými službami k dispozici v objektu konfigurace. K němu můžete přistupovat pomocí vlastnosti třídy WebApplicationBuilder (builder v mnoha šablonách projektu), jak je znázorněno v následujícím příkladu:

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