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:✅Microsoft Fabric'te SQL veritabanı
Bir SQL veritabanından Fabric'de OneLake'e yansıtmayı başlatmak ve durdurmak için Fabric REST API'sini kullanabilirsiniz. Bu makalede ve örnek betikte, PowerShell kullanarak Fabric REST API çağrısı yaparak yansıtmayı başlatmanın veya durdurmanın nasıl yapılacağı gösterilmektedir.
OneLake'e yansıtan SQL veritabanı varsayılan olarak her zaman çalışır. Fabric üzerinde SQL veritabanı yansıtmasının durdurulmasının gerekebileceği senaryolar vardır. Örneğin, yansıtma çalışırken oluşturulamayan mevcut bir tabloda kümelenmiş sütun dizinleri oluşturmayı etkinleştirmek için.
Önkoşullar
- Mevcut bir Yapı kapasitesine ihtiyacınız vardır. Aksi takdirde bir Fabric deneme sürümü başlatın.
- Mevcut bir çalışma alanını kullanabilir veya yeni bir Doku çalışma alanı oluşturabilirsiniz.
- SQL veritabanı oluşturmak için çalışma alanının Yönetici veya Üye rollerinin üyesi olmanız gerekir.
-
SQLCMD'nin golang sürümünü yükleyin. Yüklemek için Windows üzerinde komutunu çalıştırın
winget install sqlcmd. Diğer işletim sistemleri için bkz. aka.ms/go-sqlcmd. - PowerShell 5.1 veya PowerShell 7.4 ve üzeri
- Az PowerShell modülü. Yüklemek için PowerShell'de komutunu çalıştırın
Install-Module az.
SQL veritabanını Fabric'te OneLake'e yansıtmayı durdurun
Aşağıdaki PowerShell örnekleri, Fabric içinde bir SQL veritabanını OneLake'e yansıtmayı durdurur.
Bu örnek betik, kimlik bilgilerini istemek için Connect-AzAccount, az login'ın bir takma adı olarak kullanır. REST API çağrıları için kullanılacak bir erişim belirteci almak için bu kimlik bilgilerini kullanır. SQLCMD, Connect-AzAccount'e verilen hesabın bağlamını kullanır.
Aşağıdaki betikte çalışma alanı kimliğini ve veritabanı kimliğini sağlamanız gerekir. Her ikisi de URL'de bulunabilir.
https://powerbi.com/groups/<fabric_workspace_id>/sqldatabases/<fabric_sql_database_id>. URL'deki ilk dize Doku çalışma alanı kimliği, ikinci dize ise SQL veritabanı kimliğidir.
-
<your workspace id>ifadesini Fabric çalışma alanı kimliğiniz ile değiştirin. Url'de bir çalışma alanının kimliğini kolayca bulabilirsiniz. Bu, tarayıcı pencerenizde iki/karakterden sonra/groups/gelen benzersiz dizedir. - Fabric veritabanı kimliğindeki
<your database id>öğesini SQL veritabanınızla değiştirin. Veritabanı öğesinin kimliğini URL'de kolayca bulabilirsiniz. Bu, tarayıcı pencerenizde iki/karakterden sonra/sqldatabases/gelen benzersiz dizedir.
Bu skript şunu tanımlar:
Get-AzAccessToken kullanarak bir erişim belirteci alın ve bunugüvenli bir dizgedendönüştürün. PowerShell 7 kullanıyorsanız ConvertFrom-SecureString de bir seçenektir. - API çağrısını derleme.
- API çağrısını çağır.
Import-Module Az.Accounts
az login
$workspaceid = '<your workspace id>' # Find in the URL
$databaseid = '<your database id>' # Find in the URL
$headers = $null
# 1. Get the access token and add it to the headers
$access_token = (Get-AzAccessToken -AsSecureString -ResourceUrl https://api.fabric.microsoft.com)
$ssPtr = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($access_token.Token)
try {
$headers = @{
Authorization = $access_token.Type + ' ' + ([System.Runtime.InteropServices.Marshal]::PtrToStringBSTR($ssPtr))
}
$access_token.UserId -match('^[^@]+') | Out-Null
$stopMirroringUri = "https://api.fabric.microsoft.com/v1/workspaces/$workspaceid/sqlDatabases/$databaseid/stopMirroring"
$parameters = @{
Method="Post"
Headers=$headers
Uri = $stopMirroringUri
}
Invoke-RestMethod @parameters -ErrorAction Stop
} finally {
# The following lines ensure that sensitive data is not left in memory.
$headers = [System.Runtime.InteropServices.Marshal]::ZeroFreeBSTR($ssPtr)
}
SQL veritabanının Fabric'te OneLake'e yansıtılmasını başlat
Aşağıdaki PowerShell örnekleri, SQL veritabanının Fabric içinde OneLake'e yansıtılmasına başlar.
Bu örnek betik, kimlik bilgilerini istemek için Connect-AzAccount, az login'ın bir takma adı olarak kullanır. REST API çağrıları için kullanılacak bir erişim belirteci almak için bu kimlik bilgilerini kullanır. SQLCMD, Connect-AzAccount'e verilen hesabın bağlamını kullanır.
Aşağıdaki betikte <your workspace id> ifadesini Doku çalışma alanı kimliğinizle değiştirin.
Url'de bir çalışma alanının kimliğini kolayca bulabilirsiniz. Bu, tarayıcı pencerenizde iki / karakterden sonra /groups/ gelen benzersiz dizedir. Örneğin, 11aa111-a11a-1111-1abc-aa1111aaaa içinde https://fabric.microsoft.com/groups/11aa111-a11a-1111-1abc-aa1111aaaa/.
Bu skript şunu tanımlar:
Get-AzAccessToken kullanarak bir erişim belirteci alın ve bunugüvenli bir dizgedendönüştürün. PowerShell 7 kullanıyorsanız ConvertFrom-SecureString de bir seçenektir. - API çağrısını derleme.
- API çağrısını çağır.
Import-Module Az.Accounts
az login
$workspaceid = '<your workspace id>' # Find in the URL
$databaseid = '<your database id>' # Find in the URL
$headers = $null
# 1. Get the access token and add it to the headers
$access_token = (Get-AzAccessToken -AsSecureString -ResourceUrl https://api.fabric.microsoft.com)
$ssPtr = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($access_token.Token)
try {
$headers = @{
Authorization = $access_token.Type + ' ' + ([System.Runtime.InteropServices.Marshal]::PtrToStringBSTR($ssPtr))
}
$access_token.UserId -match('^[^@]+') | Out-Null
$startMirroringUri = "https://api.fabric.microsoft.com/v1/workspaces/$workspaceid/sqlDatabases/$databaseid/startMirroring"
$parameters = @{
Method="Post"
Headers=$headers
Uri = $startMirroringUri
}
Invoke-RestMethod @parameters -ErrorAction Stop
} finally {
# The following lines ensure that sensitive data is not left in memory.
$headers = [System.Runtime.InteropServices.Marshal]::ZeroFreeBSTR($ssPtr)
}