Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Tar bort ett schema.
Transact-SQL syntaxkonventioner
Syntax
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
Schemaidentifieringsnumret för schemat som ska tas bort.
@schedule_id är int, med standardvärdet .NULL
Antingen @schedule_id eller @schedule_name måste specificeras, men båda kan inte specificeras.
[ @schedule_name = ] N'schedule_name'
Namnet på schemat som ska tas bort.
@schedule_name är sysname, med standardvärdet .NULL
Antingen @schedule_id eller @schedule_name måste specificeras, men båda kan inte specificeras.
[ @force_delete = ] force_delete
Specificerar om proceduren ska misslyckas om schemat är kopplat till ett jobb.
@force_delete är bit, med standardvärdet .0
- När @force_delete är
0, misslyckas den lagrade proceduren om schemat är kopplat till ett jobb. - När @force_delete är
1, tas schemat bort oavsett om schemat är kopplat till ett jobb eller inte.
[ @automatic_post = ] automatic_post
Identifieras endast i informationssyfte. Stöds inte. Framtida kompatibilitet garanteras inte.
Returnera kodvärden
0 (lyckades) eller 1 (fel).
Resultatuppsättning
Ingen.
Anmärkningar
Som standard kan ett schema inte raderas om schemat är kopplat till ett jobb. För att ta bort ett schema som är kopplat till ett jobb, ange ett värde för 1för @force_delete. Att radera ett schema stoppar inte jobb som för närvarande körs.
Permissions
Du kan ge EXECUTE behörigheter för denna procedur, men dessa behörigheter kan åsidosättas vid en SQL Server-uppgradering.
Andra användare måste tilldelas en av följande SQL Server Agent-fasta databasroller i databasen msdb :
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
Jobbägaren kan koppla ett jobb till ett schema och koppla bort ett jobb från ett schema utan att också behöva vara schemaansvarig. Ett schema kan dock inte tas bort om detachern skulle lämna det utan jobb, om inte den som ringer är schemaägaren.
För detaljer om behörigheterna för dessa roller, se SQL Server Agent Fixed Database Roles.
Endast medlemmar i sysadmin-rollen kan radera ett jobbschema som ägs av en annan användare.
Examples
A. Ta bort ett schema
Följande exempel tar bort schemat NightlyJobs. Om schemat är kopplat till något jobb, raderar exemplet inte schemat.
USE msdb;
GO
EXECUTE dbo.sp_delete_schedule @schedule_name = N'NightlyJobs';
GO
B. Ta bort ett schema kopplat till ett jobb
Följande exempel tar bort schemat RunOnce, oavsett om schemat är kopplat till ett jobb eller inte.
USE msdb;
GO
EXECUTE dbo.sp_delete_schedule
@schedule_name = 'RunOnce',
@force_delete = 1;
GO