خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را

بک آپ گیری از همه دیتابیس ها در SQL Server با Batch file

بک آپ گیری از همه دیتابیس ها در SQL Server با Batch file

کد مطلب : 4389 PDF


ما در پست قبلی نحوه Backup گیری از دیتابیس ها SQL Server را با استفاده از دستورات خط فرمان پوشش دادیم و دید که چگونه با استفاده از آن دستورات، به سادگی موفق به تهیه Backup و همچنین Restore کردن دیتابیس در SQL شدیم. شما با استفاده از maintenance plan در SQL Server می توانید در یک plan از همه دیتابیس ها بک آپ بگیرید.

آموزش سالیدورکز 20-2019

اما ما در این پست می خواهیم با استفاده از Batch File از همه دیتابیس های Attach شده در یک instance از SQL Server را یکجا بک آپ بگیریم. فقط اگر دیتابیسی از SQL حذف و یا اضافه گردید باید این اسکریپت را بروز کنید. هر بار بک آپ، به حجم فایل قبلی اضافه خواهد شد و بک آپ فایل جدیدی ایجاد نخواهد شد.

Backup و Restore دیتابیس در SQL Server با دستورات Command Prompt
آموزش بک آپ گیری خودکار از SQL Server

لطفا برنامه Notepad را اجرا کرده و اسکریپت زیر را در آن وارد کنید:

@ECHO OFF
SETLOCAL
REM Get date in format YYYY-MM-DD (assumes the locale is the United States)
FOR /F “tokens=1,2,3,4 delims=/ ” %%A IN (‘Date /T’) DO SET NowDate=%%D-%%B-%%C
REM Build a list of databases to backup
SET DBList=%SystemDrive%SQLDBList.txt
SqlCmd -E -S MyServer -h-1 -W -Q “SET NoCount ON; SELECT Name FROM master.dbo.sysDatabases WHERE [Name] NOT IN (‘master’,’model’,’msdb’,’tempdb’)” > “%DBList%”
REM Backup each database, prepending the date to the filename
FOR /F “tokens=*” %%I IN (%DBList%) DO (
ECHO Backing up database: %%I
SqlCmd -E -S MyServer -Q “BACKUP DATABASE [%%I] TO Disk=’D:Backup%NowDate%_%%I.bak'”
ECHO.
)
REM Clean up the temp file
IF EXIST “%DBList%” DEL /F /Q “%DBList%”
ENDLOCAL

سپس آن را با نام و در مسیر دلخواه تان ذخیره کنید و فقط باید پسوند فایل bat باشد.

آموزش ایجاد Batch File در ویندوز

فرض کنید تا ریخ 1/13/2009 است و آنکه 3 دیتابیس با نام های MyDB، AnotherDB، DB Name with Spaces دارید.این اسکریپت، سه فایل بک آپ در مکان بک آپ گیری ذخیره می کند.

• 2009-01-13_AnotherDB.bak
• 2009-01-13_DB Name with Spaces.bak
• 2009-01-13_MyDB.bak


Customizing and Running the Batch Script


در مورد دستور فوق باید موارد زیر را در نظر داشته باشید:
اگر location در ویندوزتان کشور ایالات متحده آمریکا تنظیم نشده باشد، ممکن است دستور Date /T، تاریخ در فرمت Tue 01/13/2009 بازنگرداند. اگر این مورد باشد، متغیر NowDate فرمت دلخواه را تولید نخواهد کرد و باید تنظیم شود.
MyServer را تغییر دهید تا نام SQL Server خودتان را در آن وارد کنید.
دیتابیس هایی مثل ‘master’, ‘model’, ‘msdb’ and ‘tempdb’ را حتما می دانید که همراه با خود SQL Server نصب می شوند. اگر از آنها بک آپ نمی خواهید، به جای اینها نام دیتابیس های مورد نظر خودتان را جایگزین کنید.
D:Backup در اسکریپت بالا، مکان ذخیره سازی بک آپ فایل ها است، می توانید مسیر دلخواه خودتان را جایگزین کنید.
کافیست روی این Batch file ایجاد شده کلیک راست کرده و بصورت Run as administrator، آن را اجرا کنید یا از طریق Task Scheduler ویندوز، در زمان های مقرر بصورت خودکار این Batch file را اجرا کنید.








دیدگاه ها(0)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.

لطفا پیش از ارسال دیدگاه ، به نکات زیر توجه فرمایید :

- از نوشتن دیدگاه های غیر مرتبط با پست جدا خودداری کنید.
- لطفاً دیدگاه های خود را با حروف فارسی تایپ کنید، دیدگاه های فینگیلیش تایید نمی شوند.
- قبل از ارسال دیدگاه حتما متن پست و نظرات سایر دوستان را بخوانید . نظرات اسپم و تکراری تایید نخواهند شد.
- نظر شما ممکن است بدون پاسخ تایید شوند که در این صورت باید منتظر پاسخ از سوی دیگر کاربران باشید .
- لطفا انتقادات و پیشنهادات و همچنین درخواست های خود را از طریق ایمیل khoshamoz[at].hotmail.com ارسال نمایید
- چرا آموزش های سایت خوش آموز در قالب فایل pdf به صورت یکجا ارائه نمی شوند؟
- چرا برخی پرسش های کاربران پاسخ داده نمی شوند؟