Cadangan automatik pangkalan data pelayan SQL, padam sandaran lama ... - Bagaimana Untuk

Cadangan automatik pangkalan data pelayan SQL, padam sandaran lama ...

Saya telah menggunakan skrip ini untuk beberapa waktu sekarang, dan ia berfungsi hebat untuk membuat sandaran pangkalan data SQL untuk fail BAK, menjalankan sandaran penuh, untuk juga menyatukan fail log dan memastikan pelayan SQL berfungsi dengan baik.
Aids dalam mendapatkan offsite backup SQL dengan mensasarkan output kerja sandaran ke folder dalam format yang mudah difahami.
contohnya; C: SqlBackups

Nikmati!

Jumlah 5 Langkah

Langkah 1: Buat folder baru, saya suka membuat folder bernama "Automasi"

(Dari arahan segera)

C:
Automasi MD
Automasi CD
MD SQLBackups
MD Scripting
MD Temp

Langkah 2: Letakkan fail SQL ke dalam folder Automasi "C: Automation Scripting backupsql-all.sql" (simpan bahagian antara --- dan salin / tampal ke nama fail "backupsql-all.sql")

(Dari command prompt atau Windows Exploder)
--
DECLARE @BackupFile varchar (255), @DB varchar (30), @Description varchar (255), @LotFile varchar (50)
DECLARE @Name varchar (30), @MediaName varchar (30), @BackupDirectory nvarchar (200)
SET @BackupDirectory = 'C: Automation SqlBackups '
--Tambah satu senarai semua pangkalan data yang anda tidak mahu cadangan untuk ini.
DECLARE CURSOR Database_CURSOR UNTUK PILIH nama FROM sysdatabases WHERE name <> 'tempdb' AND name <> 'model' AND name <> 'Northwind' AND name <> 'AdventureWorksDW' AND name <> 'AdventureWorks' AND name <> 'SUSDB'
OPEN Database_Cursor
FETCH seterusnya FROM Database_CURSOR INTO @DB
WHILE @@ fetch_status = 0

BEGIN
SET @Name = @DB + '(BACKUP harian)'
SET @MediaName = @DB + '_Dump' + CONVERT (varchar, CURRENT_TIMESTAMP, 112)
SET @BackupFile = @BackupDirectory + + @DB + '_' + 'Full' + '_' +
CONVERT (varchar, CURRENT_TIMESTAMP, 112) + '.bak'
SET @Description = 'Normal' + 'BACKUP di' + CONVERT (varchar, CURRENT_TIMESTAMP) + '.'

JIKA (PILIH COUNT (*) DARI msdb.dbo.backupset WHERE database_name = @DB)> 0 ATAU @DB = 'master'
BEGIN
SET @BackupFile = @BackupDirectory + @DB + '_' + 'Penuh' + '_' +
CONVERT (varchar, CURRENT_TIMESTAMP, 112) + '.bak'
--SET beberapa perkara yang lebih cantik untuk pelayan sql.
SET @Description = 'Penuh' + 'BACKUP di' + CONVERT (varchar, CURRENT_TIMESTAMP) + '.'
END
ELSE
BEGIN
SET @BackupFile = @BackupDirectory + @DB + '_' + 'Penuh' + '_' +
CONVERT (varchar, CURRENT_TIMESTAMP, 112) + '.bak'
--SET beberapa perkara yang lebih cantik untuk pelayan sql.
SET @Description = 'Penuh' + 'BACKUP di' + CONVERT (varchar, CURRENT_TIMESTAMP) + '.'
END
BACKUP DATABASE @DB TO DISK = @BackupFile
DENGAN NAMA = @Name, DESCRIPTION = @ Deskripsi,
MEDIANAME = @MediaName, MEDIADESCRIPTION = @ Deskripsi,
STATS = 10
FETCH seterusnya FROM Database_CURSOR INTO @DB
END
CLOSE Database_Cursor
DEALLOCATE Database_Cursor
---
PENTING: edit pembolehubah "SET @BackupDirectory = 'C: Automation SqlBackups '" dengan nama laluan anda jika anda tidak menggunakan saya, dalam langkah (1.) di atas.
JUGA: mengedit pembolehubah "MENGEMBANGKAN BASIC_CURSOR_CURSOR UNTUK PEMILIKAN nama FROM sysdatabases ......" untuk mengecualikan pangkalan data anda TIDAK mahu disandarkan ...!

Langkah 3: Buat fail kelompok (contohnya dalam C: Automatiion) dan sebut sebagai "BackupSQLscript.CMD"

sqlcmd -S. -i "C: Automation Scripting backupsql-all.sql"

Langkah 4: Buat fail 'pembersihan' (contohnya, dalam C: Automation) dan sebut sebagai "Deleteolderthan3daysSQLbackups.CMD"

echo on

rem Pertama Padamkan fail Backup SQL lama

FORFILES / p C: Automation Sqlbackups / s / m *. * / D -3 / c "CMD / C del / Q @ FILE"

berhenti sebentar

Langkah 5: Tambahkan fail CMD yang dibuat dalam langkah (3.) dan (4.) ke pengurus tugas anda ...

Jalankan langkah (3.) terlebih dahulu untuk membuat sandaran, dan kemudian (4.) secara mingguan.

Lokasi untuk semua skrip dan sandaran berada di pelayan fail / sql di mana SQL dihoskan (dan studio pengurusan dipasang).

Kami menjalankan langkah (3.) setiap malam dan (4.) setiap minggu. Ubah suai (4.) sesuai dengan citarasa anda - bererti berapa hari pengekalan (backups) yang ingin anda simpan.

Nikmati!