Forum

Sql 2008/2008R2 Ser...
 
Bildirimler
Hepsini Temizle

Sql 2008/2008R2 Server Query ile Database Yedek Alma İşlemi

2 Yazılar
2 Üyeler
0 Reactions
793 Görüntüleme
(@ugurdemir)
Gönderiler: 9886
Illustrious Member
Konu başlatıcı
 

Aşağağıdaki kodu kullanarak tüm veritabanlarının backup’ını alabilirsiniz.

DECLARE @name VARCHAR(50) — database name
DECLARE @path VARCHAR(256) — path for backup files
DECLARE @fileName VARCHAR(256) — filename for backup
DECLARE @fileDate VARCHAR(20) — used for file name

– specify database backup directory
SET @path = ‘C:\BackupDbs\’

– specify filename format
SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112)

DECLARE db_cursor CURSOR FOR
SELECT name
FROM master.dbo.sysdatabases
WHERE name NOT IN (‘master’,'model’,'msdb’,'tempdb’)  — exclude these databases

OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @name

WHILE @@FETCH_STATUS = 0
BEGIN
SET @fileName = @path + @name + ‘_’ + @fileDate + ‘.BAK’
BACKUP DATABASE @name TO DISK = @fileName

FETCH NEXT FROM db_cursor INTO @name

END

CLOSE db_cursor

DEALLOCATE db_cursor

 
Gönderildi : 13/11/2013 13:21

(@sinankahraman)
Gönderiler: 5225
Illustrious Member
 

Dataların tümünü değilde sadece belirlediğiniz dataları yedeklemek isterseniz;

 BACKUP DATABASE [DATA 1] TO  DISK = N'C:\Yedek\DATA 1.BAK' WITH NOFORMAT, INIT,  NAME = N'Test_Mikro-Full Database Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO

BACKUP DATABASE [DATA 2] TO  DISK = N'C:\Yedek\DATA 2.BAK' WITH NOFORMAT, INIT,  NAME = N'Test_Mikro-Full Database Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO

BACKUP DATABASE [DATA 3] TO  DISK = N'C:\Yedek\DATA 3.BAK' WITH NOFORMAT, INIT,  NAME = N'Test_Mikro-Full Database Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO

Yukarıdakileri yedek.sql ismi ile kaydedin ve bir bat dosyası oluşturun Örneğin: gunluk.bat ve içeriği

sqlcmd -S . -E -i C:\Yedek\YEDEK.sql

 Oluşturduğunuz bu bat dosyasını zamanlanmış görevlerde istediğiniz gibi kullanabilirsiniz.

 
Gönderildi : 13/11/2013 15:04

Paylaş: