Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Backup with error code 3013  [new]
mezzanine
Member

Откуда:
Сообщений: 157
Добрый день.

Уже долгое время для актуализации базы на Standart работает Powershell скрипт который готовит большой SQL скрипт и запускает его в Flyway. В этом большом SQL на первом месте стоит создании копии базы. Все отлично работает. Прописываю строку соединения на SqlExpress, на том же сервере что и Standart, и вылетает на копии ошибка:
SQL State : S1000
Error Code : 3013
Message : BACKUP DATABASE is terminating abnormally.

Если закоментировать в скрипте создание копии то все раьотает. Если в MSMS выполнить скрипт создания копии то тоже работает:
DECLARE @sql_sql NVARCHAR(MAX) = N'',
        @backup_param NVARCHAR(MAX) = N'',
        @server_name SYSNAME = REPLACE(@@servername, N'\', N'$'),
        @db_name SYSNAME = DB_NAME(),
        @file_path NVARCHAR(4000);

SET @file_path = N'e:\Shared\Backup' + N'\' + @server_name + '\' + @db_name + '\FULL\FLYWAY_' + @server_name + N'_' + @db_name + '_FULL_' +
REPLACE(CONVERT(NVARCHAR(10), GETDATE(), 102), N'.', N'') + '_' +
REPLACE(CONVERT(NVARCHAR(8), GETDATE(), 108), N':', N'') + '.bak';

IF EXISTS (SELECT 1 FROM sys.configurations c WHERE c.name = N'backup compression default')
  SET @backup_param += N', COMPRESSION';

SET @sql_sql = N'BACKUP DATABASE ' + QUOTENAME(@db_name) +
N' TO DISK = ''' + @file_path + '''';

SET @backup_param = NULLIF(LTRIM(RTRIM((@backup_param))), N'');
IF (@backup_param IS NOT NULL)
BEGIN
  SET @sql_sql = @sql_sql + N' WITH INIT ' + @backup_param;
END;

EXEC sys.sp_executesql @sql_sql;
GO
16 июл 17, 18:19    [20648334]     Ответить | Цитировать Сообщить модератору
 Re: Backup with error code 3013  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36695
Телепатов нету. Читайте лог MSSQL-сервера, там будет ошибка, почему бэкап завалился.
16 июл 17, 18:23    [20648338]     Ответить | Цитировать Сообщить модератору
 Re: Backup with error code 3013  [new]
aleks2
Guest
Ну прям, сказки сказываете.

1. print @sql_sql
2. результат в студию
16 июл 17, 18:27    [20648340]     Ответить | Цитировать Сообщить модератору
 Re: Backup with error code 3013  [new]
mezzanine
Member

Откуда:
Сообщений: 157
Если выполняю в MSMS то @sql_sql:
BACKUP DATABASE [POS_TEST] TO DISK = 'e:\Shared\Backup\OLCHA$SQLEXPRESS\POS_TEST\FULL\FLYWAY_OLCHA$SQLEXPRESS_POS_TEST_FULL_20170716_165929.bak'

В Sql Server Logs тишина, не появляются ошибки.
16 июл 17, 18:41    [20648350]     Ответить | Цитировать Сообщить модератору
 Re: Backup with error code 3013  [new]
invm
Member

Откуда: Москва
Сообщений: 9125
mezzanine
В Sql Server Logs тишина
Windows Events Log смотрите.
16 июл 17, 19:39    [20648430]     Ответить | Цитировать Сообщить модератору
 Re: Backup with error code 3013  [new]
aleks2
Guest
mezzanine
Если выполняю в MSMS то @sql_sql:
BACKUP DATABASE [POS_TEST] TO DISK = 'e:\Shared\Backup\OLCHA$SQLEXPRESS\POS_TEST\FULL\FLYWAY_OLCHA$SQLEXPRESS_POS_TEST_FULL_20170716_165929.bak'

В Sql Server Logs тишина, не появляются ошибки.



Ну... осталось совсем чуть-чуть - из скрипта достать.

ЗЫ. Если одинаковые - значит права разные.
17 июл 17, 06:18    [20648938]     Ответить | Цитировать Сообщить модератору
 Re: Backup with error code 3013  [new]
mezzanine
Member

Откуда:
Сообщений: 157
Похоже что-то не так с Flyway, в скрипте Powershell перенес тот же код на вызов через SQLCMD и все заработало.
Спасибо за ответы.
17 июл 17, 09:56    [20649294]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить