当我们要更改 5TB 数据库中的一些大表时,我发现自己需要一个可以在线执行的操作列表,以及在运行时需要完全锁定的操作。理想情况下,此列表还包含有关哪些语句需要 SCH-M 锁在最后提交的信息。
虽然我在微软工作时就知道其中的大部分,但令我惊讶的是,当它们从 SQL Server 2005 发展到 2014 CTP 时,我找不到公开可用的在线操作列表。
有没有人有这样的列表?如果没有,我可能会决定创建它。
SQL Server 2014 本身并没有引入新的在线操作,但确实改进了一些操作以提高可用性。从什么是新的部分:
分区切换和索引 现在可以重建分区表的各个分区。有关详细信息,请参阅 ALTER INDEX (Transact-SQL)。
分区切换和索引
现在可以重建分区表的各个分区。有关详细信息,请参阅 ALTER INDEX (Transact-SQL)。
和
管理在线操作的锁定优先级 ONLINE = ON 选项现在包含一个 WAIT_AT_LOW_PRIORITY 选项,它允许您指定重建过程应该等待必要的锁的时间。WAIT_AT_LOW_PRIORITY 选项还允许您配置终止与该重建语句相关的阻塞进程。有关详细信息,请参阅 ALTER TABLE (Transact-SQL) 和 ALTER INDEX (Transact-SQL)。sys.dm_tran_locks (Transact-SQL) 和 sys.dm_os_wait_stats (Transact-SQL) 中提供了有关新型锁定状态的故障排除信息。
管理在线操作的锁定优先级
ONLINE = ON 选项现在包含一个 WAIT_AT_LOW_PRIORITY 选项,它允许您指定重建过程应该等待必要的锁的时间。WAIT_AT_LOW_PRIORITY 选项还允许您配置终止与该重建语句相关的阻塞进程。有关详细信息,请参阅 ALTER TABLE (Transact-SQL) 和 ALTER INDEX (Transact-SQL)。sys.dm_tran_locks (Transact-SQL) 和 sys.dm_os_wait_stats (Transact-SQL) 中提供了有关新型锁定状态的故障排除信息。