หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
นําไปใช้กับ:✅ฐานข้อมูล SQL ใน Microsoft Fabric
คุณสามารถใช้ Fabric REST API เพื่อเริ่มและหยุดการมิเรอร์จากฐานข้อมูล SQL ไปยัง OneLake ใน Fabric บทความนี้และสคริปต์ตัวอย่างสาธิตวิธีการใช้ PowerShell เพื่อเรียก Fabric REST API เริ่มต้นหรือหยุดการมิเรอร์
การมิเรอร์ฐานข้อมูล SQL ไปยัง OneLake จะทํางานอยู่เสมอตามค่าเริ่มต้น มีบางสถานการณ์ที่อาจต้องหยุดการมิเรอร์สําหรับฐานข้อมูล SQL ใน Fabric ตัวอย่างเช่น เพื่อเปิดใช้งานการสร้างดัชนีคอลัมน์แบบคลัสเตอร์บนตารางที่มีอยู่ ซึ่งไม่สามารถสร้างได้เมื่อการมิเรอร์กําลังทํางานอยู่
ข้อกําหนดเบื้องต้น
- คุณต้องมีความจุ Fabric ที่มีอยู่ หากคุณไม่ทําเช่นนี้ ให้ เริ่มการทดลองใช้ Fabric
- คุณสามารถใช้พื้นที่ทํางานที่มีอยู่หรือ สร้างพื้นที่ทํางาน Fabric ใหม่ได้
- คุณต้องเป็นสมาชิกของ บทบาทผู้ดูแลระบบหรือสมาชิกสําหรับพื้นที่ทํางาน เพื่อสร้างฐานข้อมูล SQL
- ติดตั้ง SQLCMD เวอร์ชัน golang เรียกใช้
winget install sqlcmdบน Windows เพื่อติดตั้ง สําหรับระบบปฏิบัติการอื่น ๆ โปรดดู aka.ms/go-sqlcmd - PowerShell 5.1 หรือ PowerShell 7.4 และใหม่กว่า
- โมดูล Az PowerShell เรียกใช้
Install-Module azใน PowerShell เพื่อติดตั้ง
หยุดการมิเรอร์ฐานข้อมูล SQL ไปยัง OneLake ใน Fabric
ตัวอย่าง PowerShell ต่อไปนี้หยุดการมิเรอร์ฐานข้อมูล SQL ไปยัง OneLake ใน Fabric
สคริปต์ตัวอย่างนี้ใช้ Connect-AzAccountนามแฝงของ az login เพื่อพร้อมท์สําหรับข้อมูลประจําตัว ซึ่งใช้ข้อมูลประจําตัวเหล่านั้นเพื่อขอรับโทเค็นการเข้าถึงเพื่อใช้สําหรับการเรียกใช้ REST API SQLCMD ใช้บริบทของบัญชีที่มอบให้Connect-AzAccount
ในสคริปต์ต่อไปนี้ คุณต้องระบุรหัสพื้นที่ทํางานและรหัสฐานข้อมูล ทั้งสองสามารถพบได้ใน URL
https://powerbi.com/groups/<fabric_workspace_id>/sqldatabases/<fabric_sql_database_id>
สตริงแรกใน URL คือ ID พื้นที่ทํางาน Fabric และสตริงที่สองคือ ID ฐานข้อมูล SQL
- แทนที่
<your workspace id>ด้วยรหัสพื้นที่ทํางาน Fabric ของคุณ คุณสามารถ ค้นหา ID ของพื้นที่ทํางาน ได้อย่างง่ายดายใน URL ซึ่งเป็นสตริงที่ไม่ซ้ํากันภายในสอง/อักขระหลังจาก/groups/ในหน้าต่างเบราว์เซอร์ของคุณ - แทนที่
<your database id>ด้วยฐานข้อมูล SQL ของคุณในรหัสฐานข้อมูล Fabric คุณสามารถค้นหา ID ของรายการฐานข้อมูลได้อย่างง่ายดายใน URL ซึ่งเป็นสตริงที่ไม่ซ้ํากันภายในอักขระสอง/ตัวหลังจาก/sqldatabases/ในหน้าต่างเบราว์เซอร์ของคุณ
สคริปต์นี้สาธิต:
- เรียกใช้โทเค็นการเข้าถึงโดยใช้ Get-AzAccessToken และ แปลงจากสตริงที่ปลอดภัย ถ้าใช้ PowerShell 7 ConvertFrom-SecureString ก็เป็นตัวเลือกเช่นกัน
- การเรียก API แบบประกอบ
- เรียกใช้ API
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 ไปยัง OneLake ใน Fabric
ตัวอย่าง PowerShell ต่อไปนี้เริ่มการมิเรอร์ฐานข้อมูล SQL ไปยัง OneLake ใน Fabric
สคริปต์ตัวอย่างนี้ใช้ Connect-AzAccountนามแฝงของ az login เพื่อพร้อมท์สําหรับข้อมูลประจําตัว ซึ่งใช้ข้อมูลประจําตัวเหล่านั้นเพื่อขอรับโทเค็นการเข้าถึงเพื่อใช้สําหรับการเรียกใช้ REST API SQLCMD ใช้บริบทของบัญชีที่มอบให้Connect-AzAccount
ในสคริปต์ต่อไปนี้ ให้แทนที่ <your workspace id> ด้วย ID พื้นที่ทํางาน Fabric ของคุณ คุณสามารถ ค้นหา ID ของพื้นที่ทํางาน ได้อย่างง่ายดายใน URL ซึ่งเป็นสตริงที่ไม่ซ้ํากันภายในสอง / อักขระหลังจาก /groups/ ในหน้าต่างเบราว์เซอร์ของคุณ ตัวอย่างเช่น 11aa111-a11a-1111-1abc-aa1111aaaa ในhttps://fabric.microsoft.com/groups/11aa111-a11a-1111-1abc-aa1111aaaa/
สคริปต์นี้สาธิต:
- เรียกใช้โทเค็นการเข้าถึงโดยใช้ Get-AzAccessToken และ แปลงจากสตริงที่ปลอดภัย ถ้าใช้ PowerShell 7 ConvertFrom-SecureString ก็เป็นตัวเลือกเช่นกัน
- การเรียก API แบบประกอบ
- เรียกใช้ API
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)
}