Упражнения с датами в T-SQL для бэкапа

Попытка 1 с примером из интернета:

Попытка 2 с текущей датой:

Облагородим для применения в скрипте бэкапа:

Поправил ошибку с длиной строки:

Но скрипт не работает в Jobs, выдает ошибку:

Executed as user: NT SERVICE\SQLSERVERAGENT. Invalid parameter 1 specified for datepart. [SQLSTATE 42000] (Error 1023).  The step failed.

А ларчик просто открывался, кавычки в имени первого параметра DATEPART были лишними:

DECLARE @number_parts INT; SET @number_parts = 5;
DECLARE @arc_part_name Varchar (1024);
SET @arc_part_name  = cast (DATEPART(DAYOFYEAR, getdate()) % @number_parts as varchar);
 
DECLARE @arc_file_name AS Varchar(1024); 
SET @arc_file_name = 'C:\backup\sql\unf_backup' + @arc_part_name + '.bak';
SELECT @arc_file_name;
BACKUP DATABASE [unf] TO  DISK = @arc_file_name  WITH NOFORMAT, INIT,  SKIP, REWIND, NOUNLOAD, COMPRESSION,  STATS = 10, CHECKSUM 	

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

комментария 4

  1. rzd:

    Что означают двойные кавычки в TSQL?

Добавить комментарий

Ваш адрес email не будет опубликован.