Not
Å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-analysslutpunkt i Microsoft Fabric
Lager i Microsoft Fabric
SQL-databas i Microsoft Fabric
Avsikt
Från och med version 18.2.1 tillåter Microsoft OLE DB-drivrutin för SQL Server OLE DB-program att ansluta till Azure SQL Database, Azure SQL Managed Instance, Azure Synapse Analytics och Microsoft Fabric med hjälp av en federerad identitet.
Microsoft Entra-autentiseringsmetoder inkluderar:
- Användarnamn och lösenord
- Åtkomsttoken
- Integrerad autentisering
Version 18.3.0 lägger till stöd för följande Microsoft Entra-autentiseringsmetoder:
Interaktiv autentisering
Hanterad identitetsautentisering (endast inifrån en virtuell Azure-dator som konfigurerats med hanterad identitet)
Version 18.5.0 lägger till stöd för följande autentiseringsmetod:
- Microsoft Entra-tjänstens huvudnamnsautentisering
Anmärkning
Det går DataTypeCompatibility att använda följande autentiseringslägen med 80 (eller motsvarande egenskap) inställda på:
- Microsoft Entra-autentisering med användarnamn och lösenord
- Microsoft Entra-autentisering med hjälp av åtkomsttoken
- Microsoft Entra-integrerad autentisering
- Interaktiv Microsoft Entra-autentisering
- Microsoft Entra-hanterad identitetsautentisering
- Microsoft Entra-tjänsthuvudnamnsautentisering
Om du vill använda Microsoft Entra-autentisering måste du konfigurera din Azure SQL-datakälla. Mer information finns i Konfigurera och hantera Microsoft Entra-autentisering med Azure SQL.
Nyckelord och egenskaper för anslutningssträngar
Följande nyckelord för anslutningssträngar har införts för att stödja Microsoft Entra-autentisering:
| Nyckelord för anslutningssträng | Anslutningsegenskap | Description |
|---|---|---|
| Åtkomsttoken | SSPROP_AUTH_ACCESS_TOKEN |
Anger en åtkomsttoken som ska autentiseras mot Microsoft Entra-ID. |
| Authentication | SSPROP_AUTH_MODE |
Anger den autentiseringsmetod som ska användas. |
Mer information om de nya nyckelorden/egenskaperna finns på följande sidor:
- Använda nyckelord för anslutningssträng med OLE DB-drivrutin för SQL Server
- Initierings- och auktoriseringsegenskaper
Kryptering och certifikatverifiering
Mer information finns i Kryptering och certifikatverifiering .
GUI-tillägg
Det grafiska användargränssnittet för drivrutinen har förbättrats för att tillåta Microsoft Entra-autentisering. Mer information finns i:
Exempel på anslutningssträngar
Det här avsnittet visar exempel på nya och befintliga nyckelord för anslutningssträngar som ska användas med IDataInitialize::GetDataSource och DBPROP_INIT_PROVIDERSTRING egenskap.
SQL-autentisering
- Användning av
IDataInitialize::GetDataSource:- Ny:
Provider=MSOLEDBSQL19; Datakälla=[server]; Initial Catalog=[database]; Authentication=SqlPassword; Användar-ID=[användarnamn]; Password=[password]; Använda kryptering för data=obligatoriskt
- Avrådd:
Provider=MSOLEDBSQL19; Datakälla=[server]; Initial Catalog=[database]; Användar-ID=[användarnamn]; Password=[password]; Använda kryptering för data=obligatoriskt
- Ny:
- Använd
DBPROP_INIT_PROVIDERSTRING:- Ny:
Server=[server]; Database=[database]; Authentication=SqlPassword; UID=[användarnamn]; PWD=[lösenord]; Encrypt=Mandatory
- Föråldrad:
Server=[server]; Database=[database]; UID=[användarnamn]; PWD=[lösenord]; Encrypt=Mandatory
- Ny:
Integrerad Windows-autentisering med hjälp av SSPI (Security Support Provider Interface)
- Använda
IDataInitialize::GetDataSource:- Ny:
Provider=MSOLEDBSQL19; Datakälla=[server]; Initial Catalog=[database]; Authentication=ActiveDirectoryIntegrated; Använda kryptering för data=obligatoriskt
- Föråldrad:
Provider=MSOLEDBSQL19; Datakälla=[server]; Initial Catalog=[database]; Integrated Security=SSPI; Använda kryptering för data=obligatoriskt
- Ny:
- Använda
DBPROP_INIT_PROVIDERSTRING:- Ny:
Server=[server]; Database=[database]; Authentication=ActiveDirectoryIntegrated; Encrypt=Mandatory
- Föråldrad:
Server=[server]; Database=[database]; Trusted_Connection=ja; Encrypt=Mandatory
- Ny:
Microsoft Entra-autentisering med användarnamn och lösenord
- Använda
IDataInitialize::GetDataSource:Provider=MSOLEDBSQL19; Datakälla=[server]; Initial Catalog=[database]; Authentication=ActiveDirectoryPassword; Användar-ID=[användarnamn]; Password=[password]; Använda kryptering för data=obligatoriskt
- Använda
DBPROP_INIT_PROVIDERSTRING:Server=[server]; Database=[database]; Authentication=ActiveDirectoryPassword; UID=[användarnamn]; PWD=[lösenord]; Encrypt=Mandatory
Microsoft Entra-integrerad autentisering
- Använda
IDataInitialize::GetDataSource:Provider=MSOLEDBSQL19; Datakälla=[server]; Initial Catalog=[database]; Authentication=ActiveDirectoryIntegrated; Använda kryptering för data=obligatoriskt
- Använda
DBPROP_INIT_PROVIDERSTRING:Server=[server]; Database=[database]; Authentication=ActiveDirectoryIntegrated; Encrypt=Mandatory
Microsoft Entra-autentisering med hjälp av en åtkomsttoken
- Använda
IDataInitialize::GetDataSource:Provider=MSOLEDBSQL19; Datakälla=[server]; Initial Catalog=[database]; Åtkomsttoken=[åtkomsttoken]; Använda kryptering för data=obligatoriskt
- Använda
DBPROP_INIT_PROVIDERSTRING:Det går inte att tillhandahålla åtkomsttoken via
DBPROP_INIT_PROVIDERSTRING
Interaktiv Microsoft Entra-autentisering
- Använda
IDataInitialize::GetDataSource:Provider=MSOLEDBSQL19; Datakälla=[server]; Initial Catalog=[database]; Authentication=ActiveDirectoryInteractive; Användar-ID=[användarnamn]; Använda kryptering för data=obligatoriskt
- Använda
DBPROP_INIT_PROVIDERSTRING:Server=[server]; Database=[database]; Authentication=ActiveDirectoryInteractive; UID=[användarnamn]; Encrypt=Mandatory
Microsoft Entra-hanterad identitetsautentisering
- Använda
IDataInitialize::GetDataSource:- Användartilldelad hanterad identitet:
Provider=MSOLEDBSQL19; Datakälla=[server]; Initial Catalog=[database]; Authentication=ActiveDirectoryMSI; Användar-ID=[Objekt-ID]; Använda kryptering för data=obligatoriskt
- Systemtilldelad hanterad identitet:
Provider=MSOLEDBSQL19; Datakälla=[server]; Initial Catalog=[database]; Authentication=ActiveDirectoryMSI; Använda kryptering för data=obligatoriskt
- Användartilldelad hanterad identitet:
- Använda
DBPROP_INIT_PROVIDERSTRING:- Användartilldelad hanterad identitet:
Server=[server]; Database=[database]; Authentication=ActiveDirectoryMSI; UID=[Objekt-ID]; Encrypt=Mandatory
- Systemtilldelad hanterad identitet:
Server=[server]; Database=[database]; Authentication=ActiveDirectoryMSI; Encrypt=Mandatory
- Användartilldelad hanterad identitet:
Microsoft Entra-tjänsthuvudnamnsautentisering
- Använda
IDataInitialize::GetDataSource:Provider=MSOLEDBSQL19; Datakälla=[server]; Initial Catalog=[database]; Authentication=ActiveDirectoryServicePrincipal; User ID=[Application (client) ID]; Password=[Application (client) secret]; Använda kryptering för data=obligatoriskt
- Använda
DBPROP_INIT_PROVIDERSTRING:Server=[server]; Database=[database]; Authentication=ActiveDirectoryServicePrincipal; UID=[Applikation (klient) ID]; PWD=[Applikation (klient) hemlighet]; Encrypt=Obligatoriskt
Kodexempel
Följande exempel visar den kod som krävs för att ansluta till Microsoft Entra-ID med anslutningsnyckelord.
Åtkomsttoken
#include <string>
#include <iostream>
#include <msdasc.h>
int main()
{
wchar_t azureServer[] = L"server";
wchar_t azureDatabase[] = L"mydatabase";
wchar_t accessToken[] = L"eyJ0eXAiOi...";
IDBInitialize *pIDBInitialize = nullptr;
IDataInitialize* pIDataInitialize = nullptr;
HRESULT hr = S_OK;
CoInitialize(nullptr);
// Construct the connection string.
std::wstring connString = L"Provider=MSOLEDBSQL19;Data Source=" + std::wstring(azureServer) + L";Initial Catalog=" +
std::wstring(azureDatabase) + L";Access Token=" + accessToken + L";Use Encryption for Data=Mandatory;";
hr = CoCreateInstance(CLSID_MSDAINITIALIZE, nullptr, CLSCTX_INPROC_SERVER,
IID_IDataInitialize, reinterpret_cast<LPVOID*>(&pIDataInitialize));
if (FAILED(hr))
{
std::cout << "Failed to create an IDataInitialize instance." << std::endl;
goto Cleanup;
}
hr = pIDataInitialize->GetDataSource(nullptr, CLSCTX_INPROC_SERVER, connString.c_str(),
IID_IDBInitialize, reinterpret_cast<IUnknown**>(&pIDBInitialize));
if (FAILED(hr))
{
std::cout << "Failed to get data source object." << std::endl;
goto Cleanup;
}
hr = pIDBInitialize->Initialize();
if (FAILED(hr))
{
std::cout << "Failed to establish connection." << std::endl;
goto Cleanup;
}
Cleanup:
if (pIDBInitialize)
{
pIDBInitialize->Uninitialize();
pIDBInitialize->Release();
}
if (pIDataInitialize)
{
pIDataInitialize->Release();
}
CoUninitialize();
}
Active Directory integrerad
#include <string>
#include <iostream>
#include <msdasc.h>
int main()
{
wchar_t azureServer[] = L"server";
wchar_t azureDatabase[] = L"mydatabase";
IDBInitialize *pIDBInitialize = nullptr;
IDataInitialize* pIDataInitialize = nullptr;
HRESULT hr = S_OK;
CoInitialize(nullptr);
// Construct the connection string.
std::wstring connString = L"Provider=MSOLEDBSQL19;Data Source=" + std::wstring(azureServer) + L";Initial Catalog=" +
std::wstring(azureDatabase) + L";Authentication=ActiveDirectoryIntegrated;Use Encryption for Data=Mandatory;";
hr = CoCreateInstance(CLSID_MSDAINITIALIZE, nullptr, CLSCTX_INPROC_SERVER,
IID_IDataInitialize, reinterpret_cast<LPVOID*>(&pIDataInitialize));
if (FAILED(hr))
{
std::cout << "Failed to create an IDataInitialize instance." << std::endl;
goto Cleanup;
}
hr = pIDataInitialize->GetDataSource(nullptr, CLSCTX_INPROC_SERVER, connString.c_str(),
IID_IDBInitialize, reinterpret_cast<IUnknown**>(&pIDBInitialize));
if (FAILED(hr))
{
std::cout << "Failed to get data source object." << std::endl;
goto Cleanup;
}
hr = pIDBInitialize->Initialize();
if (FAILED(hr))
{
std::cout << "Failed to establish connection." << std::endl;
goto Cleanup;
}
Cleanup:
if (pIDBInitialize)
{
pIDBInitialize->Uninitialize();
pIDBInitialize->Release();
}
if (pIDataInitialize)
{
pIDataInitialize->Release();
}
CoUninitialize();
}
Relaterat innehåll
Auktorisera åtkomst till Microsoft Entra-webbprogram med hjälp av OAuth 2.0-kodbidragsflödet.
Läs mer om Microsoft Entra-autentisering till SQL Server.
Konfigurera drivrutinsanslutningar med hjälp av nyckelord för anslutningssträngar som OLE DB-drivrutinen stöder.