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

Откуда:
Сообщений: 298
создал bat файл, для архивирования базы

set base=medic_2
set dir=D:\SQL_backup\
set server=pcname\SQLEXPRESS
md %dir%
osql.exe -S %server% -U usr -P psw-Q "BACKUP DATABASE %base% TO DISK = N'%dir%\medic_2_%date%.bak' WITH NOFORMAT, INIT, NAME = N'Backup medic', SKIP, NOREWIND, NOUNLOAD, STATS = 10" -o %dir%\Backuplog_sql.txt


выдает ошибку
Сообщение 156, уровень 15, состояние 1, сервер AMANDRA\SQLEXPRESS, строка 1
Неправильный синтаксис около ключевого слова "TO".
Сообщение 319, уровень 15, состояние 1, сервер AMANDRA\SQLEXPRESS, строка 1
Неправильный синтаксис около ключевого слова "with". Если данная
инструкция является обобщенным табличным выражением или предложением
xmlnamespaces, предыдущую инструкцию необходимо завершать точкой с
запятой.

не могу понять, в чем проблема?
22 апр 13, 18:12    [14214538]     Ответить | Цитировать Сообщить модератору
 Re: osql архивирование базы  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
"BACKUP DATABASE [%base%] ..."? Чему ваше %base% равно?

Сообщение было отредактировано: 22 апр 13, 18:16
22 апр 13, 18:16    [14214550]     Ответить | Цитировать Сообщить модератору
 Re: osql архивирование базы  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31957
amandra
не могу понять, в чем проблема?
А вы поставьте echo перед osql.exe, и увидите, что за строка у вас выполняется.

Потом попробуйте выполнить эту строку в SSMS, отладьте.
22 апр 13, 18:18    [14214560]     Ответить | Цитировать Сообщить модератору
 Re: osql архивирование базы  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31957
Гавриленко Сергей Алексеевич
"BACKUP DATABASE [%base%] ..."? Чему ваше %base% равно?
set base=medic_2

В принципе должно подставить.
Но вообще проверить проще, чем читать этот bat файл и пытаться найти ошибку :-)
22 апр 13, 18:19    [14214569]     Ответить | Цитировать Сообщить модератору
 Re: osql архивирование базы  [new]
amandra
Member

Откуда:
Сообщений: 298
если каждую команду копирую и выполняю в cmd - работает
а запускаю bat-файл - выдает указанную ошибку
22 апр 13, 18:25    [14214592]     Ответить | Цитировать Сообщить модератору
 Re: osql архивирование базы  [new]
Glory
Member

Откуда:
Сообщений: 104751
amandra
если каждую команду копирую и выполняю в cmd - работает

Каккую "каждую" ?

Прямо вот так копируете

BACKUP DATABASE %base% TO DISK = N'%dir%\medic_2_%date%.bak' WITH NOFORMAT, INIT, NAME = N'Backup medic', SKIP, NOREWIND, NOUNLOAD, STATS = 10

и выполняете ?
22 апр 13, 19:49    [14214999]     Ответить | Цитировать Сообщить модератору
 Re: osql архивирование базы  [new]
amandra
Member

Откуда:
Сообщений: 298
Glory
amandra
если каждую команду копирую и выполняю в cmd - работает

Каккую "каждую" ?

Прямо вот так копируете

BACKUP DATABASE %base% TO DISK = N'%dir%\medic_2_%date%.bak' WITH NOFORMAT, INIT, NAME = N'Backup medic', SKIP, NOREWIND, NOUNLOAD, STATS = 10

и выполняете ?

да, прямо так копирую
22 апр 13, 23:02    [14215690]     Ответить | Цитировать Сообщить модератору
 Re: osql архивирование базы  [new]
invm
Member

Откуда: Москва
Сообщений: 9827
Если взять ваши данные отсюда и подставить значения переменных окружения, то получим:
osql.exe -S pcname\SQLEXPRESS -U usr -P psw-Q "BACKUP DATABASE medic_2 TO DISK = N'D:\SQL_backup\\medic_2_22.04.2013.bak' WITH NOFORMAT, INIT, NAME = N'Backup medic', SKIP, NOREWIND, NOUNLOAD, STATS = 10" -o D:\SQL_backup\\Backuplog_sql.txt
Выводы делайте сами.
22 апр 13, 23:34    [14215878]     Ответить | Цитировать Сообщить модератору
 Re: osql архивирование базы  [new]
amandra
Member

Откуда:
Сообщений: 298
invm
Если взять ваши данные отсюда и подставить значения переменных окружения, то получим:
osql.exe -S pcname\SQLEXPRESS -U usr -P psw-Q "BACKUP DATABASE medic_2 TO DISK = N'D:\SQL_backup\\medic_2_22.04.2013.bak' WITH NOFORMAT, INIT, NAME = N'Backup medic', SKIP, NOREWIND, NOUNLOAD, STATS = 10" -o D:\SQL_backup\\Backuplog_sql.txt
Выводы делайте сами.

psw-Q - убрал пробел, когда заменял настоящий пароль
\\ - убрал, проблема та же
23 апр 13, 00:13    [14216054]     Ответить | Цитировать Сообщить модератору
 Re: osql архивирование базы  [new]
aleks2
Guest
amandra
invm
Если взять ваши данные отсюда и подставить значения переменных окружения, то получим:
osql.exe -S pcname\SQLEXPRESS -U usr -P psw-Q "BACKUP DATABASE medic_2 TO DISK = N'D:\SQL_backup\\medic_2_22.04.2013.bak' WITH NOFORMAT, INIT, NAME = N'Backup medic', SKIP, NOREWIND, NOUNLOAD, STATS = 10" -o D:\SQL_backup\\Backuplog_sql.txt
Выводы делайте сами.

psw-Q - убрал пробел, когда заменял настоящий пароль
\\ - убрал, проблема та же


Товарисчи экстрасенсы! Ну протрите ж хто-нибудь свой хрустальный шар.
А то упертый тредстартер упорно не желает посмотреть в профайлер.

ЗЫ. А без подстановочных символов - работает?
23 апр 13, 07:55    [14216293]     Ответить | Цитировать Сообщить модератору
 Re: osql архивирование базы  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
кста,сильно зависит от настроек ОС :))
%date% запросто может выдать 23/04/2013
23 апр 13, 11:00    [14217071]     Ответить | Цитировать Сообщить модератору
 Re: osql архивирование базы  [new]
SAV4SAV
Member

Откуда:
Сообщений: 162
Уйти от настроек даты/времени можно так
set tt=%date:~-10,2%%date:~-7,2%%date:~-4,4%%time:~-11,2%%time:~-8,2%%time:~-5,2%
echo %tt%
23 апр 13, 11:08    [14217134]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить