Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
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] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич Member Откуда: Moscow Сообщений: 37155 |
Телепатов нету. Читайте лог MSSQL-сервера, там будет ошибка, почему бэкап завалился. |
16 июл 17, 18:23 [20648338] Ответить | Цитировать Сообщить модератору |
aleks2
Guest |
Ну прям, сказки сказываете. 1. print @sql_sql 2. результат в студию |
16 июл 17, 18:27 [20648340] Ответить | Цитировать Сообщить модератору |
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] Ответить | Цитировать Сообщить модератору |
invm Member Откуда: Москва Сообщений: 9646 |
|
||
16 июл 17, 19:39 [20648430] Ответить | Цитировать Сообщить модератору |
aleks2
Guest |
Ну... осталось совсем чуть-чуть - из скрипта достать. ЗЫ. Если одинаковые - значит права разные. |
||
17 июл 17, 06:18 [20648938] Ответить | Цитировать Сообщить модератору |
mezzanine Member Откуда: Сообщений: 157 |
Похоже что-то не так с Flyway, в скрипте Powershell перенес тот же код на вызов через SQLCMD и все заработало. Спасибо за ответы. |
17 июл 17, 09:56 [20649294] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |