Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
              Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analysplattformssystem (PDW)
SQL-databas i Förhandsversion av Microsoft Fabric
sqlcmd stöder en mängd olika Microsoft Entra-autentiseringsmodeller, beroende på vilken version du har installerat.
Note
Även om Microsoft Entra ID är det nya namnet för Azure Active Directory (Azure AD), för att förhindra avbrott i befintliga miljöer, förblir Azure AD fortfarande i vissa hårdkodade element som gränssnittsfält, anslutningsproviders, felkoder och cmdletar. I den här artikeln är de två namnen utbytbara.
Information om vilken variant och version av sqlcmd som är installerad på systemet finns i Kontrollera installerad version av sqlcmd-verktyget. Information om hur du hämtar sqlcmd finns i Ladda ned och installera sqlcmd-verktyget.
sqlcmd (Go) stöder fler Microsoft Entra-autentiseringsmodeller, baserat på azidentity-paketet. Implementeringen förlitar sig på en Microsoft Entra-anslutning i go-sqlcmd-drivrutin.
Kommandoradsargument
Om du vill använda Microsoft Entra-autentisering kan du använda en av två kommandoradsväxlar.
              -G är (mestadels) kompatibelt med dess användning i sqlcmd (ODBC). Om ett användarnamn och lösenord anges autentiseras det med hjälp av Microsoft Entra-lösenordsautentisering. Om ett användarnamn anges använder det interaktiv Microsoft Entra-autentisering, som kan visa en webbläsare. Om inget användarnamn eller lösenord anges använder det en DefaultAzureCredential, som försöker autentisera via olika mekanismer.
              --authentication-method= kan användas för att ange någon av följande autentiseringstyper.
ActiveDirectoryDefault
- En översikt över typerna av autentisering som används i det här läget hänvisas till i Standardautentisering för Azure.
- Välj den här metoden om dina databasautomatiseringsskript är avsedda att köras i både lokala utvecklingsmiljöer och i en produktionsdistribution i Azure. I utvecklingsmiljön kan du använda en klienthemlighet eller en Azure CLI-inloggning. Utan att ändra skriptet från utvecklingsmiljön kan du använda en hanterad identitet eller klienthemlighet i produktionsdistributionen.
- Det är nödvändigt att ange miljövariabler AZURE_TENANT_IDochAZURE_CLIENT_IDför attDefaultAzureCredentialska kunna börja kontrollera miljökonfigurationen och leta efter någon av följande ytterligare miljövariabler för att kunna autentisera:- Om du ställer in miljövariabeln AZURE_CLIENT_SECRETkonfigurerasDefaultAzureCredentialatt väljaClientSecretCredential.
- Om du ställer in miljövariabeln AZURE_CLIENT_CERTIFICATE_PATHkonfigurerasDefaultAzureCredentialatt väljaClientCertificateCredentialomAZURE_CLIENT_SECRETinte har angetts.
 
- Om du ställer in miljövariabeln 
- Om du ställer in miljövariabeln AZURE_USERNAME konfigureras DefaultAzureCredentialatt väljaUsernamePasswordCredentialomAZURE_CLIENT_SECRETochAZURE_CLIENT_CERTIFICATE_PATHinte har angetts.
ActiveDirectoryIntegrated
Den här metoden implementeras för närvarande inte och återgår till ActiveDirectoryDefault.
ActiveDirectoryPassword
- Den här metoden autentiserar med ett användarnamn och lösenord. Det fungerar inte om MFA krävs. 
- Du anger användarnamn och lösenord med hjälp av vanliga kommandoradsväxlar eller - SQLCMDmiljövariabler.
- Ange - AZURE_TENANT_IDen miljövariabel till serverns tenant-ID om du inte använder användarens standardtenant.
ActiveDirectoryInteractive
Den här metoden startar en webbläsare för att autentisera användaren.
ActiveDirectoryManagedIdentity
Använd den här metoden när du kör sqlcmd (Go) på en virtuell Azure-dator som antingen har en systemtilldelad eller användartilldelad hanterad identitet. Om du använder en användartilldelad hanterad identitet anger du användarnamnet till klient-ID för den hanterade identiteten. Om du använder en systemtilldelad identitet lämnar du användarnamnet tomt.
Det här exemplet visar hur du ansluter med hjälp av en tjänsttilldelad hanterad identitet (SAMI):
sqlcmd -S testsrv.database.windows.net -d Target_DB_or_DW --authentication-method ActiveDirectoryManagedIdentity
Det här exemplet visar hur du ansluter med en användartilldelad hanterad identitet (UAMI) genom att lägga till klient-ID för den användartilldelade hanterade identiteten:
sqlcmd -S testsrv.database.windows.net -d Target_DB_or_DW --authentication-method ActiveDirectoryManagedIdentity -U <user-assigned-managed-identity-client-id>
ActiveDirectoryServicePrincipal
Den här metoden autentiserar det angivna användarnamnet som ett tjänsthuvudnamns-ID och lösenordet som klienthemlighet för tjänstens huvudnamn. Ange ett användarnamn i formuläret <application (client) ID>. Ange SQLCMDPASSWORD variabel till klienthemligheten. Om du använder ett certifikat i stället för en klienthemlighet anger du AZURE_CLIENT_CERTIFICATE_PATH miljövariabel till sökvägen till certifikatfilen.
sqlcmd -S testsrv.database.windows.net -d Target_DB_or_DW --authentication-method ActiveDirectoryServicePrincipal -U <Application (client) ID> -P <client secret>
Miljövariabler för Microsoft Entra-autentisering
Vissa Microsoft Entra-autentiseringsinställningar har inte kommandoradsindata och vissa miljövariabler används direkt av azidentity-paketet som används av sqlcmd (Go).
Dessa miljövariabler kan ställas in för att konfigurera vissa aspekter av Microsoft Entra-autentisering och kringgå standardbeteenden. Förutom variablerna som angavs tidigare är följande specifika för sqlcmd (Go) och gäller för flera metoder.
SQLCMDCLIENTID
Ange miljövariabeln till identifieraren för ett program som är registrerat i Microsoft Entra, som har behörighet att autentisera till Azure SQL Database. Gäller metoderna ActiveDirectoryInteractive och ActiveDirectoryPassword.