نحوه بکاپ‌گیری از SQL Server توسط PowerShell

برای بکاپ‌گیری از بانک‌های اطلاعاتی Microsoft SQL Server به راحتی می‌توانید با استفاده از ماژول PowerShell که در نسخه ۲۰۱۲ معرفی شده است استفاده نمائید.

درصورتی‌که نسخه ۲۰۱۲ به بالا را به همراه Client Tools نصب نموده‌اید ماژول SQLPS قبلا نصب شده است.
جهت بررسی این مورد از دستور زیر می‌توانید استفاده نمائید:

Get-Module -ListAvailable

در صورت لزوم باید نرم‌افزارهای مورد نیاز را دانلود و نصب نمائید:

http://www.microsoft.com/en-us/download/details.aspx?id=29065

  • Microsoft® System CLR Types for Microsoft® SQL Server® ۲۰۱۲ (SQLSysClrTypes.msi)
  • Microsoft® SQL Server® ۲۰۱۲ Shared Management Objects (SharedManagementObjects.msi)
  • Microsoft® Windows PowerShell Extensions for Microsoft® SQL Server® ۲۰۱۲ (PowerShellTools.msi)

سپس برای فراخوانی ماژول‌ها:

Import-Module sqlps

پس از نصب ۴۶ دستور اضافه خواهد شد که موارد زیر از پرکاربردترین آن‌هاست.

 

Backup-SqlDatabase
Restore-SqlDatabase
Backup-ASDatabase
Restore-ASDatabase

 

کد زیر برای تهیه بکاپ و اضافه نمودن تاریخ به آن استفاده خواهد شد:

 


$DateTime = Get-Date -Format yyyyMMddHHmmss
$ServerInstance = "localhost\sqlexpress"
$Database = "databasenametobackup"
Backup-SqlDatabase -ServerInstance $ServerInstance -Database $Database -BackupFile "C:\path\to\store\backup\backup-$DateTime.bak"