在重建索引时阻止用户访问数据库

Mat*_*ete 2 sql-server-2012

我需要在两个非常大(几乎 750 个表)的数据库中重建索引,但希望在发生这种情况时阻止用户访问数据库。是否有一种状态可以让我将数据库置于阻止用户访问它但仍允许我重建索引的状态?作为参考,我计划使用http://instadba.com/quick-script-to-defragment-your-sql-server-indexes/上提供的脚本进行重建。

Sco*_*red 5

USE master;
GO
ALTER DATABASE YourDatabase 
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
GO
USE YourDatabase;
--Run index maint scripts...
GO
ALTER DATABASE YourDatabase
SET MULTI_USER;
GO
Run Code Online (Sandbox Code Playgroud)

  • 如果`auto_update_stats` 为ON,则后台线程将获取连接。我会将数据库置于受限用户模式。 (2认同)