是否有每个SQL Server版本的联机操作的完整列表?


20

当我们即将更改5TB数据库中的一些大表时,我发现自己需要一个可以在线执行的操作的列表,并且这些操作要求在运行时保持完全锁定。理想情况下,该列表还将包含有关哪些语句需要SCH-M锁在最后提交的信息。

虽然我在Microsoft时就了解了其中的大多数知识,但令我感到惊讶的是,由于它们是从SQL Server 2005一直发展到2014 CTP的,因此找不到公开的在线操作列表。

有人有这样的列表吗?如果没有,我可能决定创建它。


4
我认为您可能是从错误的角度看待这一问题。与其插值您可以在网上进行的工作,不如插手您需要做的事情,并找出可以在网上进行的工作。“在线”是一个非常通用的术语,正如您所指的那样,它取决于并发性。我的后续问题将是“您到底想做什么?”
Thomas Stringer 2014年

2
我不同意@ThomasStringer-在大型系统中做出的选择取决于您可以做什么,而不是想要做什么。我希望所有内容都在线-但是我知道这是不可能的-所以我正在尝试绘制设计空间。
Thomas Kejser 2014年

“我们将要更改一些大表” ...您要更改什么?那就是我要达到的目的。我怀疑您的日程安排只允许您在大型数据库的大型表中提出一些随机的事情,因此您必须牢记一些操作。如果您要查找哪些操作需要架构稳定性或修改锁,则完全不同。同样,“在线”在旁观者/请求者的眼中。
Thomas Stringer 2014年

2
如果找不到权威来源,那么对将来的读者来说,列出您在MS时所知道的在线操作将很有帮助。
billinkc 2014年

8
清单怎么样?:)
nmad 2014年

Answers:


5

听起来像是一项事业。联机索引操作并非在每个版本的Microsoft SQL Server中都可用,希望这可以帮助您入门(采用表格形式):

SQL Server 2012:http//msdn.microsoft.com/en-us/library/ms190981.aspx

SQL Server 2008R2:http : //msdn.microsoft.com/zh-CN/library/ms190981( v=sql.105) .aspx

SQL Server 2008:http//msdn.microsoft.com/zh-CN/library/ms190981(v = sql.100).aspx

SQL Server 2005:http//msdn.microsoft.com/zh-CN/library/ms190981(v = sql.90).aspx


5

SQL Server 2014本身并未引入新的联机操作,但确实改进了一些操作以提高可用性。在“ 新变化”部分

分区切换和索引

现在可以重建分区表的各个分区。有关更多信息,请参见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)中提供了有关新型锁定状态的故障排除信息。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.