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ı

  1. Azure portalında Depolama Hesabınızı arayın.
  2. Ana gezinti menüsünde Ayarlar altındaki Ağ'a gidin.
  3. Kaynak örnekleri bölümünde Azure Synapse çalışma alanınız için bir özel durum ekleyin.
  4. Kaynak türü olarak seçinMicrosoft.Synapse/workspaces.
  5. Örnek adı olarak çalışma alanınızın adını seçin.
  6. 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.

  1. PowerShell'i açın veya PowerShell'i yükleyin.

  2. 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
    
  3. Azure Kiracınıza Bağlan:

    Connect-AzAccount
    
  4. 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.

  5. Azure depolama hesabı ağ kuralı ekleyin:

        $parameters = @{
            ResourceGroupName = $resourceGroupName
            Name = $accountName
            TenantId = $tenantId 
            ResourceId = $resourceId
        }
    
        Add-AzStorageAccountNetworkRule @parameters
    
  6. 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: