ย้ายข้อมูลไปยังอินสแตนซ์ที่มีการจัดการของ SQL

เสร็จสมบูรณ์เมื่อ

การโยกย้ายจํานวนมากเกี่ยวข้องกับช่วงเวลาที่ต้องซิงโครไนซ์ฐานข้อมูลภายในองค์กรและฐานข้อมูลระบบคลาวด์ ตัวอย่างเช่น อาจมีบางครั้งที่ไคลเอ็นต์ทําการเปลี่ยนแปลงฐานข้อมูลทั้งสอง

คุณได้ย้ายฐานข้อมูลผลิตภัณฑ์ค้าปลีกกีฬาไปยังอินสแตนซ์ที่มีการจัดการของ Azure SQL แล้ว เว็บไซต์ใช้ฐานข้อมูลคลาวด์อยู่แล้ว คุณกําลังเริ่มกําหนดค่าไคลเอ็นต์ใหม่เพื่อใช้ฐานข้อมูลใหม่ คุณได้ตัดสินใจที่จะเปลี่ยนผู้ใช้ไปยังระบบใหม่เป็นชุด สําหรับแต่ละทีม คุณจะต้องใช้เวลาในการแก้ไขปัญหาก่อนที่จะย้ายผู้ใช้รายต่อไป วิธีนี้ช่วยให้สามารถแก้ไขปัญหาและแก้ไขปัญหาได้โดยไม่รบกวนผู้ใช้ทั้งหมดในคราวเดียว ถัดไป คุณจะกําหนดค่าระบบการวิเคราะห์ข้อมูลใหม่เพื่อใช้ฐานข้อมูลใหม่ใน Azure ในช่วงเวลานี้ คุณต้องการให้แน่ใจว่าฐานข้อมูลระบบคลาวด์และภายในองค์กรได้รับการซิงโครไนซ์ทุกชั่วโมง

คุณจะได้สํารวจวิธีการต่างๆ ในการนําการซิงโครไนส์ข้อมูลไปใช้ วิธีการเหล่านี้ยังสามารถใช้เพื่อเลือกย้ายข้อมูล หากคุณต้องการถ่ายโอนเฉพาะชุดย่อยของตาราง ความยืดหยุ่นนี้ช่วยให้สามารถปรับแนวทางการย้ายข้อมูลให้เหมาะสมยิ่งขึ้น

ตัวเลือกการเชื่อมต่อกับเซิร์ฟเวอร์ภายในองค์กร

บ่อยครั้ง คุณต้องการเก็บข้อมูลในฐานข้อมูลภายในองค์กรให้ซิงโครไนซ์กับ Azure SQL Managed Instance ตัวอย่างเช่น คุณอาจต้องการจัดเตรียมการโยกย้ายแอปพลิเคชันไคลเอ็นต์ไปยังฐานข้อมูลใหม่ ซึ่งหมายความว่ามีช่วงเวลาที่ไคลเอ็นต์เชื่อมต่อกับฐานข้อมูลทั้งสอง

ก่อนที่คุณจะเลือกวิธีการซิงโครไนส์ข้อมูล สิ่งสําคัญคือต้องแน่ใจว่าคุณมีการเชื่อมต่อที่ปลอดภัย มีตัวเลือกการเชื่อมต่อที่แตกต่างกันสามตัวเลือกเพื่อสร้างการสื่อสารระหว่างคอมพิวเตอร์ภายในองค์กรและทรัพยากรใน Azure

  • ชี้ไปยังไซต์ การเชื่อมต่อเกตเวย์ VPN แบบ Point-to-Site (P2S) ช่วยให้คุณสร้างการเชื่อมต่อที่ปลอดภัยกับเครือข่ายเสมือนของคุณจากคอมพิวเตอร์ไคลเอนต์แต่ละเครื่อง
  • ไซต์ต่อไซต์ เกตเวย์ Site-to-Site VPN ใช้เพื่อเชื่อมต่อไซต์ภายในองค์กรทั้งหมดกับเครือข่าย Azure
  • เส้นทางด่วน Azure ExpressRoute ช่วยให้คุณสามารถสร้างการเชื่อมต่อส่วนตัวระหว่างศูนย์ข้อมูล Azure และโครงสร้างพื้นฐานภายในองค์กร หรือโครงสร้างพื้นฐานในสภาพแวดล้อมโคโลเคชั่น การเชื่อมต่อ ExpressRoute ไม่ได้ผ่านอินเทอร์เน็ตสาธารณะ และให้ความน่าเชื่อถือมากกว่า ความเร็วที่เร็วขึ้น เวลาแฝงที่ต่ํากว่า และความปลอดภัยที่สูงกว่าการเชื่อมต่ออินเทอร์เน็ตทั่วไป

จุดสิ้นสุดสาธารณะ

ตําแหน่งข้อมูลสาธารณะสําหรับอินสแตนซ์ที่มีการจัดการของ SQL ช่วยให้คุณเชื่อมต่อกับฐานข้อมูลจากอินเทอร์เน็ตโดยไม่ต้องใช้ VPN และได้รับการออกแบบมาสําหรับการสื่อสารข้อมูลเท่านั้น ปลายทางสาธารณะสําหรับข้อมูลสามารถอยู่ร่วมกับปลายทางส่วนตัวได้พร้อมกัน ด้วยเหตุผลด้านความปลอดภัย การใช้งานจึงอนุญาตให้มีการแยกหน้าที่ (SoD) ระหว่างผู้ดูแลระบบฐานข้อมูลและผู้ดูแลระบบเครือข่ายเมื่อเปิดใช้งานปลายทางสาธารณะ

หากต้องการเปิดใช้งานตําแหน่งข้อมูลสาธารณะสําหรับอินสแตนซ์ที่มีการจัดการ จําเป็นต้องมีสองขั้นตอน สําหรับ SoD คุณจะต้องมีสองบทบาทแยกกัน โดยมีสิทธิ์ฐานข้อมูลและเครือข่ายต่อไปนี้ เพื่อทําตามขั้นตอนเหล่านี้ให้เสร็จสมบูรณ์:

  1. ผู้ดูแลระบบฐานข้อมูลที่มีสิทธิ์การควบคุมการเข้าถึงตามบทบาทในขอบเขต Microsoft.Sql/managedInstances/* ต้องเรียกใช้สคริปต์ PowerShell เพื่อเปิดใช้งานจุดสิ้นสุดสาธารณะสําหรับอินสแตนซ์ที่มีการจัดการ
  2. ผู้ดูแลระบบเครือข่ายที่มีสิทธิ์การควบคุมการเข้าถึงตามบทบาทในขอบเขต Microsoft.Network/* ต้องเปิดพอร์ต 3342 ที่ใช้โดยปลายทางสาธารณะบนกลุ่มความปลอดภัยเครือข่าย (NSG) และจัดเตรียมเส้นทาง UDR เพื่อหลีกเลี่ยงการกําหนดเส้นทางแบบไม่สมมาตร

เลือกวิธีการซิงโครไนซ์

คุณสามารถใช้หลายวิธีในการซิงโครไนซ์ข้อมูลจากอินสแตนซ์ที่มีการจัดการฐานข้อมูล SQL ไปยังเซิร์ฟเวอร์ภายในองค์กรและย้อนกลับ

การสํารองข้อมูลและกู้คืนแบบเนทีฟ

คุณสามารถคืนค่าฐานข้อมูลใน Azure SQL Managed Instance จากไฟล์ Azure Blob Storage โดยใช้ Shared Access Signature (SAS)

สิ่งนี้เกี่ยวข้องกับการสร้างข้อมูลประจําตัวที่มีการเข้าถึงที่เก็บข้อมูล Azure Blob จากนั้นใช้คําสั่งกับBACKUP DATABASECOPY_ONLYตัวเลือก หากฐานข้อมูลของคุณมีขนาดใหญ่กว่า 200 GB คุณสามารถใช้การสํารองข้อมูลแบบสตริปโดยระบุตําแหน่ง URL หลายตําแหน่ง

BACKUP DATABASE YourDatabase TO URL = 'https://youraccount.blob.core.windows.net/yourcontainer/yourdatabase.bak' WITH COPY_ONLY

เมื่อต้องการคืนค่าฐานข้อมูลใน SQL Managed Instance:

RESTORE DATABASE YourDatabase FROM URL = 'https://youraccount.blob.core.windows.net/yourcontainer/yourdatabase.bak'

ไฟล์ BACPAC โดยใช้ SqlPackage

ไฟล์ BACPAC เป็นเวอร์ชันซิปของทั้งข้อมูลเมตาและข้อมูลของฐานข้อมูลของคุณ แม้ว่าวิธีการปรับใช้นี้จะเข้ากันได้กับฐานข้อมูล SQL แต่อินสแตนซ์ที่มีการจัดการของ SQL ไม่สนับสนุนการโยกย้ายผ่าน BACPAC ภายในพอร์ทัล Azure อีกทางเลือกหนึ่งควรใช้ ยูทิลิตี้ SQLPackage กับไฟล์ BACPAC

โปรแกรมทําสําเนาจํานวนมาก (BCP)

ยูทิลิตี้ BCP เป็นเครื่องมือบรรทัดคําสั่งที่ส่งออกตารางไปยังไฟล์เพื่อให้คุณสามารถนําเข้าได้ ใช้วิธีนี้เพื่อโยกย้ายจากฐานข้อมูล SQL เดียวไปยังอินสแตนซ์ที่มีการจัดการของ SQL และย้อนกลับ

Azure Data Factory (ADF)

Azure Data Factory สร้างขึ้นสําหรับการเคลื่อนย้ายและการประสานข้อมูล โดยมุ่งเน้นไปที่การนําเข้า ADF มีการสนับสนุนรันไทม์การรวมเพื่อเรียกใช้แพ็คเกจ SSIS และการสนับสนุนอินเทอร์เน็ตสาธารณะสําหรับอินสแตนซ์ที่มีการจัดการของ SQL

การจําลองแบบธุรกรรม

การจําลองแบบธุรกรรมเป็นวิธีการย้ายข้อมูลระหว่างเซิร์ฟเวอร์ฐานข้อมูลที่เชื่อมต่ออย่างต่อเนื่อง

กระบวนการเริ่มต้นด้วยสแนปช็อตของวัตถุฐานข้อมูลสิ่งพิมพ์และข้อมูล เมื่อถ่ายภาพสแนปช็อตเริ่มต้นแล้ว การเปลี่ยนแปลงข้อมูลหรือสคีมาที่ผู้เผยแพร่ในภายหลังจะถูกส่งไปยังอินสแตนซ์ที่มีการจัดการของ Azure SQL แบบเกือบเรียลไทม์เมื่อเกิดขึ้น

อินสแตนซ์ที่มีการจัดการ SQL มีความยืดหยุ่น เนื่องจากสามารถเป็นผู้เผยแพร่ ผู้จัดจําหน่าย และสมาชิกได้

การจําลองแบบเป็นหนึ่งในไม่กี่เทคโนโลยีที่ช่วยให้คุณสามารถจําลองส่วนต่างๆ ของตารางได้ เราอ้างถึงส่วนตารางเหล่านี้เป็นบทความ ข้อมูลนี้จะถูกส่งไปยังผู้จัดจําหน่าย ซึ่งเป็นซัพพลายเออร์ของข้อมูลให้กับสมาชิกจํานวนเท่าใดก็ได้

ความต้องการ

  • การเชื่อมต่อใช้การรับรองความถูกต้อง SQL ระหว่างผู้เข้าร่วมการจําลองแบบ
  • การแชร์บัญชีที่เก็บข้อมูล Azure สําหรับไดเรกทอรีการทํางานที่ใช้โดยการจําลองแบบ
  • เปิดพอร์ต 445 (TCP ขาออก) ในกฎความปลอดภัยของซับเน็ตอินสแตนซ์ที่มีการจัดการเพื่อเข้าถึงการแชร์ไฟล์ Azure
  • เปิดพอร์ต 1433 (TCP ขาออก) หากผู้เผยแพร่หรือผู้จัดจําหน่ายอยู่ในอินสแตนซ์ที่มีการจัดการและสมาชิกอยู่ในองค์กร

การเชื่อมต่อแอปพลิเคชันกับอินสแตนซ์ที่มีการจัดการ SQL

ต้องวางอินสแตนซ์ที่มีการจัดการ SQL ไว้ในซับเน็ตเครือข่ายเสมือน Azure ที่ทุ่มเทให้กับอินสแตนซ์ที่มีการจัดการ การปรับใช้นี้ให้ที่อยู่ IP ส่วนตัวที่ปลอดภัยและความสามารถในการเชื่อมต่อกับเครือข่ายภายในองค์กร

ไดอะแกรมแสดงวิธีการเชื่อมต่อที่เกิดขึ้นใน Azure SQL Managed Instance

ผู้ใช้และแอปพลิเคชันไคลเอ็นต์สามารถเชื่อมต่อกับฐานข้อมูลอินสแตนซ์ที่มีการจัดการผ่านพอร์ทัล Azure, PowerShell, Azure CLI และ REST API

การสื่อสารทั้งหมดได้รับการเข้ารหัสและลงนามโดยใช้ใบรับรอง เพื่อตรวจสอบความน่าเชื่อถือของฝ่ายที่สื่อสาร อินสแตนซ์ที่มีการจัดการจะตรวจสอบใบรับรองเหล่านี้อย่างต่อเนื่องผ่านรายการเพิกถอนใบรับรอง หากใบรับรองถูกเพิกถอน อินสแตนซ์ที่มีการจัดการ SQL จะปิดการเชื่อมต่อเพื่อปกป้องข้อมูล