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

Откуда:
Сообщений: 141
Подскажите пожалуйста как создать джоб с помощью T-SQL
28 мар 12, 11:53    [12325922]     Ответить | Цитировать Сообщить модератору
 Re: Создание JOB  [new]
andrew shalaev
Member

Откуда: Moscow
Сообщений: 610
kazak1987,

msdb.dbo.sp_add_job
28 мар 12, 11:56    [12325942]     Ответить | Цитировать Сообщить модератору
 Re: Создание JOB  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
В Managemet Studio (SSMS) -SQL Server Agent - Job - создать новый
После того, как job будет готов - нажмите кнопку Script (вверху), перед сохранением job-a.
28 мар 12, 13:02    [12326530]     Ответить | Цитировать Сообщить модератору
 Re: Создание JOB  [new]
kazak1987
Member

Откуда:
Сообщений: 141
trew,
мне наверное с помощью запроса надо потому что на серваке не установлен SQL Server Agent.......с помощью SQL Server Agent я знаю как создавать...а вот с помощью запроса как.....заказчик не хочет ставить дополнение так как 27 БД стоит на этом серваке
28 мар 12, 13:09    [12326590]     Ответить | Цитировать Сообщить модератору
 Re: Создание JOB  [new]
kazak1987
Member

Откуда:
Сообщений: 141
andrew shalaev,
это что запрос?
28 мар 12, 13:10    [12326604]     Ответить | Цитировать Сообщить модератору
 Re: Создание JOB  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
kazak1987
andrew shalaev,
это что запрос?
Это хранимая процедура.
28 мар 12, 13:14    [12326631]     Ответить | Цитировать Сообщить модератору
 Re: Создание JOB  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
Я привел пример (выше, как сгенерить код), который можно использовать в дальнейшем.
Вот что получится:
USE [msdb]
GO
DECLARE @jobId BINARY(16)
EXEC  msdb.dbo.sp_add_job @job_name=N'1', 
		@enabled=1, 
		@notify_level_eventlog=0, 
		@notify_level_email=2, 
		@notify_level_netsend=2, 
		@notify_level_page=2, 
		@delete_level=0, 
		@description=N'1', 
		@category_name=N'[Uncategorized (Local)]', 
		@owner_login_name=N'sa', @job_id = @jobId OUTPUT
select @jobId
GO
EXEC msdb.dbo.sp_add_jobserver @job_name=N'1', @server_name = N'ANT-01-IN'
GO
USE [msdb]
GO
EXEC msdb.dbo.sp_add_jobstep @job_name=N'1', @step_name=N'1', 
		@step_id=1, 
		@cmdexec_success_code=0, 
		@on_success_action=1, 
		@on_fail_action=2, 
		@retry_attempts=0, 
		@retry_interval=0, 
		@os_run_priority=0, @subsystem=N'TSQL', 
		@command=N'select 1', 
		@database_name=N'master', 
		@flags=0
GO
USE [msdb]
GO
EXEC msdb.dbo.sp_update_job @job_name=N'1', 
		@enabled=1, 
		@start_step_id=1, 
		@notify_level_eventlog=0, 
		@notify_level_email=2, 
		@notify_level_netsend=2, 
		@notify_level_page=2, 
		@delete_level=0, 
		@description=N'1', 
		@category_name=N'[Uncategorized (Local)]', 
		@owner_login_name=N'sa', 
		@notify_email_operator_name=N'', 
		@notify_netsend_operator_name=N'', 
		@notify_page_operator_name=N''
GO
28 мар 12, 13:14    [12326633]     Ответить | Цитировать Сообщить модератору
 Re: Создание JOB  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
kazak1987,
Я сомневаюсь, что job-ы будут работать без службы SQL Server Agent. Поэтому её нужно запустить на сервере.
Если не хотят ничего запускать, смотрите в сторону процедуры
EXEC xp_cmdshell 'dir C:\Temp\'
Используйте планировщик Windows, для запуска скриптов из командной строки.
28 мар 12, 13:21    [12326697]     Ответить | Цитировать Сообщить модератору
 Re: Создание JOB  [new]
kazak1987
Member

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

ну вот с процедурами не сталкивался...помогите?
28 мар 12, 13:26    [12326748]     Ответить | Цитировать Сообщить модератору
 Re: Создание JOB  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
kazak1987
trew,

ну вот с процедурами не сталкивался...помогите?
Чем?
28 мар 12, 13:32    [12326809]     Ответить | Цитировать Сообщить модератору
 Re: Создание JOB  [new]
kazak1987
Member

Откуда:
Сообщений: 141
Гавриленко Сергей Алексеевич,

как создать процедуру....чтоб бэкап снимала с sql server 2005
28 мар 12, 13:33    [12326818]     Ответить | Цитировать Сообщить модератору
 Re: Создание JOB  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
kazak1987
Гавриленко Сергей Алексеевич,

как создать процедуру....чтоб бэкап снимала с sql server 2005
Бэкапы снимаются командой backup database. Либо, как вариант, можно настроить Maintenance Plan.
28 мар 12, 13:36    [12326859]     Ответить | Цитировать Сообщить модератору
 Re: Создание JOB  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
kazak1987,
Как запустить sql - скрипт из командной строки
http://manaeff.ru/forum/viewtopic.php?f=4&t=705
28 мар 12, 13:37    [12326876]     Ответить | Цитировать Сообщить модератору
 Re: Создание JOB  [new]
kazak1987
Member

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

спасибо
28 мар 12, 13:40    [12326905]     Ответить | Цитировать Сообщить модератору
 Re: Создание JOB  [new]
kazak1987
Member

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

получилось....а подскажите как оптимизировать запрос....?чтобы за предыдущию дату он отправлял в архив, а новую бэкапил как в данном случае

BACKUP DATABASE [UKV_Building] TO DISK = N'D:\BackUp\kosolapov\UKV_Building.bak' WITH NOFORMAT, NOINIT, NAME = N'UKV_Building-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO
28 мар 12, 15:11    [12327826]     Ответить | Цитировать Сообщить модератору
 Re: Создание JOB  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31959
kazak1987
а подскажите как оптимизировать запрос....?чтобы за предыдущию дату он отправлял в архив
Запросом нельзя отправлять в архив :-)

Нужно для начала понять, что такое "отправить в архив", а потом уже думать, как это программировать.
28 мар 12, 15:16    [12327858]     Ответить | Цитировать Сообщить модератору
 Re: Создание JOB  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
alexeyvg,
автор
Запросом нельзя отправлять в архив :-)

Можно.
11614563

Алгоритм следующий:
1 архивируем файл bak c C:\ в C:\Temp\
2 удаляем все файлы bak c C:\
2 делаем бекап на C:\
28 мар 12, 16:25    [12328506]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить