استعادة قاعدة بيانات واحدة في Azure SQL Database إلى نقطة زمنية سابقة باستخدام Azure CLI
ينطبق على: قاعدة بيانات Azure SQL
يعمل نموذج Azure CLI على إعادة قاعدة بيانات واحدة في قاعدة بيانات Azure SQL إلى نقطة زمنية معينة.
إذا لم يكن لديك اشتراك Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.
المتطلبات الأساسية
استخدم بيئة Bash في Azure Cloud Shell. لمزيد من المعلومات، راجع تشغيل سريع لـ Azure Cloud Shell - Bash.
إذا كنت تفضل تشغيل أوامر مرجع CLI محلياً قم بتثبيت CLI Azure. إذا كنت تعمل على Windows أو macOS، ففكر في تشغيل Azure CLI في حاوية Docker. لمزيد من المعلومات، راجع كيفية تشغيل Azure CLI في حاوية Docker.
إذا كنت تستخدم تثبيت محلي، يُرجى تسجيل الدخول إلى Azure CLI مستخدمًا أمر az login. لإنهاء عملية المصادقة، التزم بالخطوات المعروضة في وحدتك الطرفية. للحصول على خيارات إضافية لتسجيل دخول، راجع تسجيل الدخول باستخدام Azure CLI.
عند مطالبتك، يوصى بتثبيت امتدادات Azure CLI عند الاستخدام الأول. لمزيد من المعلومات بشأن الامتدادات، راجع استخدام امتدادات مع Azure CLI.
يُرجى تشغيل إصدار az للوصول إلى الإصدار والمكتبات التابعة التي تم تثبيتها. للتحديث لآخر إصدار، يُرجى تشغيل تحديث az.
نموذج البرنامج النصي
في هذا البرنامج النصي، استخدم واجهة سطر الأوامر في Azure محلياً حيث يستغرق تشغيله في Cloud Shell وقتاً طويلاً.
تسجيل الدخول إلى Azure
استخدم البرنامج النصي التالي لتسجيل الدخول باستخدام اشتراك معين.
subscription="<subscriptionId>" # add subscription here
az account set -s $subscription # ...or use 'az login'
لمزيد من المعلومات، راجع تعيين اشتراك نشط أو تسجيل الدخول بشكل تفاعلي
تشغيل البرنامج النصي
# Restore a single database in Azure SQL Database to an earlier point in time
# Use Bash rather than Cloud Shell due to its timeout at 20 minutes when no interactive activity
# In Windows, run Bash in a Docker container to sync time zones between Azure and Bash.
# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-sql-rg-$randomIdentifier"
tag="restore-database"
server="msdocs-azuresql-server-$randomIdentifier"
database="msdocsazuresqldb$randomIdentifier"
restoreServer="restoreServer-$randomIdentifier"
login="azureuser"
password="Pa$$w0rD-$randomIdentifier"
echo "Using resource group $resourceGroup with login: $login, password: $password..."
echo "Creating $resourceGroup in "$location"..."
az group create --name $resourceGroup --location "$location" --tags $tag
echo "Creating $server in $location..."
az sql server create --name $server --resource-group $resourceGroup --location "$location" --admin-user $login --admin-password $password
echo "Creating $database on $server..."
az sql db create --resource-group $resourceGroup --server $server --name $database --service-objective S0
# Sleeping commands to wait long enough for automatic backup to be created
echo "Sleeping..."
sleep 30m
# Restore a server from backup to a new server
# To specify a specific point-in-time (in UTC) to restore from, use the ISO8601 format:
# restorePoint=“2021-07-09T13:10:00Z”
restorePoint=$(date +%s)
restorePoint=$(expr $restorePoint - 60)
restorePoint=$(date -d @$restorePoint +"%Y-%m-%dT%T")
echo $restorePoint
echo "Restoring to $restoreServer"
az sql db restore --dest-name $restoreServer --edition Standard --name $database --resource-group $resourceGroup --server $server --service-objective S0 --time $restorePoint
تنظيف الموارد
استخدم الأمر التالي لإزالة مجموعة الموارد وجميع الموارد المقترنة بها باستخدام الأمر حذف مجموعة az - إلا إذا وُجدت حاجة مستمرة لهذه الموارد. قد يستغرق إنشاء بعض هذه الموارد بعض الوقت، وكذلك حذفها.
az group delete --name $resourceGroup
مرجع النموذج
يستخدم هذا البرنامج النصي الأوامر التالية. يرتبط كل أمر في الجدول بأمر وثائق معينة.
الأمر | الوصف |
---|---|
استعادة az sql db | أمر استعادة قاعدة البيانات. |
الخطوات التالية
لمزيد من المعلومات حول واجهة سطر الأوامر في Azure، راجع وثائق واجهة سطر الأوامر في Azure.
يمكن العثور على نماذج البرامج النصية الإضافية لقاعدة بيانات SQL لقاعدة بيانات CLI فيوثائق قاعدة بيانات Azure SQL.