powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Можно ли передать переменные из скрипта в xp_cmdshell?
7 сообщений из 7, страница 1 из 1
Можно ли передать переменные из скрипта в xp_cmdshell?
    #39872579
vasiliy.2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет.
Пытаюсь скриптом делать бекап базы на горячею. С этим проблем нет.
Но так как база занимает около 150 Гб, то бекап потом хотелось бы запаковать в архив.
Для этого хотел использовать xp_cmdshell и передать в нем в качестве строки для выполнения путь с только что созданным бекапом.
Но не получается. Как я понимаю цмдшелл не может обрабатывать строку если ее клеить из переменных скрипта?
СКЛ 2005

Сам фрагмент кода на всякий случай.

--xp_cmdshell {'command_string'} [, no_output]

--@rarPath Путь к файлу rar.exe
--@Filename Имя файла выгрузки скуля .bak
--@rarKey Ключи для создания архива
--@rarFile Имя выходного файла *.rar
--DECLARE @rarPath as nvarchar(400)
--SET @rarPath = "C:\Program Files\WinRAR\rar.exe"
--DECLARE @rarKey as nvarchar(400)
--SET @rarKey = 'a -r -m5 -agyyyy.MM.dd_hh-mm'
--DECLARE @rarFile as nvarchar(400)
--SET @rarFile = '"E:\"'

--DECLARE @FullrarString as nvarchar(400)
--SET @FullrarString = @rarPath + @rarKey + @rarFile + @Filename

--xp_cmdshell '@FullrarString'
...
Рейтинг: 0 / 0
Можно ли передать переменные из скрипта в xp_cmdshell?
    #39872588
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прежде чем изобретать свой велосипед, ознакомьтесь с уже изобретенными до вас велосипедами: https://www.sql.ru/forum/afsearch.aspx?s=?????????????&submit=?????&bid=1
...
Рейтинг: 0 / 0
Можно ли передать переменные из скрипта в xp_cmdshell?
    #39872817
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasiliy.2007Как я понимаю цмдшелл не может обрабатывать строку если ее клеить из переменных скрипта?Может, какая её разница, как была заполнена переменная?
Вы просто передаёте в xp_cmdshell не переменную @FullrarString, содержащую строку, а строковую константу, содержащую '@FullrarString'. Кавычки уберите.
...
Рейтинг: 0 / 0
Можно ли передать переменные из скрипта в xp_cmdshell?
    #39873855
DbDude
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vasiliy.2007, а допустим динамический Sql в данном случае не вариант использовать?
...
Рейтинг: 0 / 0
Можно ли передать переменные из скрипта в xp_cmdshell?
    #39873941
AR®
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не далее как в этом месяце делал подобное, и всё прекрасно клеится.
Единственное, что не получилось - это сделать за 1 вызов xp_cmdshell многострочный "батник" (несколько команд cmd - копирование, архивирование, удаление), а одну команду со многими параметрами - получилось.

P.S. Совет автору темы. Вместо
Код: sql
1.
2.
DECLARE @rarPath as nvarchar(400)
SET @rarPath = "C:\Program Files\WinRAR\rar.exe"



пишите стразу так
Код: sql
1.
DECLARE @rarPath as varchar(8000) = '"C:\Program Files\WinRAR\rar.exe"'



Двойные кавычки командной строки должны быть заключены в одинарные кавычки SQL.
...
Рейтинг: 0 / 0
Можно ли передать переменные из скрипта в xp_cmdshell?
    #39874047
Фотография Ennor Tiegael
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AR®
Код: sql
1.
DECLARE @rarPath as varchar(8000) = '"C:\Program Files\WinRAR\rar.exe"'

У него 2005, работать не будет.
...
Рейтинг: 0 / 0
Можно ли передать переменные из скрипта в xp_cmdshell?
    #39874189
AR®
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ennor TiegaelУ него 2005, работать не будет.

Но совет про использование кавычек остаётся в силе.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Можно ли передать переменные из скрипта в xp_cmdshell?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]