sql - 用脚本重建索引

标签 sql sql-server indexing rebuild reindex

我正在寻求帮助修改以下脚本,或者至少确保在我的数据库中名为 SearchTable 的表上重建索引是正确的。我是 SQL 新手,我不想破坏任何东西。

SELECT 'ALTER INDEX ALL ON ' + MyDatabaseName.[SearchTable] + ' REBUILD; '
  FROM INFORMATION_SCHEMA.TABLES t
 WHERE t.[TABLE_TYPE] = 'BASE TABLE'

最佳答案

最简单、最安全的方法是创建维护计划

Expand Management in the Object Explorer> Right click Maintenance Plans> Maintenance Wizard> Create Plan for Rebuilding Indexes.

应该是直接的。它最终会在您的服务器代理中创建一个作业,然后您可以通过运行此脚本来设置计划或手动运行该作业

EXEC msdb..sp_start_job N'NAME OF JOB'

Maintenance Plan Wizard

使用此技术时要记住一件事。如果您在创建作业/维护计划后删除任何表,则需要修改该计划以不包括任何已删除的表。如果你不这样做,作业就会失败。要进行编辑,您需要从实际服务器访问 Management Studio。您无法远程修改维护计划。

要获取有关维护计划是否成功的更多信息,您可以

Right Click on Maintenance Plans > View History

关于sql - 用脚本重建索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30377568/

相关文章:

sql - 替换 select 语句中的多个实例

SQL根据引用表递归选择父子

sql-server - 如何使简单成员资格使用默认 dbo 架构创建表

Mysql 议程表的最佳索引

python - 从 .CSV 文件中选择特定范围的列

mysql - 将大量维基百科表抓取到 MySQL 数据库的最佳方法

sql-server - 防止具有相同 col1 和不同 col2 的行

sql-server - 查找约束属于哪个表

indexing - Dynamodb 单分区、全局二级索引

sql - 在 SQL Server 上调试复杂的 T-SQL 过程