Имя: Пароль:
1C
 
Почему MS SQL server 2008 R2 добавляет в TSQL сценарий лишние символы?
0 dirar
 
20.07.17
15:14
Здравствуйте!
У нас резервное копирование БД осуществляется с помощью сценария (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" установлено неправильно, параметры установлены неправильно или соединение было установлено неправильно.

Как видно, добавлены лишние слэш. Почему так происходит?
1 Господин ПЖ
 
20.07.17
15:23
>Почему так происходит?


у кого-то руки с ж.пы

DECLARE @Nw3 NVARCHAR(512)
SET @Nw3 = '\\192.168.10.2\bukh\bukh_' + Convert(varchar(8), GETDATE(), 112) + '.bak'

select @Nw3

Result: \\192.168.10.2\bukh\bukh_20170720.bak
2 dirar
 
20.07.17
15:26
Мне это нужно добавить к своему скрипту
select @Nw3
Result: \\192.168.10.2\bukh\bukh_20170720.bac ??
3 Cyberhawk
 
20.07.17
17:08
(2) Он тебе показал результат работы команды селект
4 dirar
 
24.07.17
07:37
(3) А почему у меня в логах написано
'\\\\192.168.10.2\\bukh\\bukh_20170720.bak'.?
5 dirar
 
24.07.17
07:41
(3) И это у меня происходит на двух серверах с MS SQL Server.
6 dirar
 
24.07.17
08:31
Получается SQL Server сам от себя добавляет обратные слэш
7 Fram
 
24.07.17
08:46
(4) Это нормально. символ \ в данном случае служебный символ.
То есть у вас на самом деле перестал быть доступным сетевой ресурс.
8 Fedor-1971
 
24.07.17
08:50
7+ для пользователя, с которым стартует скрипт
(0) отчаянный, создай временную копию, например, на диске D:, потом перемести шедулером в нужное место постоянного хранения (не оставляй файл по месту создания, в него будут дописываться следующие копии, соответственно и размер будет ого какой)
9 dirar
 
24.07.17
15:29
Когда задание выполняю в SQL Agent, то получаю следующую ошибку:
Executed as users: DOMEN\admin. 'compression' is not a recognized BACKUP option. [SQLSTATE 42000](Error 155). The step failed.