我的编程空间,编程开发者的网络收藏夹
学习永远不晚

引锁,重建任务

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

引锁,重建任务

当使用数据库管理功能下的维护计划,建立索引失败的情况下,使用代理执行作业的方式,比较实用的,代码如下:
方法1:
USE [msdb]
GO

/** Object: Job [索引重建] Script Date: 2018-2-8 16:29:40 **/
BEGIN TRANSACTION
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
/** Object: JobCategory [[Uncategorized (Local)]]] Script Date: 2018-2-8 16:29:40 **/
IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'[Uncategorized (Local)]' AND category_class=1)
BEGIN
EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'[Uncategorized (Local)]'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

END

DECLARE @jobId BINARY(16)
EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'索引重建',
@enabled=1,
@notify_level_eventlog=0,
@notify_level_email=0,
@notify_level_netsend=0,
@notify_level_page=0,
@delete_level=0,
@description=N'无描述。',
@category_name=N'[Uncategorized (Local)]',
@owner_login_name=N'sa', @job_id = @jobId OUTPUT
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
/** Object: Step [索引] Script Date: 2018-2-8 16:29:40 **/
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'索引',
@step_id=1,
@cmdexec_success_code=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'/物料表索引/
ALTER INDEX [PK_BD_MATERIAL] ON [dbo].[T_BD_MATERIAL] REBUILD PARTITION = ALL WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)

ALTER INDEX [IDX_BD_MTRL_FMASTERID] ON [dbo].[T_BD_MATERIAL] REBUILD PARTITION = ALL WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)

ALTER INDEX [IDX_BD_MTRL_COMBIN] ON [dbo].[T_BD_MATERIAL] REBUILD PARTITION = ALL WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)', @database_name=N'数据库名称', @flags=0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'计划1',
@enabled=1,
@freq_type=4,
@freq_interval=1,
@freq_subday_type=1,
@freq_subday_interval=0,
@freq_relative_interval=0,
@freq_recurrence_factor=0,
@active_start_date=20180208,
@active_end_date=99991231,
@active_start_time=230000,
@active_end_time=235959, @schedule_uid=N'4e5e768f-a2b5-4042-9766-ba8e5ebbd42e'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
COMMIT TRANSACTION
GOTO EndSave
QuitWithRollback:
IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave:

GO
方法2:
右击索引,选择重新生成,打开数据库跟踪,找到生成语句 ,把代码粘贴到执行计划中,推荐使用这种方式

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

引锁,重建任务

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

并发任务调度:使用Go WaitGroup构建任务调度引擎

并发任务调度是一种将多个任务并行执行的技术,可以提高程序的执行效率。Go语言中提供了一个很方便的并发控制工具——WaitGroup,可以用来构建任务调度引擎。WaitGroup是一个计数器,用来等待一组任务的结束。当我们启动一个任务时,可以
2023-10-08

win11任务栏怎么锁定

本篇内容主要讲解“win11任务栏怎么锁定”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“win11任务栏怎么锁定”吧!win11怎么锁定任务栏:答:无法锁定。1、微软在win11系统中,取消了锁
2023-07-01

win11如何删除和重建索引? Win11删除和重建索引的技巧

有些使用Win11系统的用户,由于错误操作,造成索引损坏或删除,这篇文章是本站给大家带来的Win11重建搜索和索引方法。 中 1、首先,按键盘上的【 Win + X 】组合键,或右键点击任务栏上的【Windows徽标】,在打开的右键菜单项中
2023-05-19

Win10如何重新建立索引

这篇文章将为大家详细讲解有关Win10如何重新建立索引,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、点击桌面左下角开始菜单旁边的小娜搜索,输入控制面板;2、在控制面板窗口,点击查看方式为大图标,然后点
2023-06-27

win10重建索引如何设置

本篇内容介绍了“win10重建索引如何设置”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!win10重建索引设置教程1、按Windows+r,
2023-07-04

SQL级别索引重建时机

SQL级别索引重建的时机通常取决于数据库的使用情况和性能需求。一般来说,以下情况可能需要考虑重建索引:数据库性能下降:当数据库查询性能明显下降时,可能是由于索引失效或损坏导致的。此时需要重建索引来提高查询效率。频繁的数据更新:如果数据库中的
SQL级别索引重建时机
2024-08-12

oracle数据库怎么重建索引

在Oracle数据库中,可以通过以下步骤来重建索引:1. 首先,确定哪个表的索引需要重建。可以使用以下查询语句来查看表的索引情况:```sqlSELECT owner, index_name, table_nameFROM all_inde
2023-08-25

win11如何删除和重建索引

要删除和重建索引,您可以按照以下步骤操作:1. 打开“控制面板”并选择“系统和安全”。2. 点击“管理工具”。3. 打开“服务”。4. 在服务列表中,找到并双击“Windows搜索”服务。5. 在“Windows搜索属性”窗口中,点击“停止
2023-08-29

重建或修复 MySQL 表或索引

表和索引的改变是指MySQL处理数据类型和字符集的方式。 CHECK TABLE、mysqlcheck 或 mysql_upgrade 报告必要的表修复或升级。重建表重建表的方法有很多种。下面列出了其中一些方法 -转储和重新加载方法ALTE
2023-10-22

怎么使用脚本锁定任务栏

本篇内容介绍了“怎么使用脚本锁定任务栏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!复制代码 代码如下:HKEY_CURRENT_USER
2023-06-08

编程热搜

目录