Почему MS SQL server 2008 R2 добавляет в TSQL сценарий лишние символы?

Здравствуйте!
У нас резервное копирование БД осуществляется с помощью сценария (bukh - название БД, '\\192.168.10.2\bukh\bukh - сетевой ресурс )

DECLARE @Nw3 NVARCHAR(512)
SET @Nw3 = '\\192.168.10.2\bukh\bukh_' + Convert(varchar(8), GETDATE(), 112) + '.bak'
BACKUP DATABASE [bukh] TO DISK = @Nw3 WITH NOFORMAT, INIT, NAME = N'db_backup', SKIP, NOREWIND, NOUNLOAD,compression, STATS = 10

на сетевой ресурс. В последнее время сценарий перестал работать. Смотрю в логи, а в них

Сбой выполнения запроса "DECLARE @Nw3 NVARCHAR(512)
SET @Nw3 = '\\\\192.168.10..." со следующей ошибкой: "Невозможно открыть устройство резервного копирования '\\\\192.168.10.2\\bukh\\bukh_20170720.bak'. Ошибка операционной системы 64(Указанное сетевое имя более недоступно.).
BACKUP DATABASE прервано с ошибкой.". Возможные причины сбоя: проблемы с этим запросом, свойство "ResultSet" установлено неправильно, параметры установлены неправильно или соединение было установлено неправильно.

Как видно, добавлены лишние слэш. Почему так происходит?
  • Вопрос задан
  • 751 просмотр
Пригласить эксперта
Ответы на вопрос 3
AndyKorg
@AndyKorg
Кнопконажиматель и припоерасплавлятель
А как до этого работал? Чем запускается сценарий? Так то sql сервер тупая скотинка и ничего не добавляет в код скриптов.
Ответ написан
@sergnosov1
А ресурс \\192.168.10.2\bukh доступен?
Попробуйте поменять
SET @Nw3 = '\\192.168.10.2\bukh\bukh_' + Convert(varchar(8), GETDATE(), 112) + '.bak'
на
SET @Nw3 = N'\\192.168.10.2\bukh\bukh_' + Convert(nvarchar(8), GETDATE(), 112) + N'.bak'
Ответ написан
alnabi
@alnabi Автор вопроса
Теперь после добавления N вот такая ошибка:

Executing the query "DECLARE @Nw3 NVARCHAR(512)
SET @Nw3 = N'\\\\192.168.10.2\\bukh\\bukh_' + Convert(varchar(8), GETDATE(), 112) + N'.bak'
BACKUP DATABASE [bukh] TO DISK = @Nw3 WITH NOFORMAT, INIT, NAME = N'db_backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10" failed with the following error: "Cannot open backup device '\\\\192.168.10.2\\bukh\\bukh_20170724.bak'. Operating system error 5(Отказано в доступе.).
BACKUP DATABASE is terminating abnormally.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы