ایجاد بک آپ برای دیتابیس با استفاده از CMD
در پست قبلی مهندس نصیری با استفاده کتابخانه ExpressMaint و Schedule  ویندوز یه سیستم بک آپ گیری را پیاده کرده اند، در این بین با توجه به وجود SMO میتوان از طریق خط فرمان ویندوز و کمک گیری از کتابخانه 7ZIP و نوشتن فرامین مربوط و ایجاد بچ فایل و افزودن به Schedule  ویندوز، نیز میتوان بصورت زیر نیز این پیاده سازی را انجام داد، که بنا بر نیاز اسکریپت بک آپگیری را نوشت:
echo off
cls
rem --------------- Variables --------------- 
set packName=DbName
set connection=-S Server -U User -P Password
set path=PathForSaveBackup
rem --------------- Variables --------------- 

echo create backup
sqlcmd %connection% -Q "BACKUP DATABASE %packName% TO DISK = '%path%\%packName%.bak'"

echo compress backup file
..\tools\7za.exe a %path%\%packName%.7z %path%\%packName%.bak

echo delete backup file
del %path%\%packName%.bak

  • #
    ‫۱۲ سال و ۳ ماه قبل، شنبه ۲۴ تیر ۱۳۹۱، ساعت ۱۷:۳۷
    در SQL Server 2008 اگر سرور رو تنظیم کنید، بک‌آپ‌های تولیدی آن به صورت خودکار فشرده شده تولید می‌شوند: (^ ) و نیازی به ابزار اضافی برای اینکار ندارند.
    • #
      ‫۱۲ سال و ۳ ماه قبل، دوشنبه ۲ مرداد ۱۳۹۱، ساعت ۱۴:۲۶
      برای استفاده این امکان توکار و بی نیاز شدن از 7Zip باید اسکریپت را به این شکل تغییر دهیم:
      sqlcmd %connection% -Q "BACKUP DATABASE %packName% TO DISK = '%path%\%packName%.bak', COMPRESSION"