Auto Backup از پایگاه داده ها در SQL Server

سه شنبه 20 مرداد 1394

این مقاله درباره پشتیبان گیری به طور خودکار از پایگاه داده ها در SQL Server 2008 و نسخه های بالاتر است که شما را از پشتیبان گیری های دستی و وقت گیر برای ایجاد فایل های bak. نجات می دهد.

پیش زمینه:

برای زمان بندی پشتیان گیری اتوماتیک و استفاده از task scheduler پیش فرض ویندوز، نیاز داریم که نسخه SQL نصب شده روی سیستم را بدانیم.

استفاده از کد:

این ساده ترین روش پیاده سازی پشتیبان گیری اتوماتیک می باشد، برای این کار باید یک query بنویسیم تا بتوانیم از یک پایگاه داده مشخص در SQL پشتیبان تهیه کنیم. اسکریپت SQLای مانند آنچه در زیر می بینید را ذخیره می کنیم.

BACKUP DATABASE [DBSample] TO  DISK = N'C:\database\xxxxxxx.bak' WITH NOFORMAT, NOINIT,  _
NAME = N'DBSample Database Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO

سپس یک Batch file با کدهای زیر ایجاد می کنیم.

@ECHO OFF
ECHO. Creating Backupc of database
cd/
cd C:\Program Files\Microsoft SQL Server\100\Tools\Binn\
SQLCMD.EXE -U sa -P pass -S XXXX-PC\LOCALHOST -i "C:\database\Sql Auto Backup\script_sql.sql"
cd/
cd C:\database\
COPY "C:\database\dbsample_backup.bak" _
"C:\database\Sql Backup\dbsample_backup%date:~-10,2%%date:~-7,2%%date:~-4,4%.bak"
C:\Backup\Sql Backup\dbsample_backup.bak"  

در کد بالا، مسیر SQLCMD.EXE را در Program files چک می کنیم و برای هر نسخه ای از SQL Server  که روی سیستم نصب شده است، آن  را تغییر می دهیم.

اگر Authentication مربوط به SQL Server شما فعال است، UserName، Password و نام Database Engin خود را نیز بدهید.

و درنهایت، مسیر SQL Script ای را که در بالا ساختیم به آن می دهیم.

"C:\database\Sql Auto Backup\script_sql.sql"
SQLCMD.EXE -U sa -P pass -S XXXX-PC\LOCALHOST -i "C:\database\Sql Auto Backup\script_sql.sql"

این قطعه کد، فایل  .bak را می سازد و یک کپی از آن را در مسیر داده شده ایجاد می کند. همچنین فایل های پشتیبان با زمان و تاریخ فعلی نمایش داده می شوند.

COPY "C:\database\dbsample_backup.bak" 
"C:\database\Sql Backup\dbsample_backup%date:~-10,2%%date:~-7,2%%date:~-4,4%.bak"

حالا، این Batch file را همان جایی که اسکریپت ما قرار دارد ذخیره می کنیم.

حال، به منوی استارت رفته و با تایپ task scheduler آن را اجرا می کنیم. بعد از باز شدن پنجره، به scheduler library که در گوشه سمت چپ پنجره قرار دارد، می رویم. روی آن راست کلیک کرده و گزینه Create Task را انتخاب می کنیم. در پنجره ای که باز می شود به تب General رفته و نام مناسبی برای task خود انتخاب می کنیم.

سپس به تب Actions رفته و روی دکمه New کلیک می کنیم و مسیر Batch file ای که در مرحله قبل ساختیم به آن می دهیم.

زمان پشتیبان گیری را تنظیم کرده و به تب Trigger رفته و یک New Trigger می سازیم.

به همین سادگی Auto Backup ما فعال می شود.

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید