Udostępnij za pomocą


sp_delete_schedule (Transact-SQL)

Dotyczy:SQL Server

Usuwa harmonogram.

Transact-SQL konwencje składni

Składnia

sp_delete_schedule
    [ [ @schedule_id = ] schedule_id ]
    [ , [ @schedule_name = ] N'schedule_name' ]
    [ , [ @force_delete = ] force_delete ]
    [ , [ @automatic_post = ] automatic_post ]
[ ; ]

Arguments

[ @schedule_id = ] schedule_id

Numer identyfikacyjny harmonogramu do usunięcia. @schedule_id jest int, z domyślnym .NULL

Trzeba określić @schedule_id lub @schedule_name , ale obie nie mogą być określone.

[ @schedule_name = ] N'schedule_name'

Nazwa harmonogramu do usunięcia. @schedule_name to nazwa systemu, z domyślnym .NULL

Trzeba określić @schedule_id lub @schedule_name , ale obie nie mogą być określone.

[ @force_delete = ] force_delete

Określa, czy procedura powinna się nie powieść, jeśli harmonogram jest przypisany do zadania. @force_delete jest bit, z domyślnym .0

  • Gdy @force_delete jest , 0procedura przechowywana zawodzi, jeśli harmonogram jest przypisany do zadania.
  • Gdy @force_delete jest 1, harmonogram jest usuwany niezależnie od tego, czy harmonogram jest przypisany do zadania.

[ @automatic_post = ] automatic_post

Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana.

Zwracanie wartości kodu

0 (powodzenie) lub 1 (niepowodzenie).

Zestaw wyników

Żaden.

Uwagi

Domyślnie harmonogram nie może zostać usunięty, jeśli jest przypisany do zadania. Aby usunąć harmonogram przypisany do zadania, należy określić wartość 1 dla @force_delete. Usunięcie harmonogramu nie zatrzymuje zadań, które są obecnie uruchomione.

Permissions

Możesz przyznać EXECUTE uprawnienia tej procedurze, ale mogą one zostać nadpisane podczas aktualizacji SQL Server.

Inni użytkownicy muszą otrzymać jedną z następujących stałych ról msdb bazy danych SQL Server Agent:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Właściciel zlecenia może przypisać zadanie do harmonogramu i oddzielić je od harmonogramu, nie będąc jednocześnie właścicielem harmonogramu. Jednak harmonogram nie może zostać usunięty, jeśli oddelegowany nie zostawi go bez zadań, chyba że dzwoniący jest właścicielem harmonogramu.

Szczegóły dotyczące uprawnień tych ról można znaleźć w sekcji SQL Server Agent Fixed Database Roles.

Tylko członkowie roli administratora systemu mogą usuwać harmonogram zadań, które należą do innego użytkownika.

Przykłady

A. Usuwanie harmonogramu

Poniższy przykład usuwa harmonogram NightlyJobs. Jeśli harmonogram jest przypisany do dowolnego zadania, przykład nie usuwa harmonogramu.

USE msdb;
GO

EXECUTE dbo.sp_delete_schedule @schedule_name = N'NightlyJobs';
GO

B. Usuń grafik przypisany do pracy

Poniższy przykład usuwa harmonogram RunOnce, niezależnie od tego, czy harmonogram jest przypisany do zadania.

USE msdb;
GO

EXECUTE dbo.sp_delete_schedule
    @schedule_name = 'RunOnce',
    @force_delete = 1;
GO