Azure Synapse Analytics'te sunucusuz SQL havuzu için depolama hesabı erişimini denetleme
Sunucusuz SQL havuzu sorgusu dosyaları doğrudan Azure Depolama'dan okur. Azure depolamadaki dosyalara erişim izinleri iki düzeyde denetlenmektedir:
- Depolama düzeyi - Kullanıcının temel alınan depolama dosyalarına erişme izni olmalıdır. Depolama yöneticiniz, Microsoft Entra sorumlusuna dosyaları okuma/yazma veya depolamaya erişmek için kullanılacak paylaşılan erişim imzası (SAS) anahtarı oluşturma izni vermelidir.
- SQL hizmet düzeyi - Kullanıcının dış tablo kullanarak verileri okuma veya işlevi yürütme
OPENROWSET
izni vermesi gerekir. Bu bölümde gereken izinler hakkında daha fazla bilgi edinin.
Bu makalede, kullanabileceğiniz kimlik bilgileri türleri ve SQL ve Microsoft Entra kullanıcıları için kimlik bilgisi aramanın nasıl işlendiği açıklanmaktadır.
Depolama izinleri
Synapse Analytics çalışma alanındaki sunucusuz SQL havuzu, Azure Data Lake depolamada depolanan dosyaların içeriğini okuyabilir. SQL sorgusu yürüten bir kullanıcının dosyaları okumasını sağlamak için depolama izinlerini yapılandırmanız gerekir. Dosyalara erişimi etkinleştirmek için üç yöntem vardır:
- Rol tabanlı erişim denetimi (RBAC), depolama alanınızın yerleştirildiği kiracıdaki bazı Microsoft Entra kullanıcılarına rol atamanızı sağlar. Okuyucu, depolama hesabında Depolama Blob Veri Okuyucusu, blob veri katkıda bulunanı Depolama veya blob veri sahibi rolü Depolama üyesi olmalıdır. Azure depolama alanına veri yazan bir kullanıcının Depolama Blob Verileri Katkıda Bulunanı veya Depolama Blob Veri Sahibi rolünün üyesi olması gerekir. Depolama Sahibi rolü, bir kullanıcının da Veri Sahibi Depolama anlamına gelmez.
- Erişim Denetim Listeleri (ACL), Azure depolamadaki dosyalar ve dizinler üzerinde ayrıntılı Okuma(R), Yazma(W) ve Yürütme(X) izinleri tanımlamanızı sağlar. ACL, Microsoft Entra kullanıcılarına atanabilir. Okuyucuların Azure Depolama’daki bir yolda bulunan bir dosyayı okuyabilmeleri için dosya yolundaki tüm klasörlerde Yürütme (X) ACL izinlerine ve dosyanın kendisinde Okuma (R) ACL iznine sahip olmaları gerekir. Depolama katmanında ACL izinlerini ayarlama hakkında daha fazla bilgi edinin.
- Paylaşılan erişim imzası (SAS), okuyucunun Azure Data Lake depolamadaki dosyalara sınırlı zaman belirteci kullanarak erişmesini sağlar. Okuyucunun Microsoft Entra kullanıcısı olarak kimliğinin doğrulanması bile gerekmez. SAS belirteci, okuyucuya verilen izinleri ve belirtecin geçerli olduğu süreyi içerir. SAS belirteci, aynı Microsoft Entra kiracısında olması gerekmeyen herhangi bir kullanıcıya zaman kısıtlı erişim için iyi bir seçimdir. SAS belirteci depolama hesabında veya belirli dizinlerde tanımlanabilir. Paylaşılan erişim imzalarını kullanarak Azure Depolama kaynaklarına sınırlı erişim izni verme hakkında daha fazla bilgi edinin.
Alternatif olarak anonim erişime izin vererek dosyalarınızı herkese açık hale getirebilirsiniz. Genel olmayan verileriniz varsa bu yaklaşımı KULLANMAYIN.
Desteklenen depolama yetkilendirme türleri
Sunucusuz SQL havuzunda oturum açmış bir kullanıcının, dosyalar genel kullanıma açık değilse Azure Depolama'daki dosyalara erişme ve dosyaları sorgulama yetkisine sahip olması gerekir. Genel olmayan depolama alanına erişmek için dört yetkilendirme türü kullanabilirsiniz: kullanıcı kimliği, paylaşılan erişim imzası, hizmet sorumlusu ve yönetilen kimlik.
Dekont
Microsoft Entra geçişi , çalışma alanı oluşturduğunuzda varsayılan davranıştır.
"Microsoft Entra geçişi" olarak da bilinen kullanıcı kimliği, sunucusuz SQL havuzunda oturum açan Microsoft Entra kullanıcısının kimliğinin veri erişimini yetkilendirmek için kullanıldığı bir yetkilendirme türüdür. Verilere erişmeden önce Azure Depolama yöneticisinin Microsoft Entra kullanıcısına izin vermesi gerekir. Veritabanı kullanıcıları için desteklenen yetkilendirme türleri tablosunda belirtildiği gibi, SQL kullanıcı türü için desteklenmez.
Önemli
Microsoft Entra kimlik doğrulama belirteci istemci uygulamaları tarafından önbelleğe alınmış olabilir. Örneğin Power BI, Microsoft Entra belirteçlerini önbelleğe alır ve aynı belirteci bir saat boyunca yeniden kullanabilir. Sorgu yürütmenin ortasında belirtecin süresi dolarsa uzun süre çalışan sorgular başarısız olabilir. Sorgunun ortasında süresi dolan Microsoft Entra erişim belirtecinin neden olduğu sorgu hatalarıyla karşılaşıyorsanız, hizmet sorumlusuna, yönetilen kimliğe veya paylaşılan erişim imzasına geçmeyi göz önünde bulundurun.
Verilere erişmek için kimliğinizi kullanmak için Depolama Blob Veri Sahibi, blob veri katkıda bulunanı Depolama veya blob veri okuyucusu rolünün Depolama üyesi olmanız gerekir. Alternatif olarak, dosya ve klasörlere erişmek için ayrıntılı ACL kuralları belirtebilirsiniz. bir Depolama Hesabının Sahibi olsanız bile, Depolama Blob Verileri rollerinden birine kendinizi eklemeniz gerekir. Azure Data Lake Store 2. Nesil'de erişim denetimi hakkında daha fazla bilgi edinmek için Azure Data Lake Storage 2. Nesil erişim denetimi makalesini gözden geçirin.
Kiracılar arası senaryolar
Azure Depolama Synapse sunucusuz SQL havuzundan farklı bir kiracıda olduğunda, önerilen yöntem Hizmet Sorumlusu aracılığıyla yetkilendirmedir. Yönetilen Kimlik desteklenmezken SAS yetkilendirmesi de mümkündür.
Yetkilendirme Türü | Güvenlik duvarı korumalı depolama alanı | Güvenlik duvarı olmayan korumalı depolama |
---|---|---|
SAS | Desteklenir | Desteklenir |
Hizmet Sorumlusu | Desteklenmiyor | Desteklenir |
Dekont
Azure Depolama bir Azure Depolama güvenlik duvarı tarafından korunuyorsa Hizmet Sorumlusu desteklenmez.
Veritabanları kullanıcıları için desteklenen yetkilendirme türleri
Aşağıdaki tabloda, Azure Synapse Analytics sunucusuz SQL uç noktasında farklı oturum açma yöntemleri için kullanılabilir Azure Depolama yetkilendirme türleri sağlanır:
Yetki türü | SQL kullanıcısı | Microsoft Entra kullanıcısı | Hizmet sorumlusu |
---|---|---|---|
Kullanıcı Kimliği | Desteklenmiyor | Desteklenir | Desteklenir |
SAS | Desteklenir | Desteklenir | Desteklenir |
Hizmet sorumlusu | Desteklenir | Desteklenir | Desteklenir |
Yönetilen Kimlik | Desteklenir | Desteklenir | Desteklenir |
Desteklenen depolama ve yetkilendirme türleri
Yetkilendirme türlerinin ve Azure Depolama türlerinin aşağıdaki birleşimlerini kullanabilirsiniz:
Yetki türü | Blob Depolama | ADLS 1. Nesil | ADLS 2. Nesil |
---|---|---|---|
SAS | Desteklenir | Desteklenmez | Desteklenir |
Hizmet sorumlusu | Desteklenir | Desteklenir | Desteklenir |
Yönetilen Kimlik | Desteklenir | Desteklenir | Desteklenir |
Kullanıcı Kimliği | Desteklenir | Desteklenir | Desteklenir |
Kiracılar arası senaryolar
Azure Depolama Azure Synapse Analytics sunucusuz SQL havuzundan farklı bir kiracıda olduğunda, önerilen yöntem hizmet sorumlusu aracılığıyla yetkilendirmedir. Paylaşılan erişim imzası yetkilendirmesi de mümkündür. Yönetilen hizmet kimliği desteklenmez.
Yetkilendirme Türü | Güvenlik duvarı korumalı depolama alanı | Güvenlik duvarı olmayan korumalı depolama |
---|---|---|
SAS | Desteklenir | Desteklenir |
Hizmet sorumlusu | Desteklenmiyor | Desteklenir |
Dekont
Azure Depolama bir Azure Depolama güvenlik duvarı tarafından korunuyorsa ve başka bir kiracıdaysa hizmet sorumlusu desteklenmez. Bunun yerine, paylaşılan erişim imzası (SAS) kullanın.
Güvenlik duvarı korumalı depolama alanı
Bir kaynak örneği kuralı oluşturarak depolama hesaplarını belirli bir sunucusuz SQL havuzuna erişime izin verecek şekilde yapılandırabilirsiniz. Güvenlik duvarıyla korunan depolama alanına erişirken Kullanıcı Kimliği veya Yönetilen Kimlik kullanın.
Dekont
Azure Depolama güvenlik duvarı özelliği genel önizleme aşamasındadır ve tüm genel bulut bölgelerinde kullanılabilir.
Aşağıdaki tabloda, Azure Synapse Analytics sunucusuz SQL uç noktasında farklı oturum açma yöntemleri için güvenlik duvarı korumalı Azure Depolama yetkilendirme türleri sağlanır:
Yetki türü | SQL kullanıcısı | Microsoft Entra kullanıcısı | Hizmet sorumlusu |
---|---|---|---|
Kullanıcı Kimliği | Desteklenmiyor | Desteklenir | Desteklenir |
SAS | Desteklenmiyor | Desteklenmiyor | Desteklenmiyor |
Hizmet sorumlusu | Desteklenmiyor | Desteklenmiyor | Desteklenmiyor |
Yönetilen Kimlik | Desteklenir | Desteklenir | Desteklenir |
Güvenlik duvarıyla korunan depolamaya bir kullanıcı kimliği aracılığıyla erişmek için Azure portalını veya Az.Depolama PowerShell modülünü kullanabilirsiniz.
Azure portal aracılığıyla Azure Depolama güvenlik duvarı yapılandırması
- Azure portalında Depolama Hesabınızı arayın.
- Ana gezinti menüsünde Ayarlar altındaki Ağ'a gidin.
- Kaynak örnekleri bölümünde Azure Synapse çalışma alanınız için bir özel durum ekleyin.
- Kaynak türü olarak seçin
Microsoft.Synapse/workspaces
. - Örnek adı olarak çalışma alanınızın adını seçin.
- Kaydet'i seçin.
PowerShell aracılığıyla Azure Depolama güvenlik duvarı yapılandırması
Depolama hesabınızı yapılandırmak ve Azure Synapse çalışma alanı için özel durum eklemek için bu adımları izleyin.
PowerShell'i açın veya PowerShell'i yükleyin.
Az.Depolama modülünün ve Az.Synapse modülünün en son sürümlerini, örneğin aşağıdaki betikte yükleyin:
Install-Module -Name Az.Storage -RequiredVersion 3.4.0 Install-Module -Name Az.Synapse -RequiredVersion 0.7.0
Önemli
En az 3.4.0 sürümünü kullandığınızdan emin olun. Şu komutu çalıştırarak Az.Depolama sürümünüzü de kontrol edebilirsiniz:
Get-Module -ListAvailable -Name Az.Storage | Select Version
Azure Kiracınıza Bağlan:
Connect-AzAccount
PowerShell'de değişkenleri tanımlama:
- Kaynak grubu adı : Bunu Azure portalında depolama hesabınıza genel bakış bölümünde bulabilirsiniz.
- Hesap Adı - Güvenlik duvarı kurallarıyla korunan depolama hesabının adı.
- Kiracı Kimliği - Bunu Azure portalında, Microsoft Entra Id'de, Özellikler'in altında, Kiracı özellikleri'nde bulabilirsiniz.
- Çalışma Alanı Adı - Azure Synapse çalışma alanının adı.
$resourceGroupName = "<resource group name>" $accountName = "<storage account name>" $tenantId = "<tenant id>" $workspaceName = "<Azure Synapse workspace name>" $workspace = Get-AzSynapseWorkspace -Name $workspaceName $resourceId = $workspace.Id $index = $resourceId.IndexOf("/resourceGroups/", 0) # Replace G with g - /resourceGroups/ to /resourcegroups/ $resourceId = $resourceId.Substring(0,$index) + "/resourcegroups/" ` + $resourceId.Substring($index + "/resourceGroups/".Length) $resourceId
Önemli
PowerShell betiği tarafından döndürülen değerinin
$resourceid
şu şablonla eşleşmesi gerekir:/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Synapse/workspaces/{name-of-workspace}
Kaynak gruplarını küçük harfle yazmak önemlidir.Azure depolama hesabı ağ kuralı ekleyin:
$parameters = @{ ResourceGroupName = $resourceGroupName Name = $accountName TenantId = $tenantId ResourceId = $resourceId } Add-AzStorageAccountNetworkRule @parameters
Depolama hesabı güvenlik duvarınıza depolama hesabı ağ kuralının uygulandığını doğrulayın. Aşağıdaki PowerShell betiği, önceki adımlardan
$resourceid
gelen değişkeni depolama hesabı ağ kuralının çıkışıyla karşılaştırır.$parameters = @{ ResourceGroupName = $resourceGroupName Name = $accountName } $rule = Get-AzStorageAccountNetworkRuleSet @parameters $rule.ResourceAccessRules | ForEach-Object { if ($_.ResourceId -cmatch "\/subscriptions\/(\w\-*)+\/resourcegroups\/(.)+") { Write-Host "Storage account network rule is successfully configured." -ForegroundColor Green $rule.ResourceAccessRules } else { Write-Host "Storage account network rule is not configured correctly. Remove this rule and follow the steps in detail." -ForegroundColor Red $rule.ResourceAccessRules } }
Kimlik Bilgileri
Azure Depolama'da bulunan bir dosyayı sorgulamak için sunucusuz SQL havuzu uç noktanızın kimlik doğrulama bilgilerini içeren bir kimlik bilgilerine ihtiyacı vardır. İki tür kimlik bilgisi kullanılır:
- Sunucu düzeyinde kimlik bilgileri, işlev kullanılarak
OPENROWSET
yürütülen geçici sorgular için kullanılır. Kimlik bilgisi adı depolama URL'si ile eşleşmelidir. - Dış tablolar için veritabanı kapsamlı kimlik bilgileri kullanılır. Depolamaya erişmek için kullanılması gereken kimlik bilgilerine sahip dış tablo başvuruları
DATA SOURCE
.
Kimlik bilgilerini yönetme izinleri verme
Kimlik bilgilerini yönetme yeteneği vermek için:
Bir kullanıcının sunucu düzeyinde kimlik bilgileri oluşturmasına veya bırakmasına izin vermek için, yöneticinin
ALTER ANY CREDENTIAL
ana veritabanında oturum açma izni vermesi gerekir. Örnek:GRANT ALTER ANY CREDENTIAL TO [login_name];
Bir kullanıcının veritabanı kapsamlı kimlik bilgileri oluşturmasına veya bırakmasına izin vermek için, yöneticinin
CONTROL
veritabanındaki izni kullanıcı veritabanındaki veritabanı kullanıcısına vermesi gerekir. Örnek:GRANT CONTROL ON DATABASE::[database_name] TO [user_name];
Kimlik bilgilerini kullanma izinleri verme
Dış depolama alanına erişen veritabanı kullanıcılarının kimlik bilgilerini kullanma izni olmalıdır. Kimlik bilgilerini kullanmak için kullanıcının belirli bir kimlik bilgisi üzerinde izni olmalıdır REFERENCES
.
Oturum açma için sunucu düzeyinde kimlik bilgilerine izin vermek REFERENCES
için ana veritabanında aşağıdaki T-SQL sorgusunu kullanın:
GRANT REFERENCES ON CREDENTIAL::[server-level_credential] TO [login_name];
Veritabanı kullanıcısı için veritabanı kapsamlı kimlik bilgilerine izin vermek REFERENCES
için, kullanıcı veritabanında aşağıdaki T-SQL sorgusunu kullanın:
GRANT REFERENCES ON DATABASE SCOPED CREDENTIAL::[database-scoped_credential] TO [user_name];
Sunucu düzeyinde kimlik bilgileri
Sunucu düzeyinde kimlik bilgileri, sql oturum açma bilgileri OPENROWSET
depolama hesabındaki dosyaları okumak için olmadan DATA_SOURCE
çalıştığında kullanılır.
Sunucu düzeyinde kimlik bilgilerinin adı, azure depolamanın temel URL'sine ve isteğe bağlı olarak bir kapsayıcı adıyla eşleşmelidir . CREATE CREDENTIAL çalıştırılarak bir kimlik bilgisi eklenir. Bağımsız değişkeni sağlamanız CREDENTIAL NAME
gerekir.
Dekont
Bağımsız FOR CRYPTOGRAPHIC PROVIDER
değişken desteklenmiyor.
Sunucu düzeyinde KIMLIK BILGISI adı şu biçimle eşleşmelidir: <prefix>://<storage_account_path>[/<container_name>]
. Depolama hesap yolları aşağıdaki tabloda açıklanmıştır:
Dış Veri Kaynağı | Önek | hesap yolunu Depolama |
---|---|---|
Azure Blob Depolama | https |
<storage_account>.blob.core.windows.net |
Azure Data Lake Storage Gen1 | https |
<storage_account>.azuredatalakestore.net/webhdfs/v1 |
Azure Data Lake Storage Gen2 | https |
<storage_account>.dfs.core.windows.net |
Sunucu düzeyinde kimlik bilgileri daha sonra aşağıdaki kimlik doğrulama türlerini kullanarak Azure depolamaya erişebilir:
Microsoft Entra kullanıcıları, Depolama Blob Veri Sahibi, Depolama Blob Veri Katkıda Bulunanı veya Depolama Blob Veri Okuyucusu rolünün üyesi olmaları durumunda Azure depolamadaki tüm dosyalara erişebilir. Microsoft Entra kullanıcılarının depolamaya erişmek için kimlik bilgilerine ihtiyacı yoktur.
SQL kimliği doğrulanmış kullanıcılar depolama alanına erişmek için Microsoft Entra kimlik doğrulamasını kullanamaz. Yönetilen Kimlik, SAS Anahtarı, Hizmet Sorumlusu kullanarak veya depolamaya genel erişim varsa, bir veritabanı kimlik bilgileri aracılığıyla depolamaya erişebilirler.
Veritabanı kapsamlı kimlik bilgileri
Veritabanı kapsamlı kimlik bilgileri, herhangi bir sorumlu çağrısı OPENROWSET
ortak dosyalara erişmeyen dış tabloyla DATA_SOURCE
çalıştığında veya bu tablodan veri seçtiğinde kullanılır. Veritabanı kapsamlı kimlik bilgilerinin depolama hesabının adıyla eşleşmesi gerekmez; depolama konumunu tanımlayan VERİ KAYNAKI'nda başvurulur.
Veritabanı kapsamlı kimlik bilgileri aşağıdaki kimlik doğrulama türlerini kullanarak Azure depolamaya erişimi etkinleştirir:
Microsoft Entra kullanıcıları Depolama Blob Veri Sahibi, Depolama Blob Veri Katkıda Bulunanı veya Depolama Blob Veri Okuyucusu rollerinin üyesi olmaları durumunda Azure depolamadaki herhangi bir dosyaya erişebilir. Microsoft Entra kullanıcılarının depolamaya erişmek için kimlik bilgilerine ihtiyacı yoktur.
CREATE EXTERNAL DATA SOURCE mysample
WITH ( LOCATION = 'https://<storage_account>.dfs.core.windows.net/<container>/<path>'
)
SQL kimliği doğrulanmış kullanıcılar depolama alanına erişmek için Microsoft Entra kimlik doğrulamasını kullanamaz. Yönetilen Kimlik, SAS Anahtarı, Hizmet Sorumlusu kullanarak veya depolamaya genel erişim varsa, bir veritabanı kimlik bilgileri aracılığıyla depolamaya erişebilirler.
Veritabanı kapsamlı kimlik bilgileri, dış veri kaynaklarında bu depolamaya erişmek için hangi kimlik doğrulama yönteminin kullanılacağını belirtmek için kullanılır:
CREATE EXTERNAL DATA SOURCE mysample
WITH ( LOCATION = 'https://<storage_account>.dfs.core.windows.net/<container>/<path>',
CREDENTIAL = <name of database scoped credential>
)
Örnekler
Genel kullanıma açık bir veri kaynağına erişme
Genel kullanıma açık veri kaynağına erişen bir tablo oluşturmak için aşağıdaki betiği kullanın.
CREATE EXTERNAL FILE FORMAT [SynapseParquetFormat]
WITH ( FORMAT_TYPE = PARQUET)
GO
CREATE EXTERNAL DATA SOURCE publicData
WITH ( LOCATION = 'https://<storage_account>.dfs.core.windows.net/<public_container>/<path>' )
GO
CREATE EXTERNAL TABLE dbo.userPublicData ( [id] int, [first_name] varchar(8000), [last_name] varchar(8000) )
WITH ( LOCATION = 'parquet/user-data/*.parquet',
DATA_SOURCE = [publicData],
FILE_FORMAT = [SynapseParquetFormat] )
Veritabanı kullanıcısı, dış tablo veya veri kaynağına başvuran OPENROWSET işlevini kullanarak veri kaynağındaki dosyaların içeriğini okuyabilir:
SELECT TOP 10 * FROM dbo.userPublicData;
GO
SELECT TOP 10 * FROM OPENROWSET(BULK 'parquet/user-data/*.parquet',
DATA_SOURCE = 'mysample',
FORMAT='PARQUET') as rows;
GO
Kimlik bilgilerini kullanarak veri kaynağına erişme
SAS belirtecini, kullanıcının Microsoft Entra kimliğini veya çalışma alanının yönetilen kimliğini kullanarak Azure depolamaya erişen bir dış tablo oluşturmak için aşağıdaki betiği değiştirin.
-- Create master key in databases with some password (one-off per database)
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<strong password>'
GO
-- Create databases scoped credential that use Managed Identity, SAS token or service principal. User needs to create only database-scoped credentials that should be used to access data source:
CREATE DATABASE SCOPED CREDENTIAL WorkspaceIdentity
WITH IDENTITY = 'Managed Identity'
GO
CREATE DATABASE SCOPED CREDENTIAL SasCredential
WITH IDENTITY = 'SHARED ACCESS SIGNATURE', SECRET = 'sv=2019-10-1********ZVsTOL0ltEGhf54N8KhDCRfLRI%3D'
GO
CREATE DATABASE SCOPED CREDENTIAL SPNCredential WITH
IDENTITY = '**44e*****8f6-ag44-1890-34u4-22r23r771098@https://login.microsoftonline.com/**do99dd-87f3-33da-33gf-3d3rh133ee33/oauth2/token'
, SECRET = '.7OaaU_454azar9WWzLL.Ea9ePPZWzQee~'
GO
-- Create data source that one of the credentials above, external file format, and external tables that reference this data source and file format:
CREATE EXTERNAL FILE FORMAT [SynapseParquetFormat] WITH ( FORMAT_TYPE = PARQUET)
GO
CREATE EXTERNAL DATA SOURCE mysample
WITH ( LOCATION = 'https://<storage_account>.dfs.core.windows.net/<container>/<path>'
-- Uncomment one of these options depending on authentication method that you want to use to access data source:
--,CREDENTIAL = WorkspaceIdentity
--,CREDENTIAL = SasCredential
--,CREDENTIAL = SPNCredential
)
CREATE EXTERNAL TABLE dbo.userData ( [id] int, [first_name] varchar(8000), [last_name] varchar(8000) )
WITH ( LOCATION = 'parquet/user-data/*.parquet',
DATA_SOURCE = [mysample],
FILE_FORMAT = [SynapseParquetFormat] );
Veritabanı kullanıcısı, dış tablo veya veri kaynağına başvuran OPENROWSET işlevini kullanarak veri kaynağındaki dosyaların içeriğini okuyabilir:
SELECT TOP 10 * FROM dbo.userdata;
GO
SELECT TOP 10 * FROM OPENROWSET(BULK 'parquet/user-data/*.parquet', DATA_SOURCE = 'mysample', FORMAT='PARQUET') as rows;
GO
Sonraki adımlar
Bu makaleler farklı klasör türlerini, dosya türlerini sorgulamayı ve görünümleri oluşturma ve kullanma hakkında bilgi edinmenize yardımcı olur: