استعادة نموذج قاعدة بيانات AdventureWorks إلى مثيل مدار SQL - Azure Arc

AdventureWorks هي قاعدة بيانات نموذجية تحتوي على قاعدة بيانات OLTP غالبا ما تستخدم في البرامج التعليمية والأمثلة. يتم توفيره وصيانته من قبل Microsoft كجزء من SQL Server العينات GitHub المستودع.

يصف هذا المستند عملية بسيطة لاستعادة قاعدة بيانات نموذج AdventureWorks إلى المثيل المدار SQL - Azure Arc.

تنزيل ملف النسخ الاحتياطي ل AdventureWorks

قم بتنزيل ملف النسخ الاحتياطي (.bak) من AdventureWorks في حاوية المثيل المدار SQL. في هذا المثال، استخدم kubectl exec الأمر لتنفيذ أمر عن بعد داخل حاوية المثيل المدار SQL لتنزيل ملف .bak إلى الحاوية. قم بتنزيل هذا الملف من أي مكان يمكن الوصول إليه من قبل wget إذا كان لديك ملفات نسخ احتياطي أخرى لقاعدة البيانات تريد سحبها لتكون داخل حاوية المثيل المدار SQL. بمجرد أن يكون داخل حاوية المثيل المدار SQL ، من السهل استعادته باستخدام T-SQL القياسيةRESTORE DATABASE.

قم بتشغيل أمر مثل هذا لتنزيل ملف .bak الذي يحل محل قيمة اسم pod واسم مساحة الاسم قبل تشغيله.

ملاحظة

ستحتاج الحاوية الخاصة بك إلى اتصال بالإنترنت عبر 443 لتنزيل الملف من GitHub

kubectl exec <SQL pod name> -n <namespace name> -c arc-sqlmi -- wget https://github.com/Microsoft/sql-server-samples/releases/download/adventureworks/AdventureWorks2019.bak -O /var/opt/mssql/data/AdventureWorks2019.bak

مثال

kubectl exec sqltest1-0 -n arc -c arc-sqlmi -- wget https://github.com/Microsoft/sql-server-samples/releases/download/adventureworks/AdventureWorks2019.bak -O /var/opt/mssql/data/AdventureWorks2019.bak

استعادة قاعدة بيانات AdventureWorks

وبالمثل، يمكنك تشغيل kubectl أمر exec لاستخدام sqlcmd أداة CLI المضمنة في حاوية المثيل المدار SQL لتنفيذ الأمر T-SQL إلى RESTORE DATABASE.

قم بتشغيل أمر مثل هذا لاستعادة قاعدة البيانات. استبدل قيمة اسم الحاوية وكلمة المرور واسم مساحة الاسم قبل تشغيلها.

kubectl exec <SQL pod name> -n <namespace name> -c arc-sqlmi -- /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P <password> -Q "RESTORE DATABASE AdventureWorks2019 FROM  DISK = N'/var/opt/mssql/data/AdventureWorks2019.bak' WITH MOVE 'AdventureWorks2017' TO '/var/opt/mssql/data/AdventureWorks2019.mdf', MOVE 'AdventureWorks2017_Log' TO '/var/opt/mssql/data/AdventureWorks2019_Log.ldf'"

مثال

kubectl exec sqltest1-0 -n arc -c arc-sqlmi -- /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P MyPassword! -Q "RESTORE DATABASE AdventureWorks2019 FROM DISK = N'/var/opt/mssql/data/AdventureWorks2019.bak' WITH MOVE 'AdventureWorks2017' TO '/var/opt/mssql/data/AdventureWorks2019.mdf', MOVE 'AdventureWorks2017_Log' TO '/var/opt/mssql/data/AdventureWorks2019_Log.ldf'"