Как запустить sql server agent
Перейти к содержимому

Как запустить sql server agent

  • автор:

Как запустить SQL агент: пошаговая инструкция для начинающих

Для запуска SQL агента вам понадобится выполнить следующие действия: 1. Откройте SQL Server Management Studio. 2. В окне «Обозреватель объектов» найдите папку «SQL Server Агент» и раскройте ее. 3. Щелкните правой кнопкой мыши на «Задания» и выберите «Новое задание». 4. В открывшемся окне заполните необходимые поля, такие как название задания, тип, расписание и действие. 5. Нажмите «OK», чтобы сохранить задание. 6. Чтобы запустить задание, щелкните на нем правой кнопкой мыши и выберите «Запуск».

EXEC msdb.dbo.sp_start_job @job_name = 'Имя задания'

Выполнив эти шаги, вы сможете запустить SQL агент и выполнить задание в SQL Server Management Studio.

Детальный ответ

Как запустить SQL агент? SQL агент является важной частью управления и планирования задач в СУБД SQL Server. Он позволяет создавать и запускать автоматические задачи, такие как резервное копирование баз данных или выполнение определенных скриптов. В этой статье мы рассмотрим, как запустить SQL агент и использовать его для планирования задач. Шаг 1: Установка SQL Server Первым шагом для запуска SQL агента является установка SQL Server. Убедитесь, что вы выбрали соответствующую версию SQL Server, которая включает SQL агент. Во время установки вам будет предложено включить эту опцию. Убедитесь, что вы выбрали опцию «Установить SQL Server с поддержкой SQL Server агента». Шаг 2: Настройка SQL агента После установки SQL Server вам потребуется настроить SQL агент для его запуска. 1. Откройте SQL Server Management Studio (SSMS) и подключитесь к вашему серверу баз данных. 2. В разделе «Объекты управления» раскройте дерево объектов вашего сервера. 3. Найдите раздел «SQL Server агент» и щелкните правой кнопкой мыши. 4. В контекстном меню выберите «Свойства». 5. В окне настроек SQL агента вы можете изменить различные параметры, такие как учетные данные, права доступа и интервалы повторяющихся задач. Убедитесь, что все настройки соответствуют вашим требованиям. 6. После этого нажмите «ОК», чтобы сохранить настройки SQL агента. Шаг 3: Создание и запуск задач Теперь, когда SQL агент настроен, вы можете создавать и запускать задачи с его помощью. 1. Чтобы создать новую задачу, раскройте раздел «SQL Server агент» и щелкните правой кнопкой мыши по «Задачи». В контекстном меню выберите «Новая задача». 2. В появившемся окне задачи вы можете указать различные параметры, такие как имя, расписание выполнения, действия и т. д. Предоставьте необходимую информацию и настройте задачу в соответствии с вашими потребностями. 3. После того как задача создана, вы можете запустить ее для проверки или установить автоматический запуск по расписанию. Примеры кода Ниже приведены примеры кода для создания и запуска задач с использованием SQL агента.

 -- Пример создания задачи EXEC msdb.dbo.sp_add_job @job_name = 'My Backup Job', @description = 'Backup database', @owner_login_name = 'sa', @category_name = 'Database Maintenance'; -- Пример добавления шага задачи EXEC msdb.dbo.sp_add_jobstep @job_name = 'My Backup Job', @step_name = 'Backup Database Step', @subsystem = 'T-SQL', @command = 'BACKUP DATABASE [MyDatabase] TO DISK = ''C:\Backup\MyDatabase.bak''', @retry_attempts = 5, @retry_interval = 5; -- Пример установки расписания EXEC msdb.dbo.sp_add_schedule @schedule_name = 'DailySchedule', @freq_type = 4, -- Ежедневно @freq_interval = 1, -- Каждый день @active_start_time = 060000; -- Время начала выполнения задачи -- Пример привязки задачи к расписанию EXEC msdb.dbo.sp_attach_schedule @job_name = 'My Backup Job', @schedule_name = 'DailySchedule'; -- Пример запуска задачи EXEC msdb.dbo.sp_start_job @job_name = 'My Backup Job'; 

Вывод SQL агент предоставляет мощные возможности для автоматизации задач в SQL Server. В этой статье мы рассмотрели, как запустить SQL агент, настроить его и создать задачи. Учитывайте, что правильная настройка SQL агента критически важна для успешного выполнения автоматических задач. Надеюсь, эта статья помогла вам понять, как запустить SQL агент и начать использовать его для планирования задач в вашей СУБД SQL Server!

SQL Server Agent Jobs: How to execute a job step without executing the entire job

I have a SQL Server Agent Job that previously had two steps. Today, I’ve had to integrate the third step, and soon I’ll need to integrate a fourth. I want to be sure that the step will execute properly but I do not want to execute the entire job. The first two steps take quite a bit of time to execute and during the day they hog a significant amount of the SQL resources that my users need. Is there a way that I can execute a job step and not an entire job process? Within SSMS, if I right-click on the job there is an option that states «Start Job at step. » except when I try that option it brings up a dialog that seems to imply that the entire job has been started. What can I do to test one step within a job? Thanks in advance.

45 7 7 bronze badges
asked Jun 20, 2011 at 14:39
15.5k 24 24 gold badges 102 102 silver badges 186 186 bronze badges

6 Answers 6

«Start job at step» will start the job at the step you specify. However — if you don’t wish to execute any subsequent steps — be sure to adjust the step logic so that it will «Quit reporting success» after completing the step you started at.

answered Jun 20, 2011 at 16:23
3,791 5 5 gold badges 35 35 silver badges 57 57 bronze badges

Ok, I see how it works now. I had used that method earlier and recalled being a bit confused. Like I had mentioned, my first to steps use up a lot of resources, so I didn’t want to experiment. Thanks for the clarification.

Jun 21, 2011 at 14:17

  • Copy the code from the job step (use ctrl + a to select all)
  • Paste the code in to a new query window in SSMS
  • Run the code

Alternately if you have a recurring need to run just a couple steps.

Put those steps in a separate job, then kick off one job from the other to run everything. Use EXEC msdb.dbo.sp_start_job N’job_name’

You can run the short easy job on demand, and the full long job as scheduled

answered Oct 31, 2019 at 18:03
James Jenkins James Jenkins
1,954 1 1 gold badge 24 24 silver badges 43 43 bronze badges

EXEC msdb.dbo.sp_start_job N'job_name' , 'step_name' 

4,489 9 9 gold badges 33 33 silver badges 41 41 bronze badges
answered Aug 29, 2017 at 15:43
Mehrdad Alemi Mehrdad Alemi
129 1 1 silver badge 11 11 bronze badges

That doesn’t run just a given step but does the same as going through the GUI it starts the job at a given step and sub-sequentially will follow the job normal flow so unless you are running the last step if you don’t change the logic it can run all the steps in a job depending on which step you are starting at.

Oct 20, 2017 at 13:00

Additionally this code is incorrect. The correct code would be Use this: EXEC msdb.dbo.sp_start_job N’job_name’ , @step_name = ‘step_name’

Dec 3, 2019 at 18:16

—how to run only a step of a job

basically I save the current situation of the step within a job — particularly what to do when success and what to do if fails.

then I change it to end the job in success or failure accordingly.

here is the script:

USE [msdb] GO declare @on_success_action int, @on_fail_action int, @run_the_job bit = 0 if object_id('tempdb..#the_only_step',N'U') is not null drop table #the_only_step create table #the_only_step( step_id int,-- Unique identifier for the step. step_name sysname,-- Name of the step in the job. subsystem nvarchar(40),-- Subsystem in which to execute the step command. command nvarchar(max),-- Command executed in the step. flags int,-- A bitmask of values that control step behavior. cmdexec_success_code int,-- For a CmdExec step, this is the process exit code of a successful command. on_success_action tinyint,-- Action to take if the step succeeds: --1 = Quit the job reporting success. --2 = Quit the job reporting failure. --3 = Go to the next step. --4 = Go to step. on_success_step_id int,-- If on_success_action is 4, this indicates the next step to execute. on_fail_action tinyint,-- What to do if the step fails. Values are same as on_success_action. on_fail_step_id int,-- If on_fail_action is 4, this indicates the next step to execute. server varchar(100) null,-- Reserved. database_name varchar(100) null,-- For a Transact-SQL step, this is the database in which the command executes. database_user_name varchar(100) null,-- For a Transact-SQL step, this is the database user context in which the command executes. retry_attempts int,-- Maximum number of times the command should be retried (if it is unsuccessful). retry_interval int,-- Interval (in minutes) for any retry attempts. os_run_priority int,-- Reserved. output_file_name nvarchar(200),-- File to which command output should be written (Transact-SQL, CmdExec, and PowerShell steps only). last_run_outcome int,-- Outcome of the step the last time it ran: --0 = Failed --1 = Succeeded --2 = Retry --3 = Canceled --5 = Unknown last_run_duration int,-- Duration (hhmmss) of the step the last time it ran. last_run_retries int,-- Number of times the command was retried the last time the step ran. last_run_date int,-- Date the step last started execution. last_run_time int,-- Time the step last started execution. proxy_id int ) insert into #the_only_step EXEC msdb.dbo.sp_help_jobstep @job_name=N'SUPT_munichRE - after restore', @step_id=2 --you can check if things are there as expected select * from #the_only_step --we want to change the step: --after finished - success and after finished - failure - either way end the job select @on_success_action= a.on_success_action, @on_fail_action = a.on_fail_action from #the_only_step a EXEC msdb.dbo.sp_update_jobstep @job_name=N'SUPT_munichRE - after restore', @step_id=2 , @on_success_action=1, @on_fail_action=2 if (@run_the_job = 1) BEGIN EXEC msdb.dbo.sp_start_job @job_name=N'SUPT_munichRE - after restore', @step_name = N'2' PRINT 'job started' END --after it finishes running --set the values back as they originally were EXEC msdb.dbo.sp_update_jobstep @job_name=N'SUPT_munichRE - after restore', @step_id=2 , @on_success_action=@on_success_action, @on_fail_action=@on_fail_action 

Now another interesting point is

after starting the job, how to wait until it is finished before moving on?

that is answered here:

—[is there a way to run the same job multiple times without scheduling it?][1]

—An INSERT EXEC statement cannot be nested. —http://stackoverflow.com/questions/3795263/errors-insert-exec-statement-cannot-be-nested-and-cannot-use-the-rollback-s

Basically I use that stored procedure to run the job instead of msdb.dbo.sp_start_job as in the script above.

hope this helps as it is very useful to me!

Как запустить sql server agent

Starting the SQL Server Agent Service

In this article, I am going to explain in detail about the SQL Server Agent service. This is a windows service that enables database developers and database administrators to schedule jobs on the SQL Server machine. The jobs can be simple T-SQL scripts, stored procedures, SSIS packages or SSAS databases. This service is available on all the editions of SQL Server except the Express edition.

Overview

In this era of automation, it is often required that we execute multiple scripts repeatedly in a timely fashion. These scripts can be used to back up an existing database, delete extra log files, process data from a table, drop and rebuild indexes on a table, or running an ETL job etc. All these tasks are repetitive and can be automated using the SQL Server Agent. This gives us the flexibility that the job will be executed as per the rules defined in the schedule and there is minimal human intervention required in order to execute these jobs. Once the jobs are executed, you can view the history if the execution was successful or failed. In case of a failure, there is an option to restart the job manually.

There are a few components of the SQL Server Agent service that you must be aware of before proceeding forward.

  1. Jobs – This is a program that defines the rules about the repetitive execution of one or more scripts or other utilities within the SQL Server environment
  2. Steps – These can be considered as the building blocks of the jobs. Your job can contain one or multiple steps. Each step executes a specific set of instructions. The next step can be executed based on the success or failure of a previous step
  3. Schedules – These are periodic rules set on the job to execute automatically based on a pre-defined time slot. These jobs can be scheduled hourly, daily, weekly, monthly, or even on specific days of the week
  4. Alerts – SQL Server generates events that are stored in the Microsoft Windows Application Log. Whenever the agent finds a match, it fires an alert which is a response to the event
  5. Notifications – You can set up email notifications to update about the result of the job execution. This is mostly done in case of job failures so that the person responsible for the jobs can take appropriate actions

How to find the windows service

Now that we have some idea about the SQL Server Agent, let us now go ahead and start the service if not already done. In my machine, the service is currently not running, and I am going to start it from scratch. You can follow the steps below to start the agent service on your machine.

Head over to Run and type the command services.msc. Click OK once done.

Opening the Windows Services

Figure 1 – Opening the Windows Services

Once you hit OK, the Services window will show up. You can scroll below to find the service with the name “SQL Server Agent (INSTANCE NAME>>)”. As you can see in the figure below, the status of the service is not running. Let us go and start the service.

Starting the SQL Server Agent Service

Figure 2 – Starting the SQL Server Agent Service

Right-click on the service and select Start from the context menu.

Starting the SQL Server Agent Service

Figure 3 – Starting the SQL Server Agent Service

It might take a while to start the service. Once the service has started, the status will change to Running.

SQL Server Agent Service Running

Figure 4 – SQL Server Agent Service Running

Now, you can verify the status of the SQL Server Agent service using the SQL Server Management Studio as well. Head over to SSMS and navigate to the SQL Server Agent on the bottom of the Object Explorer.

SQL Agent running in SSMS

Figure 5 – SQL Agent running in SSMS

Preparing the database

Now that our agent service is up and running, let us create our first job using the graphical user interface. We can also create jobs using T-SQL scripts; however, it is out of scope for this article and will be covered in some later articles. To demonstrate the execution of the job, we will create a small table in a SQL Server database that will store the date and time of the execution along with a random number. This is a dummy table just to demonstrate the feature. You can use the following script to create the table.

Похожие публикации:

  1. Как в sql отсортировать по алфавиту
  2. Как включить режим sql в access
  3. Как выбрать данные из нескольких таблиц sql
  4. Как вывести количество в sql

Как запустить службу SQL Server Agent: подробная инструкция для начинающих

Вы также можете использовать следующий запрос T-SQL, чтобы запустить службу SQL Server Agent:

 EXEC xp_servicecontrol N'START', N'SQLSERVERAGENT' 

Обратите внимание, что для выполнения этих действий вам может потребоваться административные привилегии.

Детальный ответ

Как запустить службу SQL Server Agent

Добро пожаловать! В этой статье я расскажу вам, как запустить службу SQL Server Agent. SQL Server Agent — это важный компонент сервера баз данных SQL Server, который позволяет планировать и автоматизировать различные задачи, такие как резервное копирование баз данных, выполнение хранимых процедур и отправка уведомлений.

Шаг 1: Проверка состояния службы SQL Server Agent

Перед тем, как запустить службу SQL Server Agent, необходимо убедиться, что она не исполняется уже.

Вы можете проверить состояние службы SQL Server Agent с помощью SQL Server Management Studio (SSMS). Зайдите в SSMS и откройте объект «SQL Server Agent» в дереве объектов. Если служба уже запущена, вы увидите это по зеленой иконке возле «SQL Server Agent». В противном случае, иконка будет красной или серой.

Шаг 2: Запуск службы SQL Server Agent

Если служба SQL Server Agent не запущена, вы можете запустить ее следующим образом:

 USE [master] GO EXEC xp_servicecontrol N'QUERYSERVICE',N'SQLServerAGENT' GO 

Приведенный выше код запустит службу SQL Server Agent.

Вы также можете запустить службу SQL Server Agent с помощью служб Windows. Откройте «Службы» в панели управления Windows и найдите службу «SQL Server Agent». Щелкните правой кнопкой мыши по службе и выберите «Запустить».

Шаг 3: Проверка успешного запуска службы SQL Server Agent

После выполнения шагов выше, вам следует проверить, запустилась ли служба успешно.

Снова зайдите в SSMS и проверьте состояние службы SQL Server Agent. Если служба успешно запустилась, иконка возле «SQL Server Agent» станет зеленой.

Вы также можете проверить состояние службы SQL Server Agent с помощью Transact-SQL запроса:

 SELECT * FROM sys.dm_server_services WHERE servicename = 'SQLServerAGENT' 

Приведенный выше запрос вернет информацию о службе SQL Server Agent, включая ее текущее состояние.

Заключение

Поздравляю! Теперь вы знаете, как запустить службу SQL Server Agent. Не забудьте проверить ее состояние после запуска, чтобы убедиться, что все работает должным образом. SQL Server Agent — мощный инструмент для автоматизации задач, и его правильная настройка очень важна для эффективного управления базами данных SQL Server.

Если у вас возникли вопросы или проблемы с запуском службы SQL Server Agent, не стесняйтесь обратиться за помощью к специалисту или преподавателю по SQL Server.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *