Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:Azure SQL Database
SQL-database in Fabric
Dit artikel bevat een C#-programma dat verbinding maakt met Azure SQL Database. Het programma maakt gebruik van interactieve modusverificatie, die ondersteuning biedt voor meervoudige verificatie met behulp van Microsoft Entra ID (voorheen Azure Active Directory).
Zie Microsoft Entra multifactor authenticationgebruiken voor meer informatie over ondersteuning voor meervoudige verificatie voor SQL-hulpprogramma's.
Notitie
Microsoft Entra ID voorheen Azure Active Directory (Azure AD) werd genoemd.
Meervoudige verificatie voor Azure SQL Database
Active Directory Interactive-verificatie ondersteunt meervoudige verificatie met behulp van Microsoft.Data.SqlClient- om verbinding te maken met Azure SQL-gegevensbronnen. In een client C#-programma stuurt de enum-waarde het systeem om de interactieve Modus van Microsoft Entra te gebruiken die ondersteuning biedt voor meervoudige verificatie om verbinding te maken met Azure SQL Database. De gebruiker die het programma uitvoert, ziet de volgende dialoogvensters:
Een dialoogvenster met een Microsoft Entra-gebruikersnaam en vraagt om het wachtwoord van de gebruiker.
Als het domein van de gebruiker is gefedereerd met Microsoft Entra ID, wordt het dialoogvenster niet weergegeven, omdat er geen wachtwoord nodig is.
Als het Microsoft Entra-beleid meervoudige verificatie voor de gebruiker oplegt, wordt er een dialoogvenster weergegeven om u aan te melden bij uw account.
De eerste keer dat een gebruiker meervoudige verificatie doorloopt, wordt in het systeem een dialoogvenster weergegeven waarin wordt gevraagd om een mobiel telefoonnummer om sms-berichten naar te verzenden. Elk bericht bevat de verificatiecode die de gebruiker moet invoeren in het volgende dialoogvenster.
Een dialoogvenster waarin wordt gevraagd om een verificatiecode voor meervoudige verificatie, die het systeem naar een mobiele telefoon heeft verzonden.
Zie Aan de slag met Microsoft Entra-verificatie in de cloudvoor meer informatie over het configureren van Microsoft Entra-id voor meervoudige verificatie.
Zie voor schermafbeeldingen van deze dialoogvensters Microsoft Entra multifactor authentication gebruiken.
Aanbeveling
U kunt met het hulpprogramma .NET API Browser op pagina de .NET Framework-API's doorzoeken op pagina.
U kunt ook rechtstreeks zoeken met de optionele ?term=<zoekwaarde> parameter.
Vereiste voorwaarden
Voordat u begint, moet u een logische SQL-server hebben die gemaakt en beschikbaar is.
Een Microsoft Entra-beheerder instellen voor uw server
Om het C#-voorbeeld uit te voeren, moet een logische server beheerder een Microsoft Entra-beheerder vanuit de Microsoft Entra-id toewijzen aan uw server.
Selecteer in Azure Portal, op de sql-serverpagina, Microsoft Entra ID in het resourcemenu en selecteer vervolgens Beheerder instellen.
Zie de schermopnamen in Microsoft Entra-verificatie configureren en beheren met SQL Databasevoor meer informatie over Microsoft Entra-beheerders en -gebruikers voor Azure SQL Database.
Microsoft.Data.SqlClient
Het C#-voorbeeld is afhankelijk van de Microsoft.Data.SqlClient naamruimte. Zie Microsoft Entra-verificatie gebruiken met SqlClientvoor meer informatie.
Notitie
System.Data.SqlClient gebruikmaakt van de Azure Active Directory Authentication Library (ADAL), die is afgeschaft. Als u de System.Data.SqlClient naamruimte voor Microsoft Entra-verificatie gebruikt, migreert u toepassingen naar Microsoft.Data.SqlClient en de MICROSOFT Authentication Library (MSAL). Zie Microsoft Entra-verificatie gebruiken met SqlClientvoor meer informatie over het gebruik van Microsoft Entra-verificatie met SqlClient-verificatie.
Verifiëren met SQL Server Management Studio
Voordat u het C#-voorbeeld uitvoert, is het een goed idee om te controleren of uw instellingen en configuraties juist zijn in SSMS -(SQL Server Management Studio). Elke C#-programmafout kan vervolgens worden beperkt tot broncode.
IP-adressen van de firewall op serverniveau verifiëren
Voer SSMS uit vanaf dezelfde computer, in hetzelfde gebouw, waar u het C#-voorbeeld wilt uitvoeren. Voor deze test is elke verificatiemodus ok. Als er een indicatie is dat de server uw IP-adres niet accepteert, raadpleegt u firewallregels op server- en databaseniveau voor hulp.
Meervoudige verificatie van Microsoft Entra verifiëren
Voer SSMS opnieuw uit, deze keer met Verificatie ingesteld op Azure Active Directory - Universeel met MFA-. Voor deze optie is SSMS versie 18.6 of hoger vereist.
Zie Microsoft Entra-meervoudige verificatie gebruikenvoor meer informatie.
Notitie
Voor SSMS-versies vóór 18.x moeten gastgebruikers de Microsoft Entra-domeinnaam of tenant-id voor de database opgeven: Selecteer Opties>AD-domeinnaam of tenant-id. SSMS 18.x en hoger herkent de tenant automatisch.
Selecteer Microsoft Entra ID>Aangepaste domeinnamenom de domeinnaam te vinden in Azure Portal. In het C#-voorbeeldprogramma is het opgeven van een domeinnaam niet nodig.
Voorbeeld van C#-code
Notitie
Als u .NET Core gebruikt, wilt u de Microsoft.Data.SqlClient naamruimte gebruiken. Zie de volgende blogvoor meer informatie.
Dit is een voorbeeld van C#-broncode.
using System;
using Microsoft.Data.SqlClient;
public class Program
{
public static void Main(string[] args)
{
// Use your own server, database, and user ID.
// Connection string - user ID is not provided and is asked interactively.
string ConnectionString = @"Server=<your server>.database.windows.net; Authentication=Active Directory Interactive; Database=<your database>";
using (SqlConnection conn = new SqlConnection(ConnectionString))
{
conn.Open();
Console.WriteLine("ConnectionString2 succeeded.");
using (var cmd = new SqlCommand("SELECT @@Version", conn))
{
Console.WriteLine("select @@version");
var result = cmd.ExecuteScalar();
Console.WriteLine(result.ToString());
}
}
Console.ReadKey();
}
}
Dit is een voorbeeld van de C#-testuitvoer.
ConnectionString2 succeeded.
select @@version
Microsoft SQL Azure (RTM) - 12.0.2000.8
...