栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

自动创建SQL Server作业

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

自动创建SQL Server作业

您将需要动态创建作业脚本,然后执行它。您可以尝试执行以下操作,或将其更改为带有作业所有者和数据库名称输入参数的存储过程。

DECLARE @JobName VARCHAr(20)  --Job NameDECLARE @Owner VARCHAr(200)   --Job OwnerDECLARE @DBName VARCHAr(200)  --Database NameDECLARE @JobCode VARCHAr(4000) --Create Statement for JobSET @JobName = 'Test2'SET @Owner = 'BrianD'SET @DBName = 'master'SET @JobCode = 'USE msdbGOBEGIN TRANSACTIonDECLARE @ReturnCode INTSELECt @ReturnCode = 0IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERe name=N''[Uncategorized (Local)]'' AND category_class=1)BEGINEXEC @ReturnCode = msdb.dbo.sp_add_category @class=N''JOB'', @type=N''LOCAL'', @name=N''[Uncategorized (Local)]''IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollbackENDDECLARE @jobId BINARY(16)EXEC @ReturnCode =  msdb.dbo.sp_add_job @job_name=N''' + @JobName + ''',         @enabled=1,         @notify_level_eventlog=0,         @notify_level_email=0,         @notify_level_netsend=0,         @notify_level_page=0,         @delete_level=0,         @description=N''No description available.'',         @category_name=N''[Uncategorized (Local)]'',         @owner_login_name=N''' + @Owner + ''', @job_id = @jobId OUTPUTIF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollbackEXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N''Version and Prod Level'',         @step_id=1,         @cmdexec_success_pre=0,         @on_success_action=1,         @on_success_step_id=0,         @on_fail_action=2,         @on_fail_step_id=0,         @retry_attempts=0,         @retry_interval=0,         @os_run_priority=0, @subsystem=N''TSQL'',         @command=N''select SERVERPROPERTY(''''productversion''''), SERVERPROPERTY(''''productlevel'''')'',         @database_name=N''' + @DBName + ''',         @flags=0IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollbackEXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollbackEXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N''(local)''IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollbackCOMMIT TRANSACTIonGOTO EndSaveQuitWithRollback:    IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTIONEndSave:GO'Exec (@JobCode)

希望这将使您朝正确的方向前进。如果您需要更多帮助,请告诉我。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/398513.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号