MSSQL EXPRESS BackUP

Резервное копирование (англ. backup copy) — процесс создания копии данных на носителе (жёстком диске, дискете и т. д.), предназначенном для восстановления данных в оригинальном или новом месте их расположения в случае их повреждения или разрушения.

Резервное копирование, бекап БД.

Для подготовки резервного копирования, необходимо подготовитт файл со скриптом к базе данных Microsoft SQL.
Назовем его, например: mssql-backup.sql.

И его содержимое:

DECLARE @DBName nvarchar(max), @BackupName nvarchar(max), @BackupFolder nvarchar(500);
--Формирование даты для бэкапа
DECLARE @BackupDate nvarchar(max) = CONVERT(varchar(10),GETDATE(),105);
--Каталог для бэкапа
DECLARE @BackupPath nvarchar(500) = 'C:\temp' </code>

DECLARE @dbs TABLE(ID int IDENTITY NOT NULL, dbname sysname NOT NULL);
INSERT INTO @dbs(dbname)
SELECT name
FROM sys.databases
WHERE name NOT IN('master','msdb','model','tempdb') --Исключаем системные базы
--и отключенные
AND state &lt;&gt; 6
ORDER BY name DESC;

DECLARE @dbcount int;
SET @dbcount = @@ROWCOUNT;
WHILE @dbcount &gt; 0
BEGIN
SELECT @DBName = dbname
FROM @dbs
WHERE ID = @dbcount;
SET @BackupFolder = @BackupPath + '\' + @DBName;
SET @BackupName = @BackupFolder + '\' + @DBName + @BackupDate + '.bak';
EXECUTE master.dbo.xp_create_subdir @BackupFolder;
BACKUP DATABASE @DBName TO DISK = @BackupName WITH NOFORMAT , INIT , SKIP , NOREWIND , NOUNLOAD , COMPRESSION , STATS = 10
SET @dbcount = @dbcount - 1;
END;

Далее, если у Вас MSSQL установлен на ОС Windows:
В виндовый планировщик закидываете команду

sqlcmd -s server_name\sqlexpress -i C:\mssql-backup.sql -o C:\Logs\output.txt

Или, если установлен на Linux:
вставляем в cron(планировщик)

/opt/mssql-tools/bin/sqlcmd -U sa -P -S localhost -i /opt/mssql-tools/mssql-backup.sql

Полезная строчка для дебианоподобныйх систем, при сбое gpg ключа

Подискутировать

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.