Рейтинг
0.00
avatar

MS SQL Server

Подробнее ↓

Сжатие LOG файла в MS SQL Server по расписанию

MS SQL Server
Сжать базу логов можно с помощью shrink. Если у вас модель восстановления простая, то базу можно сразу сжимать. У меня полная, поэтому буду сначала менять модель восстановления:
Скрипт shrinkms.sql (его будем вызывать из следующего скрипта)
USE  [DBname];
GO
-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE  [DBname]
SET RECOVERY SIMPLE;
GO
-- Shrink the truncated log file to 10 MB.
DBCC SHRINKFILE ( [DBname]_Log, 10);
GO
-- Reset the database recovery model.
ALTER DATABASE  [DBname]
SET RECOVERY FULL;
GO

Скрипт для планировщика shrink.cmd
sqlcmd -S [SERVERNAME] -U [USERNAME] -P [PASSWORD] -i c:\db\shrinkms.sql

Автоматическое создание резервных копий MS SQL Server

MS SQL Server
Я не стал пользоваться разными программами для резервного копирования и встроенными средствами, сделал скрипт и повесил его в автоматическое выполнение ночью.
Скрипт backupms.sql (его будем вызывать из следующего скрипта)
DECLARE @pathName NVARCHAR(512) 
SET @pathName = 'c:\db_backup_' + Convert(varchar(8), GETDATE(), 112) + '.bak' 
BACKUP DATABASE [DBname] TO  DISK = @pathName WITH NOFORMAT, NOINIT,  NAME = N'db_backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10

Скрипт для планировщика backup.cmd
sqlcmd -S [SERVERNAME] -U [USERNAME] -P [PASSWORD] -i c:\db\backupms.sql
copy /y c:\db_backup*.bak Z:\1c-back\
del /f c:\db_backup*.bak

Оригинал тут. Я архивировать не стал, но если требуется, можно взять код по ссылке.