SQL Server’da Veritabanları için Dinamik Backup ve Restore Scriptleri Oluşturmak

Herkese merhaba,

Bu yazıda SQL Server’da veritabanları için dinamik Backup ve Restore Scriptleri oluşturmak ile ilgili bilgi vermeye çalışacağım.

SQL Server’da bazı durumlarda veritabanları için dinamik Backup ve Restore Scriptleri oluşturmak isteyebilirsiniz.

Aşağıdaki kodu kullanarak siz de bu işlemi rahatlıkla yapabilirsiniz.

select ('--' + a.databasename + '
print ''
========================================
Backup ' + a.databasename + '
========================================
''
Go
BACKUP DATABASE ' + a.databasename + ' TO DISK=''D:\yedek\' + a.databasename
        + '.bak'' WITH INIT, STATS = 10, COPY_ONLY, COMPRESSION
GO'
       ) as Script_Backup,
       ('--' + a.databasename + '
print ''
========================================
Restoring ' + a.databasename + '
========================================
''
Go
USE master
Go
RESTORE DATABASE ' + a.databasename + '
FROM DISK = ''\\yedek' + a.databasename + '.bak''' + ' WITH
MOVE ''' + a.ficherodatos + ''' TO ''D:\yedek\' + a.databasename + '.mdf'',' + '
MOVE ''' + b.ficherolog + ''' TO ''D:\yedek\' + a.databasename + '_log.ldf'',' + 'STATS = 10, RECOVERY, REPLACE
Go
'      ) as Script_Restore
from
(
    select db.name databasename,
           mf.name ficherodatos
    FROM sys.master_files mf
        INNER JOIN sys.databases db
            ON db.database_id = mf.database_id
    where mf.database_id > 4
          and type_desc = 'ROWS'
) a ,
(
    select db.name databasename,
           mf.name ficherolog
    FROM sys.master_files mf
        INNER JOIN sys.databases db
            ON db.database_id = mf.database_id
    where mf.database_id > 4
          and type_desc = 'LOG'
) b
where a.databasename = b.databasename
      and a.databasename IN ( 'NORTHWND' ) --Birden fazla veritabanı adını buraya yazabilirsiniz.
order by a.databasename

Yukarıdaki kodu çalıştırınca aşağıdakine benzer bir sonuç göreceksiniz.

SQL Server'da Veritabanları için Dinamik Backup ve Restore Scriptleri Oluşturmak

Görüldüğü üzere veritabanları için dinamik Backup ve Restore Scriptleri oluşturmuş olduk.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

147 Kez Okundu

Yavuz Selim Kart

Yazılım ve veri tabanında bildiklerimi anlatmaya gayret ediyorum. Halen birçok programlama dili üzerinde araştırmalar yaparak kendimi geliştiriyorum. Bunlar haricinde Grafik Tasarım ve Wordpress konularına da ilgim bulunmakta. SEO ve Sosyal medya yönetimleri hakkında da bilgim mevcuttur. Kısaca çok çalışmayı seven azimli biriyim.

You may also like...

Yazı kopyalamak yasaktır!