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 Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analitik Platform Sistemi (PDW)
Microsoft Fabric'te SQL veritabanı
Bir veritabanı kimlik bilgisi oluşturur. Veritabanı kimlik bilgileri bir sunucu oturum açma veya veritabanı kullanıcısı ile eşlenmez. Kimlik bilgisi, veritabanı erişim gerektiren bir işlem gerçekleştirdiği her durumda dış konuma erişmek için veritabanı tarafından kullanılır.
Transact-SQL söz dizimi kuralları
Syntax
CREATE DATABASE SCOPED CREDENTIAL credential_name
WITH IDENTITY = 'identity_name'
[ , SECRET = 'secret' ]
[ ; ]
Arguments
credential_name
Oluşturulan veritabanı kapsamlı kimlik bilgilerinin adını belirtir.
credential_name sayı (#) işaretiyle başlayamaz. Sistem kimlik bilgileri ile ##başlar.
en fazla credential_name uzunluğu 128 karakterdir.
KIMLIK = 'identity_name'
Sunucu dışına bağlanırken kullanılacak hesabın adını belirtir.
- Paylaşılan anahtar kullanarak Azure Blob Depolama'dan veya Azure Data Lake Storage'dan bir dosyayı içeri aktarmak için kimlik adı olmalıdır
SHARED ACCESS SIGNATURE. Paylaşılan erişim imzaları hakkında daha fazla bilgi için bkz . Paylaşılan Erişim İmzalarını (SAS) Kullanma. Yalnızca paylaşılan erişim imzası için kullanınIDENTITY = SHARED ACCESS SIGNATURE. - Yönetilen kimlik kullanarak Azure Blob Depolama'dan bir dosyayı içeri aktarmak için kimlik adı olmalıdır
MANAGED IDENTITY. - Kerberos kullanırken (Windows Active Directory veya MIT KDC) bağımsız değişkeninde
IDENTITYetki alanı adını kullanmayın. Yalnızca hesap adı olmalıdır. - BIR SQL Server örneğinde, olarak
SECRETIDENTITYkullanılan bir Depolama Erişim Anahtarı ile veritabanı kapsamlı kimlik bilgileri oluşturuluyorsa yoksayılır. -
WITH IDENTITYAzure Blob depolamadaki kapsayıcı anonim erişim için etkinleştirildiyse gerekli değildir. ileOPENROWSET BULKAzure Blob depolamayı sorgulama örneği için bkz. Azure Blob depolamada depolanan bir dosyadan tabloya aktarma. - SQL Server 2022 (16.x) ve sonraki sürümlerinde REST-API bağlayıcısı HADOOP'un yerini alır. Azure Blob Depolama ve Azure Data Lake 2. Nesil için desteklenen tek kimlik doğrulama yöntemi paylaşılan erişim imzasıdır. Daha fazla bilgi için bkz. CREATE EXTERNAL DATA SOURCE (Transact-SQL).
- SQL Server 2019'da (15.x), Kerberos kimlik doğrulamasını destekleyen tek PolyBase dış veri kaynağı Hadoop'tır. Diğer tüm dış veri kaynakları (SQL Server, Oracle, Teradata, MongoDB, genel ODBC) yalnızca Temel Kimlik Doğrulamayı destekler.
- Azure Synapse Analytics'teki SQL havuzları aşağıdaki notları içerir:
- Azure Synapse Analytics'e veri yüklemek için için
IDENTITYgeçerli herhangi bir değer kullanılabilir. - Azure Synapse Analytics sunucusuz SQL havuzunda, veritabanı kapsamlı kimlik bilgileri bir çalışma alanı yönetilen kimliği, hizmet asıl adı veya paylaşılan erişim imzası (SAS) belirteci belirtebilir. Microsoft Entra doğrudan kimlik doğrulaması tarafından etkinleştirilen bir kullanıcı kimliği üzerinden erişim, genel kullanıma açık depolamaya anonim erişim olduğu gibi veritabanı kapsamlı kimlik bilgileriyle de mümkündür. Daha fazla bilgi için bkz . Desteklenen depolama yetkilendirme türleri.
- Azure Synapse Analytics ayrılmış SQL havuzunda, veritabanı kapsamlı kimlik bilgileri paylaşılan erişim imzası (SAS) belirteci, özel uygulama kimliği, çalışma alanı yönetilen kimliği veya depolama erişim anahtarı belirtebilir.
- Azure Synapse Analytics'e veri yüklemek için için
| Authentication | T-SQL | Supported | Notes |
|---|---|---|---|
| Paylaşılan Erişim İmzası (SAS) |
CREATE DATABASE SCOPED CREDENTIAL <credential_name> WITH IDENTITY = 'SHARED ACCESS SIGNATURE', SECRET = 'secret'; |
SQL Server 2022 ve üzeri, Azure SQL Yönetilen Örneği, Azure Synapse Analytics, Azure SQL Veritabanı | |
| Yönetilen Kimlik | CREATE DATABASE SCOPED CREDENTIAL <credential_name> WITH IDENTITY = 'MANAGED IDENTITY'; |
Azure SQL Veritabanı, Azure SQL Yönetilen Örneği, Azure Arc ile SQL Server 2025 | Azure Arc'ı etkinleştirmek için Azure Arc tarafından etkinleştirilen SQL Server için Managed identity (SQL Server için yönetilen identite) bölümüne bakınız |
| Kullanıcı Kimliği aracılığıyla Microsoft Entra doğrudan kimlik doğrulaması | CREATE DATABASE SCOPED CREDENTIAL <credential_name> WITH IDENTITY = 'USER IDENTITY'; |
|
Azure Synapse'te bkz. Microsoft Entra Connect: Doğrudan Kimlik Doğrulaması |
| S3 Erişim Anahtarı Temel kimlik doğrulaması | CREATE DATABASE SCOPED CREDENTIAL <credential_name> WITH IDENTITY = 'S3 ACCESS KEY', SECRET = '<accesskey>:<secretkey>'; |
SQL Server 2022 ve sonraki sürümler | |
| ODBC Veri kaynakları veya Kerberos (MIT KDC) |
CREATE DATABASE SCOPED CREDENTIAL <credential_name> WITH IDENTITY = '<identity_name>', SECRET = '<secret>'; |
SQL Server 2019 ve sonraki sürümleri |
* Microsoft Fabric'teki SQL veritabanında, veritabanı kapsamında bir kimlik bilgisi belirtilmemişse, kimlik doğrulama yöntemi varsayılan olarak 'KULLANICI KİMİLİ' olur ve bağlam olarak Entra ID kullanıcı girişini kullanır.
SECRET = 'gizli'
Giden kimlik doğrulaması için gereken gizli diziyi belirtir.
SECRET azure blob depolamadan bir dosyayı içeri aktarmak için gereklidir. Azure Blob depolamadan Azure Synapse Analytics veya Paralel Veri Ambarı'na yüklemek için Gizli Anahtarın Azure Depolama Anahtarı olması gerekir.
Warning
SAS anahtar değeri bir soru işaretiyle (?) başlayabilir. SAS anahtarını kullandığınızda, baştaki ?öğesini kaldırın.
Remarks
Veritabanı kapsamlı kimlik bilgileri, SQL Server dışındaki bir kaynağa bağlanmak için gereken kimlik doğrulama bilgilerini içeren bir kayıttır. Çoğu kimlik bilgisi bir Windows kullanıcısı ve parolası içerir.
Veritabanı kapsamlı kimlik bilgileri içindeki hassas bilgileri korumak için bir veritabanı ana anahtarı (DMK) gerekir. DMK, veritabanı kapsamlı kimlik bilgilerindeki gizli diziyi şifreleyen bir simetrik anahtardır. Veritabanı kapsamlı kimlik bilgilerinin oluşturulabilmesi için önce veritabanının bir DMK'sı olmalıdır. DMK güçlü bir parolayla şifrelenmelidir. Azure SQL Veritabanı, veritabanı kapsamlı kimlik bilgilerini oluşturmanın bir parçası olarak veya sunucu denetimi oluşturmanın bir parçası olarak güçlü, rastgele seçilmiş bir parolaya sahip bir DMK oluşturur. Kullanıcılar mantıksal master veritabanında DMK oluşturamaz. Ana anahtar parolası Microsoft tarafından bilinmiyor ve oluşturulduktan sonra bulunamaz. Bu nedenle veritabanı kapsamlı kimlik bilgileri oluşturmadan önce DMK oluşturulması önerilir. Daha fazla bilgi için bkz. CREATE MASTER KEY (Transact-SQL).
KIMLIK bir Windows kullanıcısı olduğunda gizli dizi parola olabilir. Gizli dizi, hizmet ana anahtarı (SMK) kullanılarak şifrelenir. SMK yeniden oluşturulursa, gizli dizi yeni SMK kullanılarak yeniden şifrelenir.
PolyBase dış tablosuyla kullanılmak üzere paylaşılan erişim imzaları (SAS) için izinler verilirken, izin verilen kaynak türleri olarak hem Kapsayıcı hem de Nesne'yi seçin. Verilmezse, dış tabloya erişmeye çalışırken 16535 veya 16561 hatasını alabilirsiniz.
Veritabanı kapsamlı kimlik bilgileri hakkındaki bilgiler sys.database_scoped_credentials katalog görünümünde görünür.
Veritabanı kapsamlı kimlik bilgilerinin bazı uygulamaları şunlardır:
SQL Server, genel olmayan Azure Blob Depolama'ya veya PolyBase ile Kerberos güvenli Hadoop kümelerine erişmek için veritabanı kapsamlı bir kimlik bilgisi kullanır. Daha fazla bilgi edinmek için bkz. CREATE EXTERNAL DATA SOURCE (Transact-SQL).
Azure Synapse Analytics, PolyBase ile genel olmayan Azure Blob Depolama'ya erişmek için veritabanı kapsamlı bir kimlik bilgisi kullanır. Daha fazla bilgi edinmek için bkz. CREATE EXTERNAL DATA SOURCE (Transact-SQL). Azure Synapse depolama kimlik doğrulaması hakkında daha fazla bilgi için bkz. Synapse SQL ile dış tabloları kullanma.
SQL Veritabanı , elastik sorgu özelliği için veritabanı kapsamlı kimlik bilgilerini kullanır. Bu, birden çok veritabanı parçası arasında sorgu yapabilme özelliğidir.
SQL Veritabanı, Azure Blob Depolama'ya genişletilmiş olay dosyaları yazmak için veritabanı kapsamlı kimlik bilgilerini kullanır.
SQL Veritabanı, elastik havuzlar için veritabanı kapsamlı kimlik bilgilerini kullanır. Daha fazla bilgi için bkz . Elastik veritabanlarıyla patlayıcı büyümeyi tamleştirme
BULK INSERT (Transact-SQL) ve OPENROWSET (Transact-SQL), Azure Blob Depolama'dan verilere erişmek için veritabanı kapsamlı kimlik bilgilerini kullanır. Daha fazla bilgi için bkz. Azure Blob Depolama'da Verilere Toplu Erişim Örnekleri.
PolyBase ile veritabanı kapsamlı kimlik bilgilerini kullanın ve Azure SQL Yönetilen Örneği veri sanallaştırma özelliklerini. ve
BACKUP TO URLiçinRESTORE FROM URL, bunun yerine CREATE CREDENTIAL (Transact-SQL) aracılığıyla sunucu düzeyinde bir kimlik bilgisi kullanın.
Permissions
Veritabanında CONTROL izni gerektirir.
Examples
A. Uygulamanız için veritabanı kapsamlı kimlik bilgileri oluşturma
Aşağıdaki örnek adlı AppCredveritabanı kapsamlı kimlik bilgilerini oluşturur. Veritabanı kapsamlı kimlik bilgileri Windows kullanıcısını Mary5 ve parolayı içerir.
-- Create a db master key if one does not already exist, using your own password.
CREATE MASTER KEY ENCRYPTION BY PASSWORD='<EnterStrongPasswordHere>';
-- Create a database scoped credential.
CREATE DATABASE SCOPED CREDENTIAL AppCred WITH IDENTITY = 'Mary5',
SECRET = '<EnterStrongPasswordHere>';
B. Paylaşılan erişim imzası için veritabanı kapsamlı kimlik bilgisi oluşturma
Aşağıdaki örnek, BULK INSERT (Transact-SQL) ve OPENROWSET (Transact-SQL) gibi toplu işlemler yapabilen bir dış veri kaynağı oluşturmak için kullanılabilecek veritabanı kapsamlı bir kimlik bilgisi oluşturur.
-- Create a db master key if one does not already exist, using your own password.
CREATE MASTER KEY ENCRYPTION BY PASSWORD='<EnterStrongPasswordHere>';
-- Create a database scoped credential.
CREATE DATABASE SCOPED CREDENTIAL MyCredentials
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'QLYMgmSXMklt%2FI1U6DcVrQixnlU5Sgbtk1qDRakUBGs%3D';
C. Azure Data Lake Store'a PolyBase Bağlantısı için veritabanı kapsamlı kimlik bilgileri oluşturma
Aşağıdaki örnek, Azure Synapse Analytics'te PolyBase tarafından kullanılabilen bir dış veri kaynağı oluşturmak için kullanılabilecek veritabanı kapsamlı bir kimlik bilgisi oluşturur.
Azure Data Lake Store, hizmet-hizmet kimlik doğrulaması için bir Microsoft Entra uygulaması kullanır.
Bir Microsoft Entra uygulaması oluşturun ve veritabanı kapsamlı bir kimlik bilgisi oluşturmaya çalışmadan önce client_id, OAuth_2.0_Token_EndPoint ve Key belgeleyin.
-- Create a db master key if one does not already exist, using your own password.
CREATE MASTER KEY ENCRYPTION BY PASSWORD='<EnterStrongPasswordHere>';
-- Create a database scoped credential.
CREATE DATABASE SCOPED CREDENTIAL ADL_User
WITH
IDENTITY = '<client_id>@<OAuth_2.0_Token_EndPoint>',
SECRET = '<key>';
D. Yönetilen Kimlik kullanarak veritabanı kapsamlı kimlik bilgisi oluşturma
Şunlar için geçerlidir: SQL Server 2025 (17.x)
SQL Server 2025 (17.x), Microsoft Entra yönetilen kimlikleri için destek sağlar. Azure Arc tarafından etkinleştirilen SQL Server ile yönetilen kimlik kullanma hakkında bilgi için bkz. Yönetilen Kimlik.
SP_CONFIGURE 'allow server scoped db credentials',1;
RECONFIGURE;
CREATE DATABASE SCOPED CREDENTIAL [managed_id]
WITH IDENTITY = 'Managed Identity';
#. Microsoft Entra ID kullanarak veritabanı kapsamlı bir kimlik bilgisi oluşturun
Şunlar için geçerlidir:Azure SQL Database, SQL database in Microsoft Fabric
Azure SQL Veritabanı ve Microsoft Fabric'teki SQL veritabanında, harici bir veri kaynağını doğrulamak için kendi Entra ID girişinizi kullanmak mümkündür.
Microsoft Fabric'teki SQL veritabanında, veritabanı kapsamında bir kimlik bilgisi belirtilmediyse, kimlik doğrulama yöntemi varsayılan olarak USER IDENTITY Entra ID kullanıcı girişini bağlam olarak kullanır ve kullanır.
CREATE DATABASE SCOPED CREDENTIAL MyCredential
WITH IDENTITY = 'User Identity';