Feb 14, 2012

MS SQL Server-də sql query ilə backup almaq.

   Digər DBMS-lər də olduğu kimi MS SQL Server-də də sql query ilə backup almaq imkanı sözsüzki var. Təbiki belə vəziyyətlərdə əgər proqramçı olduğumuzu düşünərəkdən :-) kiçik bir app
yazaraq bunu etmək olar. Mən isə bunu applicationla göstərmiyəcəm sadəcə olaraq sql-də necə edilir onu göstərəcəm.
Bunu procedure yazaraq etmək daha əlverişlidir təbiki. Procedure yazmaq hissəsini sql istifadə edənlər onsuzda bilir buna görədə sadəcə backup alan query-ni yazıram.

...
SET @COMMAND = @DIRECTORY + '\' + REPLACE(CONVERT(varchar,GETDATE(),103),'/','') + '_' + @DBNAME +'.BAK'

...

bu query-də  @COMMAND backup əmrinə ötürüləcək query-dir. @DIRECTORY bu isə backup alınan faylın hansı directoriyada saxlanacağını bildirir.  REPLACE(CONVERT(varchar,GETDATE(),103),'/','')  bu isə backup faylına günün tarixilə ad vermək üçündür. @DBNAME bu isə backup alınacaq database-in adıdır. 

...
BACKUP DATABASE @DBNAME
...

burada isə qeyd edilən database-in backup-nın alınması əmr edilir. 

...
TO DISK = @DIRECTORY
...

bu isə backup faylının həmin diskdə saxlanmağını təmin edir.

...
WITH FORMAT
PRINT @DIRECTORY + 'Backup file is ready'
...

bu isə bizə mesaj olaraq backup faylının alındığını çıxarır.

Qısaca olaraq MS SQL Server-də backup query-si belədir. Ümid edirəmki kiməsə faydalı olacaq :-).

No comments:

Post a Comment

Zəhmət olmasa şərhlərinizi yazın