Jaa


Aloita ja lopeta SQL-tietokannan peilaus Fabric REST -ohjelmointirajapinnan avulla

Koskee seuraavia:SQL-tietokanta Microsoft Fabricissa

Fabric REST -ohjelmointirajapinnan avulla voit aloittaa ja lopettaa peilauksen SQL-tietokannasta OneLakeen Fabricissa. Tässä artikkelissa ja mallikomentosarjassa näytetään, miten PowerShellin avulla voit kutsua Fabric REST -ohjelmointirajapinnan peilauksen käynnistämiseen tai lopettamiseen.

SQL-tietokannan peilaus OneLakeen on oletusarvoisesti aina käynnissä. Joissakin tilanteissa SQL-tietokannan peilaus Fabricissa on ehkä lopetettava. Jos haluat esimerkiksi ottaa käyttöön klusteroitujen sarakeindeksien luomisen aiemmin luotuun taulukkoon, jota ei voi luoda peilauksen ollessa käynnissä.

edellytykset

Lopeta SQL-tietokannan peilaus OneLakeen Fabricissa

Seuraavat PowerShell-esimerkit lopettavat SQL-tietokannan peilaamisen OneLakeen Fabricissa.

Tässä esimerkissä käytetään Connect-AzAccount-aliasta az login tunnistetietojen kysymiseen. Se käyttää näitä tunnistetietoja käyttöoikeustietueen saamiseksi REST-ohjelmointirajapinnan kutsuille. SQLCMD käyttää -palvelulle annetun tilin kontekstia Connect-AzAccount.

Seuraavassa komentosarjassa sinun on annettava työtilan tunnus ja tietokannan tunnus. Molemmat löytyvät URL-osoitteesta. https://powerbi.com/groups/<fabric_workspace_id>/sqldatabases/<fabric_sql_database_id>. URL-osoitteen ensimmäinen merkkijono on Fabric-työtilan tunnus ja toinen merkkijono on SQL-tietokannan tunnus.

  • Korvaa <your workspace id> se Fabric-työtilan tunnuksellasi. Työtilan tunnus löytyy
  • Korvaa <your database id> SQL-tietokannalla Fabric-tietokannan tunnuksessa. Löydät tietokantakohteen tunnuksen helposti URL-osoitteesta, se on yksilöllinen merkkijono kahden / merkin /sqldatabases/ sisällä selainikkunassa.

Tässä komentosarjassa esitellään:

  1. Nouda käyttöoikeustietue käyttämällä Get-AzAccessToken- ja muunna se suojatun merkkijonon. Jos käytössä on PowerShell 7, ConvertFrom-SecureString on myös vaihtoehtona.
  2. Kokoa API-kutsu.
  3. Käynnistä ohjelmointirajapintakutsu.
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)
}

Aloita SQL-tietokannan peilaus OneLakeen Fabricissa

Seuraavissa PowerShell-esimerkeissä aloitetaan SQL-tietokannan peilaus OneLakeen Fabricissa.

Tässä esimerkissä käytetään Connect-AzAccount-aliasta az login tunnistetietojen kysymiseen. Se käyttää näitä tunnistetietoja käyttöoikeustietueen saamiseksi REST-ohjelmointirajapinnan kutsuille. SQLCMD käyttää -palvelulle annetun tilin kontekstia Connect-AzAccount.

Korvaa <your workspace id> seuraavassa komentosarjassa Fabric-työtilatunnuksellasi. Työtilan tunnus löytyy Esimerkiksi 11aa111-a11a-1111-1abc-aa1111aaaa kohdassa https://fabric.microsoft.com/groups/11aa111-a11a-1111-1abc-aa1111aaaa/.

Tässä komentosarjassa esitellään:

  1. Nouda käyttöoikeustietue käyttämällä Get-AzAccessToken- ja muunna se suojatun merkkijonon. Jos käytössä on PowerShell 7, ConvertFrom-SecureString on myös vaihtoehtona.
  2. Kokoa API-kutsu.
  3. Käynnistä ohjelmointirajapintakutsu.
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)
}