Sem Göksu
Sem Göksu
Yazılım · Yolculuk · Fenerbahçe
SQL Server

T-SQL Kullanarak Tüm Veritabanlarının Yedeklerini Alma

24 Nisan 2024 2 dk okuma 7 0
SQL Server'da veritabanlarının yedeklerini almak, veri kaybını önlemenin ve felaket kurtarma planınızı güçlendirmenin önemli bir parçasıdır. Tüm veritabanlarının yedeklerini almak için T-SQL kullanarak otomatik bir süreç oluşturabilirsiniz. Bu makalede, SQL Server'da T-SQL kullanarak tüm veritabanlarının yedeklerini nasıl alacağınızı adım adım göstereceğiz.

1. Tüm Veritabanlarını Listeleme
İlk adım olarak, SQL Server'daki tüm veritabanlarını listelemeniz gerekmektedir. Bunun için aşağıdaki sorguyu kullanabilirsiniz:

SELECT name
FROM sys.databases
WHERE name NOT IN ('master', 'tempdb', 'model', 'msdb')


Bu sorgu, master, tempdb, model ve msdb veritabanlarını hariç tutarak tüm kullanıcı veritabanlarını listeler.

2. Yedek Alma İşlemi
Şimdi, listedeki her bir veritabanı için yedek alma işlemini gerçekleştireceğiz. Aşağıdaki T-SQL komutu bu işlemi yapacaktır:

DECLARE @DBName NVARCHAR(255)
DECLARE @BackupPath NVARCHAR(500)
DECLARE @BackupFileName NVARCHAR(500)
DECLARE @SQL NVARCHAR(MAX)
SET @BackupPath = 'C:\Backup\' -- Yedeklerin saklanacağı dizini belirtin

DECLARE
DBNameCursor CURSOR FOR
SELECT name FROM sys.databases
WHERE name NOT IN ('master', 'tempdb', 'model', 'msdb')
OPEN DBNameCursor
FETCH NEXT FROM DBNameCursor INTO @DBName
WHILE @@FETCH_STATUS = 0

BEGIN

    SET @BackupFileName = @BackupPath + @DBName + '_' + REPLACE(CONVERT(NVARCHAR(20), GETDATE(), 120), ':', '') + '.bak'

    SET @SQL = 'BACKUP DATABASE ' + QUOTENAME(@DBName) + ' TO DISK = ''' + @BackupFileName + ''' WITH FORMAT'
    EXEC(@SQL)

    
FETCH NEXT FROM DBNameCursor INTO @DBName

END

CLOSE DBNameCursor
DEALLOCATE DBNameCursor


Bu komut, her bir veritabanını alır ve belirtilen yedek dizinine o veritabanının adını ve geçerli tarihi içeren bir yedek dosyası oluşturur.

3. Otomatik Yedekleme Planı Oluşturma

Tüm veritabanlarının düzenli olarak yedeklerini almak için bir otomatik yedekleme planı oluşturmak önemlidir. SQL Server Agent kullanarak bu işlemi yapabilirsiniz. Günlük, haftalık veya aylık olarak yedekleme planınızı yapılandırabilirsiniz.

4. Dikkat Edilmesi Gerekenler

Yedekleri saklayacağınız disk alanının yeterli olduğundan emin olun.
Yedekleme işlemlerinin yüksek trafik saatlerinde gerçekleşmediğinden ve sistem performansını etkilemediğinden emin olun.
Yedekleme işleminden önce veritabanı dosyalarınızın bütünlüğünü kontrol edin.
Bu adımları takip ederek, SQL Server'daki tüm veritabanlarının düzenli olarak yedeklerini alabilir ve veri kaybını en aza indirebilirsiniz.

Bu makale, SQL Server'daki tüm veritabanlarının yedeklerini almak için temel bir rehber sağlar. İhtiyaçlarınıza ve ortamınıza bağlı olarak, işlemleri özelleştirebilirsiniz.
Paylaş:

Yorumlar (0)

Henüz yorum yok. İlk yorumu sen yap!

Yorum bırak

* Yorumlar moderasyon sonrası yayınlanır. E-posta gizli tutulur.