Delen via


sp_delete_schedule (Transact-SQL)

Van toepassing op:SQL Server

Verwijdert een schema.

Transact-SQL syntaxis-conventies

Syntaxis

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

Het schemaidentificatienummer van het schema dat verwijderd moet worden. @schedule_id is int, met als standaard .NULL

Zowel @schedule_id als @schedule_name moeten worden gespecificeerd, maar beide kunnen niet worden gespecificeerd.

[ @schedule_name = ] N'schedule_name'

De naam van het schema dat verwijderd moet worden. @schedule_name is een systeemnaam, met als standaard NULL.

Zowel @schedule_id als @schedule_name moeten worden gespecificeerd, maar beide kunnen niet worden gespecificeerd.

[ @force_delete = ] force_delete

Geeft aan of de procedure moet falen als het schema aan een taak is gekoppeld. @force_delete is bit, met als standaard .0

  • Wanneer @force_delete , 0faalt de opgeslagen procedure als het schema aan een taak wordt gekoppeld.
  • Wanneer @force_delete , 1wordt het schema verwijderd, ongeacht of het schema aan een taak is gekoppeld.

[ @automatic_post = ] automatic_post

Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.

Codewaarden retourneren

0 (geslaagd) of 1 (mislukt).

Resultaatset

Geen.

Opmerkingen

Standaard kan een schema niet worden verwijderd als het schema aan een taak is gekoppeld. Om een schema te verwijderen dat aan een taak is gekoppeld, specificeer je een waarde van 1 voor @force_delete. Het verwijderen van een schema stopt taken die momenteel draaien niet.

Permissions

Je kunt rechten verlenen EXECUTE op deze procedure, maar deze rechten kunnen worden overschreven tijdens een SQL Server-upgrade.

Andere gebruikers moeten een van de volgende vaste SQL Server Agent-databaserollen in de msdb database krijgen:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

De opdrachtgever kan een opdracht aan een schema koppelen en een klus loskoppelen van een schema zonder ook de opdrachtgever te hoeven zijn. Een schema kan echter niet worden verwijderd als de detacher het zonder taken achterlaat, tenzij de beller de eigenaar van het schema is.

Voor details over de rechten van deze rollen, zie SQL Server Agent Fixed Database Roles.

Alleen leden van de sysadmin-rol kunnen een taakschema verwijderen dat eigendom is van een andere gebruiker.

Voorbeelden

Eén. Een schema verwijderen

Het volgende voorbeeld verwijdert het schema NightlyJobs. Als het schema aan een taak is gekoppeld, verwijdert het voorbeeld het schema niet.

USE msdb;
GO

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

B. Verwijder een schema dat aan een taak is gekoppeld

Het volgende voorbeeld verwijdert het schema RunOnce, ongeacht of het schema aan een taak is gekoppeld.

USE msdb;
GO

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