Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
Analiz Platformu Sistemi (PDW)
Microsoft Fabric'teki SQL analiz uç noktası
Microsoft Fabric'teki ambar
Microsoft Fabric'teki SQL veritabanı
OLE DB sürücüsünü indirme
Amaç
18.2.1 sürümünden başlayarak SQL Server için Microsoft OLE DB Sürücüsü, OLE DB uygulamalarının federasyon kimliği kullanarak Azure SQL Veritabanı, Azure SQL Yönetilen Örneği, Azure Synapse Analytics ve Microsoft Fabric'e bağlanmasına olanak tanır.
Microsoft Entra kimlik doğrulama yöntemleri şunlardır:
- Kullanıcı adı ve parola
- Erişim belirteci
- Tümleşik kimlik doğrulaması
Sürüm 18.3.0 , aşağıdaki Microsoft Entra kimlik doğrulama yöntemleri için destek ekler:
Etkileşimli kimlik doğrulaması
Yönetilen kimlik doğrulaması (yalnızca Yönetilen Kimlik ile yapılandırılmış Azure Sanal Makinesi içinden)
Sürüm 18.5.0 , aşağıdaki kimlik doğrulama yöntemi için destek ekler:
- Microsoft Entra hizmet sorumlusu kimlik doğrulaması
Uyarı
aşağıdaki kimlik doğrulama modlarının DataTypeCompatibility (veya buna karşılık gelen özelliğinin) olarak ayarlanması 80desteklenmez :
- Kullanıcı adı ve parola kullanarak Microsoft Entra kimlik doğrulaması
- Erişim belirtecini kullanarak Microsoft Entra kimlik doğrulaması
- Microsoft Entra tümleşik kimlik doğrulaması
- Microsoft Entra etkileşimli kimlik doğrulaması
- Microsoft Entra yönetilen kimlik doğrulaması
- Microsoft Entra hizmet sorumlusu kimlik doğrulaması
Microsoft Entra kimlik doğrulamasını kullanmak için Azure SQL veri kaynağınızı yapılandırmanız gerekir. Daha fazla bilgi için bkz. Azure SQL ile Microsoft Entra kimlik doğrulamasını yapılandırma ve yönetme.
Bağlantı dizesi anahtar sözcükleri ve özellikleri
Microsoft Entra kimlik doğrulamasını desteklemek için aşağıdaki bağlantı dizesi anahtar sözcükleri kullanıma sunulmuştur:
| Bağlantı dizesi anahtar sözcüğü | Bağlantı özelliği | Description |
|---|---|---|
| Erişim Belirteci | SSPROP_AUTH_ACCESS_TOKEN |
Microsoft Entra ID kimlik doğrulaması için bir erişim belirteci belirtir. |
| Authentication | SSPROP_AUTH_MODE |
Kullanılacak kimlik doğrulama yöntemini belirtir. |
Yeni anahtar sözcükler/özellikler hakkında daha fazla bilgi için aşağıdaki sayfalara bakın:
- SQL Server için OLE DB Sürücüsü ile Bağlantı Dizesi Anahtar Sözcüklerini Kullanma
- Başlatma ve Yetkilendirme Özellikleri
Şifreleme ve sertifika doğrulama
Daha fazla bilgi için bkz . Şifreleme ve sertifika doğrulaması .
GUI eklemeleri
Sürücü grafik kullanıcı arabirimi, Microsoft Entra kimlik doğrulamasına izin verecek şekilde geliştirilmiştir. Daha fazla bilgi için bakınız:
Örnek bağlantı dizeleri
Bu bölümde IDataInitialize::GetDataSource ve DBPROP_INIT_PROVIDERSTRING özellikleriyle kullanılacak yeni ve mevcut bağlantı dizesi anahtar sözcüklerinin örnekleri gösterilir.
SQL kimlik doğrulaması
- kullanarak
IDataInitialize::GetDataSource:- Yeni:
Provider=MSOLEDBSQL19; Veri Kaynağı=[sunucu]; İlk Katalog=[veritabanı]; Authentication=SqlPassword; Kullanıcı Kimliği=[kullanıcıadı]; Password=[password]; Veri için Şifrelemeyi Kullanma=Zorunlu
- Kullanımdan Kaldırılmış
Provider=MSOLEDBSQL19; Veri Kaynağı=[sunucu]; İlk Katalog=[veritabanı]; Kullanıcı Kimliği=[kullanıcıadı]; Password=[password]; Veri için Şifrelemeyi Kullanma=Zorunlu
- Yeni:
- kullanarak
DBPROP_INIT_PROVIDERSTRING:- Yeni:
Sunucu=[sunucu]; Veritabanı=[veritabanı]; Authentication=SqlPassword; UID=[kullanıcıadı]; PWD=[parola]; Encrypt=Zorunlu
- Kullanımdan Kaldırıldı
Sunucu=[sunucu]; Veritabanı=[veritabanı]; UID=[kullanıcıadı]; PWD=[parola]; Encrypt=Zorunlu
- Yeni:
Güvenlik Desteği Sağlayıcısı Arabirimi (SSPI) kullanarak tümleşik Windows kimlik doğrulaması
- kullanarak
IDataInitialize::GetDataSource:- Yeni:
Provider=MSOLEDBSQL19; Veri Kaynağı=[sunucu]; İlk Katalog=[veritabanı]; Authentication=ActiveDirectoryIntegrated; Veri için Şifrelemeyi Kullanma=Zorunlu
- Artık Kullanılmıyor:
Provider=MSOLEDBSQL19; Veri Kaynağı=[sunucu]; İlk Katalog=[veritabanı]; Tümleşik Güvenlik=SSPI; Veri için Şifrelemeyi Kullanma=Zorunlu
- Yeni:
- kullanarak
DBPROP_INIT_PROVIDERSTRING:- Yeni:
Sunucu=[sunucu]; Veritabanı=[veritabanı]; Kimlik Doğrulama=ActiveDirectoryIntegrated; Şifreleme=Zorunlu
- Kaldırıl -mış:
Sunucu=[sunucu]; Veritabanı=[veritabanı]; Trusted_Connection=evet; Encrypt=Zorunlu
- Yeni:
Microsoft Entra kullanıcı adı ve parola kimlik doğrulaması
- kullanarak
IDataInitialize::GetDataSource:Provider=MSOLEDBSQL19; Veri Kaynağı=[sunucu]; İlk Katalog=[veritabanı]; Authentication=ActiveDirectoryPassword; Kullanıcı Kimliği=[kullanıcıadı]; Password=[password]; Veri için Şifrelemeyi Kullanma=Zorunlu
- kullanarak
DBPROP_INIT_PROVIDERSTRING:Sunucu=[sunucu]; Veritabanı=[veritabanı]; Authentication=ActiveDirectoryPassword; UID=[kullanıcıadı]; PWD=[parola]; Encrypt=Zorunlu
Microsoft Entra tümleşik kimlik doğrulaması
- kullanarak
IDataInitialize::GetDataSource:Provider=MSOLEDBSQL19; Veri Kaynağı=[sunucu]; İlk Katalog=[veritabanı]; Authentication=ActiveDirectoryIntegrated; Veri için Şifrelemeyi Kullanma=Zorunlu
- kullanarak
DBPROP_INIT_PROVIDERSTRING:Sunucu=[sunucu]; Veritabanı=[veritabanı]; Kimlik Doğrulama=ActiveDirectoryIntegrated; Şifreleme=Zorunlu
Erişim belirteci kullanarak Microsoft Entra kimlik doğrulaması
- kullanarak
IDataInitialize::GetDataSource:Provider=MSOLEDBSQL19; Veri Kaynağı=[sunucu]; İlk Katalog=[veritabanı]; Erişim Belirteci=[erişim belirteci]; Veri için Şifrelemeyi Kullanma=Zorunlu
- kullanarak
DBPROP_INIT_PROVIDERSTRING:DBPROP_INIT_PROVIDERSTRINGüzerinden erişim belirteci sağlanması desteklenmiyor
Microsoft Entra etkileşimli kimlik doğrulaması
- kullanarak
IDataInitialize::GetDataSource:Provider=MSOLEDBSQL19; Veri Kaynağı=[sunucu]; İlk Katalog=[veritabanı]; Authentication=ActiveDirectoryInteractive; Kullanıcı Kimliği=[kullanıcıadı]; Veri için Şifrelemeyi Kullanma=Zorunlu
- kullanarak
DBPROP_INIT_PROVIDERSTRING:Sunucu=[sunucu]; Veritabanı=[veritabanı]; Authentication=ActiveDirectoryInteractive; UID=[kullanıcıadı]; Encrypt=Zorunlu
Microsoft Entra yönetilen kimlik doğrulaması
- kullanarak
IDataInitialize::GetDataSource:- Kullanıcı tarafından atanan yönetilen kimlik:
Provider=MSOLEDBSQL19; Veri Kaynağı=[sunucu]; İlk Katalog=[veritabanı]; Authentication=ActiveDirectoryMSI; Kullanıcı Kimliği=[Nesne Kimliği]; Veri için Şifrelemeyi Kullanma=Zorunlu
- Sistem tarafından atanan yönetilen kimlik:
Provider=MSOLEDBSQL19; Veri Kaynağı=[sunucu]; İlk Katalog=[veritabanı]; Authentication=ActiveDirectoryMSI; Veri için Şifrelemeyi Kullanma=Zorunlu
- Kullanıcı tarafından atanan yönetilen kimlik:
- kullanarak
DBPROP_INIT_PROVIDERSTRING:- Kullanıcı tarafından atanan yönetilen kimlik:
Sunucu=[sunucu]; Veritabanı=[veritabanı]; Kimlik Doğrulama=ActiveDirectoryMSI; UID=[Nesne Kimliği]; Şifreleme=Zorunlu
- Sistem tarafından atanan yönetilen kimlik:
Sunucu=[sunucu]; Veritabanı=[veritabanı]; Kimlik Doğrulama=ActiveDirectoryMSI; Şifreleme=Zorunlu
- Kullanıcı tarafından atanan yönetilen kimlik:
Microsoft Entra hizmet sorumlusu kimlik doğrulaması
- kullanarak
IDataInitialize::GetDataSource:Provider=MSOLEDBSQL19; Veri Kaynağı=[sunucu]; Başlangıç Kataloğu=[veritabanı]; Authentication=ActiveDirectoryServicePrincipal; Kullanıcı Kimliği=[Uygulama (istemci) Kimliği]; Parola=[Uygulama (istemci) gizli dizisi]; Veri için Şifrelemeyi Kullanma=Zorunlu
- kullanarak
DBPROP_INIT_PROVIDERSTRING:Sunucu=[sunucu]; Veritabanı=[veritabanı]; Authentication=ActiveDirectoryServicePrincipal; UID=[Uygulama (istemci) kimliği]; PWD=[Uygulama (istemci) gizli dizisi]; Encrypt=Zorunlu
Kod örnekleri
Aşağıdaki örneklerde bağlantı anahtar sözcükleriyle Microsoft Entra ID'ye bağlanmak için gereken kod gösterilmektedir.
Erişim Belirteci
#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 ile Entegre
#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();
}
İlgili içerik
OAuth 2.0 kod verme akışını kullanarak Microsoft Entra web uygulamalarına erişim yetkisi verin.
SQL Server'da Microsoft Entra kimlik doğrulaması hakkında bilgi edinin.
OLE DB sürücüsünün desteklediği bağlantı dizesi anahtar sözcüklerini kullanarak sürücü bağlantılarını yapılandırın.