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 2025 (17.x) ve sonraki sürümleri
SQL Server 2025 'den (17.x) başlayarak, aşağıdaki Azure kaynaklarına erişmek için yönetilen kimliği kullanabilirsiniz:
- Azure Blob Saklama Alanı
- Azure Data Lake
Önkoşullar
- SQL Server 2025 (17.x)
- Azure Arc tarafından etkinleştirilen SQL Server
-
allow server scoped db credentialsSunucu yapılandırma seçeneğini etkinleştirme - Yönetilen kimliğe Azure Blob Depolama kaynağına erişim verin.
Veritabanı kapsamlı kimlik bilgileri oluşturma
Yönetilen kimlik için veritabanı kapsamlı bir kimlik bilgisi ekleyin.
Sunucu kapsamlı veritabanı kimlik bilgilerine izin ver. Aşağıdaki Transact-SQL sorgusunu çalıştırın:
EXECUTE sp_configure 'allow server scoped db credentials', 1; GO RECONFIGURE;Veritabanı kapsamlı bir kimlik bilgisi oluşturun. Bu örnekte adı
managed_idkullanılır:CREATE DATABASE SCOPED CREDENTIAL [managed_id] WITH IDENTITY = 'Managed Identity';
Dış veri kaynağı oluşturma
Aşağıdaki ayarlarla dış veri kaynağını oluşturun.
Bağlayıcı konumu ön eki
abs
Konum yolu
-
abs://<container_name>@<storage_account_name>.blob.core.windows.net/veya abs://<storage_account_name>.blob.core.windows.net/<container_name>
-
Ürüne/hizmete göre desteklenen konumlar
- Azure Arc tarafından etkinleştirilen SQL Server 2025 (17.x)
- SQL Server 2022 (16.x): Desteklenen hiyerarşik ad alanı
Kimlik Doğrulaması
- Paylaşılan erişim imzası (SAS) veya
- İdare edilen kimlik
Azure Blob Depolama'da Parquet dosyası sorgulama
SQL Server 2025 (17.x), Azure Arc aracılığıyla yönetilen kimliği destekler. Yönergeler için bkz. Azure Arc tarafından etkinleştirilen SQL Server için yönetilen kimlik.
Aşağıdaki örnek, Azure Blob Depolama'da bir Parquet dosyasını sorgular:
EXECUTE sp_configure 'allow server scoped db credentials', 1;
RECONFIGURE;
GO
CREATE DATABASE SCOPED CREDENTIAL [managed_id]
WITH IDENTITY = 'Managed Identity';
CREATE EXTERNAL DATA SOURCE [my_external_data_source]
WITH (
LOCATION = 'abs://<container>@<storage_account_name>.blob.core.windows.net/',
CREDENTIAL = managed_id
);
Hatalar ve çözümler
Dış tablo erişilebilir değil (Hata 16562)
Önkoşullar eksikse Azure Blob Depolama'ya veya Azure Data Lake'e erişmeye çalışırken hata 16562 ile karşılaşabilirsiniz:
Msg 16562, Level 16, State 1, Line 79
External table <name> is not accessible because location does not exist or it is used by another process.
Aşağıdaki öğeleri denetleyin:
SQL Server örneği Azure Arc için düzgün yapılandırıldı. Daha fazla bilgi için bkz. Azure Arc tarafından etkinleştirilen SQL Server için yönetilen kimlik.
Gerekli kayıt defteri girdileri var.
Sunucu yapılandırma seçeneğinin
allow server scoped db credentialsetkinleştirildiğini doğrulayın.
Dosya açılamıyor (Hata 13822)
Yönetilen kimlik depolama hesabında izinlere sahip değilse veya depolamaya ağ erişimi engellendiyse Azure Blob Depolama'ya veya Azure Data Lake'e eriştiğinde 13822 hatasıyla karşılaşabilirsiniz.
Msg 13822, Level 16, State 1, Line 9
File <file> cannot be opened because it does not exist or it is used by another process.
Aşağıdaki öğeleri denetleyin:
- Yönetilen kimliğin depolama kapsayıcısı için izinleri var mı?
- Yönetilen kimlik, SQL Server dışındaki depolama konteynerine erişebilir mi?
- Dosya özel olarak kilitlendi mi?