หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
นําไปใช้กับ:✅ฐานข้อมูล SQL ใน Microsoft Fabric
ในบทช่วยสอนนี้ คุณจะได้เรียนรู้วิธีการทํางานกับ SqlPackage ในฐานข้อมูล SQL ของคุณใน Fabric
SqlPackage คือ CLI ที่ให้ ความสามารถในการ เคลื่อนย้ายฐานข้อมูลและ การปรับใช้ฐานข้อมูล
- ความสามารถในการเคลื่อนย้าย (นําเข้า/ส่งออก) ของฐานข้อมูลที่มีการจัดการใน Azure หรือใน Fabric ช่วยให้แน่ใจว่าข้อมูลของคุณพกพาไปยังแพลตฟอร์มอื่นได้แบบพกพา คุณควรที่จะโยกย้ายในภายหลัง - ความสามารถในการเคลื่อนย้ายรวมถึงการเคลื่อนย้ายไปยังและจาก SQL Server, ฐานข้อมูล Azure SQL, อินสแตนซ์ที่จัดการแล้วของ Azure SQL และฐานข้อมูล SQL ใน Fabric ผ่านสําเนาฐานข้อมูลที่มีในตัวเอง (
.bacpacหรือ.dacpacไฟล์)
SqlPackage ยังสามารถเปิดใช้งานการปรับใช้ฐานข้อมูลอย่างง่ายดายของการเปลี่ยนแปลงแบบเพิ่มหน่วยไปยังวัตถุฐานข้อมูล (คอลัมน์ใหม่ในตาราง การเปลี่ยนแปลงขั้นตอนการจัดเก็บที่มีอยู่ และอื่น ๆ)
- SqlPackage สามารถแยกไฟล์ที่มี
.dacpacข้อกําหนดของวัตถุในฐานข้อมูล และเผยแพร่.dacpacไฟล์เพื่อนําสถานะวัตถุนั้นไปใช้กับฐานข้อมูลใหม่หรือฐานข้อมูลที่มีอยู่ - การดําเนินการเผยแพร่ยังรวมกับโครงการ SQL ที่เปิดใช้งานวงจรการพัฒนาแบบออฟไลน์และแบบไดนามิกมากขึ้นสําหรับฐานข้อมูล SQL
ข้อกำหนดเบื้องต้น
- คุณต้องมีความจุ Fabric ที่มีอยู่ หากคุณไม่ทําเช่นนี้ ให้ เริ่มการทดลองใช้ Fabric
- สร้างพื้นที่ทํางานใหม่หรือใช้พื้นที่ทํางาน Fabric ที่มีอยู่
- สร้างหรือใช้ฐานข้อมูล SQL ที่มีอยู่ใน Fabric ถ้าคุณยังไม่มี ให้สร้างฐานข้อมูล SQL ใหม่ใน Fabric
- ติดตั้ง .NET 8 SDK
ตั้งค่า
SqlPackage จะพร้อมใช้งานสําหรับ Windows, macOS และ Linux เป็นเครื่องมือ dotnet คุณสามารถติดตั้งโดยใช้คําสั่งต่อไปนี้:
dotnet tool install --global Microsoft.SqlPackage
เป็นเครื่องมือ dotnet ส่วนกลาง SqlPackage จะพร้อมใช้งานในเทอร์มินัลของคุณเช่นเดียวกับ sqlpackage โฟลเดอร์ใด ๆ
นําเข้าฐานข้อมูลด้วย SqlPackage
เป็น .bacpac สําเนาแบบพกพาของฐานข้อมูล ซึ่งเป็นประโยชน์สําหรับสถานการณ์การโยกย้ายและการทดสอบบางอย่าง คุณสามารถนําเข้าไปยัง.bacpacฐานข้อมูล SQL ที่ว่างเปล่าด้วยการนําเข้า SqlPackage
หมายเหตุ
.bacpacไม่ใช่ข้อมูลสํารองหรือการแทนที่สําหรับความสามารถในการสํารอง/คืนค่า สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการสํารองข้อมูลสําหรับฐานข้อมูล SQL ใน Fabric ดูการสํารองข้อมูลอัตโนมัติในฐานข้อมูล SQL ใน Microsoft Fabric และ Restore จากการสํารองข้อมูลในฐานข้อมูล SQL ใน Microsoft Fabric
ถ้าใช้
.bacpacจากสภาพแวดล้อม Azure หรือ SQL Server คุณอาจจําเป็นต้องเปลี่ยนฐานข้อมูลต้นฉบับเพื่อตอบสนองฐานข้อมูล SQL ในพื้นที่พื้นผิว Fabric T-SQL ดู แยกและเผยแพร่ความสามารถในการเคลื่อนย้าย สําหรับวิธีการทางเลือกที่เปิดใช้งานคุณสมบัติ SqlPackage เพื่อข้ามออบเจ็กต์ที่ไม่รองรับบางอย่างสร้างฐานข้อมูล SQL ใหม่ของคุณใน Fabric ตามปกติผ่านอินเทอร์เฟซ Fabric
คัดลอกสายอักขระการเชื่อมต่อจากการตั้งค่า
ใช้คําสั่งนําเข้าจากเทอร์มินัลในโฟลเดอร์ sqlpackage ให้เจ้าของ
<servername>ของคุณ และ<database_name>sqlpackage /action:import /sourcefile:"C:\DatabaseName.bacpac" /targetconnectionstring:"Data Source=tcp:<server_name>.database.fabric.microsoft.com,1433;Initial Catalog=<database_name>;MultipleActiveResultSets=False;Connect Timeout=30;Encrypt=True;TrustServerCertificate=False;ConnectRetryCount=6;ConnectRetryInterval=10;Authentication=Active Directory Interactive"- แทนที่สายอักขระการเชื่อมต่อของคุณจากกล่องโต้ตอบการตั้งค่าฐานข้อมูล SQL
-
sourcefileแทนที่ค่า ด้วย.bacpacชื่อ (DatabaseName) และlocationบนเครื่องคอมพิวเตอร์ของคุณ
ติดตามการนําเข้าด้วย งานคัดลอก ใน Data Factory ใน Microsoft Fabric เมื่อต้องการเริ่มต้นใช้งาน โปรดดู เริ่มต้นใช้งานด่วน: สร้างงานคัดลอก
ส่งออกฐานข้อมูลด้วย SqlPackage
.bacpacการส่งออก คือการดําเนินการย้อนกลับ ที่คุณtargetfileและ .bacpacsourceconnectionstring สามารถพบได้ในกล่องโต้ตอบการตั้งค่าฐานข้อมูล SQL ตามตัวอย่างก่อนหน้านี้ ให้เจ้าของ<servername>ของคุณ และ<database_name> ตัวอย่างเช่น:
sqlpackage /action:export /targetfile:"C:\DatabaseName.bacpac" /sourceconnectionstring:"Data Source=tcp:<server_name>.database.fabric.microsoft.com,1433;Initial Catalog=<database_name>;MultipleActiveResultSets=False;Connect Timeout=30;Encrypt=True;TrustServerCertificate=False;ConnectRetryCount=6;ConnectRetryInterval=10;Authentication=Active Directory Interactive"
สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการส่งออก โปรดดู การส่งออก SqlPackage
แยกและเผยแพร่
.dacpacเป็นไฟล์แบบจําลองเค้าร่างฐานข้อมูลที่มีข้อกําหนดสําหรับตาราง กระบวนงานที่เก็บไว้ และวัตถุอื่นๆ ในฐานข้อมูลต้นทาง ไฟล์นี้สามารถสร้างจากฐานข้อมูลที่มีอยู่ด้วย SqlPackage หรือจากโครงการฐานข้อมูล SQL
SqlPackage มีความสามารถในการปรับใช้.dacpacไปยังฐานข้อมูลใหม่ (ว่าง) หรือปรับปรุงฐานข้อมูลที่มีอยู่ให้ตรงกับสถานะที่ต้องการ.dacpac
-
การแยก จะสร้าง
.dacpacไฟล์ sql หรือจากฐานข้อมูลที่มีอยู่ -
เผยแพร่ ปรับใช้กับ
.dacpacฐานข้อมูล
SqlPackage เผยแพร่ และ แยกไวยากรณ์ คล้ายกับคําสั่งนําเข้า/ส่งออก
คำเตือน
แนะนําให้ใช้ SqlPackage เพื่อปรับใช้โครงการ SQL หรือ .dacpac กับฐานข้อมูล SQL ใน Fabric การปรับใช้ .dacpac จาก Visual Studio อาจไม่สําเร็จ
เมื่อต้องการปรับใช้ .dacpac ที่สร้างขึ้นจากฐานข้อมูล Azure SQL, SQL Server หรือโครงการ SQL ที่กําหนดเป้าหมายแพลตฟอร์มอื่นนอกเหนือจากฐานข้อมูล SQL ใน Fabric ให้ผนวกคุณสมบัติ /p:AllowIncompatiblePlatform=true เข้ากับคําสั่งการเผยแพร่ SqlPackage
แยกและเผยแพร่ความสามารถในการเคลื่อนย้าย
ในขณะที่คําสั่งนําเข้า/ส่งออกของ SqlPackage มุ่งเน้นไปที่ความสามารถในการเคลื่อนย้ายข้อมูลด้วย .bacpac รูปแบบ คําสั่งการแยกและเผยแพร่สามารถเคลื่อนย้ายข้อมูลด้วย .dacpac รูปแบบได้ คุณสมบัติการแยกและเผยแพร่สามารถใช้เพื่อควบคุมลักษณะการทํางานของการแยกและเผยแพร่การดําเนินการ และให้ความยืดหยุ่นมากขึ้นสําหรับการแปลงระหว่างแพลตฟอร์ม
เมื่อต้องการ แยก.dacpac และ รวมข้อมูล ให้ใช้ /p:ExtractAllTableData=true คุณสมบัติ การดําเนินการแยกจะสร้าง .dacpac ทั้ง schema และข้อมูลจากฐานข้อมูลต้นทาง คุณสมบัติ /p:ExtractReferencedServerScopedElements=false ไม่รวมองค์ประกอบที่กําหนดขอบเขตเซิร์ฟเวอร์ ซึ่งไม่ได้รับการสนับสนุนในฐานข้อมูล SQL ใน Fabric คําสั่งต่อไปนี้แยก .dacpac กับข้อมูลจากฐานข้อมูล SQL ที่มีอยู่ใน Fabric:
sqlpackage /action:extract /sourceconnectionstring:"Data Source=tcp:<server_name>.database.fabric.microsoft.com,1433;Initial Catalog=<database_name>;MultipleActiveResultSets=False;Connect Timeout=30;Encrypt=True;TrustServerCertificate=False;ConnectRetryCount=6;ConnectRetryInterval=10;Authentication=Active Directory Interactive" /targetfile:"C:\extracted.dacpac" /p:ExtractAllTableData=true /p:ExtractReferencedServerScopedElements=false
เมื่อต้องการเผยแพร่.dacpacที่ถูกแยกด้วยข้อมูล จึงไม่จําเป็นต้องมีคุณสมบัติเพิ่มเติม อย่างไรก็ตาม สามารถใช้คุณสมบัติหลายประการเพื่อควบคุมลักษณะการทํางานของการดําเนินการประกาศได้:
-
/p:AllowIncompatiblePlatform=trueอนุญาตให้มีการปรับใช้.dacpacของ ที่ถูกแยกออกจากแพลตฟอร์มอื่น (ตัวอย่างเช่น ฐานข้อมูล Azure SQL, SQL Server) -
/p:ExcludeObjectTypes=Logins;Usersไม่รวมชนิดวัตถุที่อาจพบปัญหาความเข้ากันได้เมื่อเผยแพร่ไปยังฐานข้อมูล SQL ใน Fabric สําหรับรายการทั้งหมดของชนิดวัตถุที่สามารถแยกออกได้ ดูที่ การเผยแพร่ SqlPackage
คล้ายกับคําสั่งการนําเข้า SqlPackage ก่อนที่จะเผยแพร่ไปยัง .dacpac ฐานข้อมูล SQL ใน Fabric คุณจําเป็นต้องสร้างฐานข้อมูลใน Fabric คุณสามารถสร้างฐานข้อมูลผ่านพอร์ทัล Fabric หรืออินเทอร์เฟซ Fabric อื่น ๆ ได้ คําสั่งต่อไปนี้เผยแพร่การ .dacpac แยกไปยังฐานข้อมูล SQL ที่ว่างเปล่าใน Fabric:
sqlpackage /action:publish /sourcefile:"C:\extracted.dacpac" /targetconnectionstring:"Data Source=tcp:<server_name>.database.fabric.microsoft.com,1433;Initial Catalog=<database_name>;MultipleActiveResultSets=False;Connect Timeout=30;Encrypt=True;TrustServerCertificate=False;ConnectRetryCount=6;ConnectRetryInterval=10;Authentication=Active Directory Interactive" /p:AllowIncompatiblePlatform=true /p:ExcludeObjectTypes=Logins;Users