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

Откуда: Northern Сapital
Сообщений: 71
Ребята, подскажите, плиз, как в запросе T-SQL соорудить копирование или удаление какого-либо файла на дисках в локальных пределах сервера или на устройстве резервного копирования, если он есть в объектах сервера. Заранее ГРАНД МЕРСИ!
28 июн 14, 10:39    [16232594]     Ответить | Цитировать Сообщить модератору
 Re: Copy, Delete etc...  [new]
mag2000
Member

Откуда:
Сообщений: 182
hawkhawk,

Например, xp_cmdshell
http://msdn.microsoft.com/ru-ru/library/ms175046(v=sql.105).aspx
28 июн 14, 11:14    [16232687]     Ответить | Цитировать Сообщить модератору
 Re: Copy, Delete etc...  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
автор
как в запросе T-SQL соорудить копирование или удаление какого-либо файла


Такая возможность есть, но использовать ее нехорошо. Напишите отдельное приложение или скрипт, которое будет удовлетворять требованиям.
30 июн 14, 10:52    [16237192]     Ответить | Цитировать Сообщить модератору
 Re: Copy, Delete etc...  [new]
hawkhawk
Member

Откуда: Northern Сapital
Сообщений: 71
Владислав Колосов
автор
как в запросе T-SQL соорудить копирование или удаление какого-либо файла

Такая возможность есть, но использовать ее нехорошо. Напишите отдельное приложение или скрипт, которое будет удовлетворять требованиям.

Я хотел просто файл бакапа тупо откопировать на отдельный хард. Думалось, что как-то некошерно в плане обслуживания прописывать процедуру бакапа 2 раза на разные винтарики. Или я чего-то не понимаю?
30 июн 14, 11:30    [16237413]     Ответить | Цитировать Сообщить модератору
 Re: Copy, Delete etc...  [new]
Glory
Member

Откуда:
Сообщений: 104760
hawkhawk
Думалось, что как-то некошерно в плане обслуживания прописывать процедуру бакапа 2 раза на разные винтарики. Или я чего-то не понимаю?

Сразу создавать бэкап на нужном диске что мешает ?
30 июн 14, 11:31    [16237429]     Ответить | Цитировать Сообщить модератору
 Re: Copy, Delete etc...  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
То есть делать резервную копию резервной копии, что ли?
30 июн 14, 11:36    [16237486]     Ответить | Цитировать Сообщить модератору
 Re: Copy, Delete etc...  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
Надо задействовать SSIS.
30 июн 14, 12:35    [16237913]     Ответить | Цитировать Сообщить модератору
 Re: Copy, Delete etc...  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
SSIS избыточен в данном случае.
30 июн 14, 12:37    [16237930]     Ответить | Цитировать Сообщить модератору
 Re: Copy, Delete etc...  [new]
mag2000
Member

Откуда:
Сообщений: 182
hawkhawk,
автор
Думалось, что как-то некошерно в плане обслуживания прописывать процедуру бакапа 2 раза на разные винтарики. Или я чего-то не понимаю?

Вы используете Maintence Plan ?
Что тогда мешает сделать отдельный джоб с командой COPY, XCOPY,...ваша любимая программа, который (джоб) будет копировать уже сделанный бэкап из локального каталога куда нужно (на сетевой ресурс).
А этот созданный вами джоб просто вызывать последним шагом из Maintence Plan.
30 июн 14, 13:15    [16238200]     Ответить | Цитировать Сообщить модератору
 Re: Copy, Delete etc...  [new]
hawkhawk
Member

Откуда: Northern Сapital
Сообщений: 71
mag2000
А этот созданный вами джоб просто вызывать последним шагом из Maintence Plan.

А какой командой вызывать этот джоб из T-SQL? Спасибо.
(про себя):странно, что все считают, что откопировать свежесозданный бакап на другой винтарик через xp_cmdshell не так халяльно, чем если запускать из майтенанса отдельный джоб.
30 июн 14, 15:54    [16239413]     Ответить | Цитировать Сообщить модератору
 Re: Copy, Delete etc...  [new]
hawkhawk
Member

Откуда: Northern Сapital
Сообщений: 71
Владислав Колосов
То есть делать резервную копию резервной копии, что ли?

Именно!
30 июн 14, 15:55    [16239416]     Ответить | Цитировать Сообщить модератору
 Re: Copy, Delete etc...  [new]
Glory
Member

Откуда:
Сообщений: 104760
hawkhawk
Владислав Колосов
То есть делать резервную копию резервной копии, что ли?

Именно!


MIRROR TO <backup_device> [ ,...n ]
Specifies a set of up to three secondary backup devices, each of which will mirror the backups devices specified in the TO clause. The MIRROR TO clause must be specify the same type and number of the backup devices as the TO clause. The maximum number of MIRROR TO clauses is three.

This option is available only in SQL Server 2005 Enterprise Edition and later versions.
30 июн 14, 15:56    [16239429]     Ответить | Цитировать Сообщить модератору
 Re: Copy, Delete etc...  [new]
mag2000
Member

Откуда:
Сообщений: 182
hawkhawk,
автор
А какой командой вызывать этот джоб из T-SQL?

Если вы создали Maintenance Plan, то для вызова из него предварительно созданного джоба копирования бэкапа, достаточно
- добавить в план "Execute SQL Server Agent Job Task"
- правой кнопкой по этому Task --> Edit --> В списке джобов ставим галку на ваш джоб --> Ок --> сохраняем план
1 июл 14, 06:25    [16241518]     Ответить | Цитировать Сообщить модератору
 Re: Copy, Delete etc...  [new]
mag2000
Member

Откуда:
Сообщений: 182
hawkhawk,
автор
странно, что все считают, что откопировать свежесозданный бакап на другой винтарик через xp_cmdshell не так халяльно

Ничего странного.
Процедура xp_cmdshell может быть потенциальной проблемой с безопасностью на сервере.
Об этом говорится в ссылке выше http://msdn.microsoft.com/ru-ru/library/ms175046(v=sql.105).aspx
в разделе "Разрешения":
автор
Поскольку иногда злоумышленники пытаются повысить свои полномочия с помощью хранимой процедуры xp_cmdshell, по умолчанию процедура xp_cmdshell отключена.

Но, если соблюдать правила и очень хочется, то можно использовать.
1 июл 14, 06:35    [16241526]     Ответить | Цитировать Сообщить модератору
 Re: Copy, Delete etc...  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31425
hawkhawk
А какой командой вызывать этот джоб из T-SQL? Спасибо.
(про себя):странно, что все считают, что откопировать свежесозданный бакап на другой винтарик через xp_cmdshell не так халяльно, чем если запускать из майтенанса отдельный джоб.
Использовать xp_cmdshell для копирования - вполне нормальный метод.

Если версия позволяет, то можно использовать MIRROR TO

Если речь о плане обслуживания, то можно вставить шаг копирования файла(ов)

В общем, вариантов несколько...
1 июл 14, 09:08    [16241708]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить