Existe uma lista completa de operações online para cada versão do SQL Server?

20

Como estamos prestes a alterar algumas das tabelas grandes em nosso banco de dados de 5 TB, me deparei com a necessidade de uma lista das operações que podem ser executadas on-line e as que exigem que bloqueios completos sejam mantidos enquanto são executados. Idealmente, essa lista também conteria informações sobre quais instruções exigem que o bloqueio SCH-M seja confirmado no final.

Embora eu conheça a maioria deles desde o meu período na Microsoft, fiquei surpreso por não conseguir encontrar uma lista disponível publicamente de operações online, pois elas evoluíram do SQL Server 2005 e do CTP de 2014.

Alguém tem essa lista disponível? Caso contrário, posso decidir criá-lo.

Thomas Kejser
fonte
4
Eu acho que você pode estar olhando isso do lado errado do espectro. Em vez de interpolar o que você pode fazer online, você deve pegar o que precisa fazer e descobrir o que pode ser feito online. "online" é um termo muito genérico e, como você denota, depende da simultaneidade. Minha pergunta seguinte seria "o que exatamente você está tentando fazer?"
Thomas Stringer
2
Discordo de @ThomasStringer - as escolhas que você fará em um sistema grande dependerão do que você pode fazer, não do que você quer fazer. Eu gostaria que tudo estivesse online - mas sei que isso não é possível - então estou tentando mapear o espaço do design.
Thomas Kejser
"estamos prestes a mudar algumas das grandes tabelas" ... O que você está mudando? É nisso que estou tentando chegar. Duvido que sua agenda permita que você crie coisas aleatórias para fazer em uma grande tabela em um grande banco de dados, portanto, você deve ter alguma operação em mente. Se você está procurando quais operações exigem estabilidade do esquema ou modificam bloqueios, isso é algo completamente diferente. Mais uma vez ... "online" está nos olhos de quem vê / solicitante.
Thomas Stringer
2
Se nenhuma fonte autorizada for encontrada, seria útil para futuros leitores listar o que você sabe que é uma operação on-line do seu tempo na MS.
billinkc
8
Como está indo a lista? :)
nmad

Respostas:

5

Parece um empreendimento. As operações de índice online não estão disponíveis em todas as edições do Microsoft SQL Server, espero que isso possa dar os primeiros passos (está na forma de tabela):

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

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

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

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

Java Riser
fonte
5

O SQL Server 2014 não introduz novas operações online por si só, mas aprimora diversas operações para aumentar a disponibilidade. Na seção novidades :

Comutação e indexação de partições

As partições individuais de tabelas particionadas agora podem ser reconstruídas. Para obter mais informações, consulte ALTER INDEX (Transact-SQL)

e

Gerenciando a prioridade de bloqueio das operações online

A opção ONLINE = ON agora contém uma opção WAIT_AT_LOW_PRIORITY que permite especificar quanto tempo o processo de reconstrução deve esperar pelos bloqueios necessários. A opção WAIT_AT_LOW_PRIORITY também permite configurar o encerramento dos processos de bloqueio relacionados a essa instrução de reconstrução. Para obter mais informações, consulte ALTER TABLE (Transact-SQL) e ALTER INDEX (Transact-SQL). As informações de solução de problemas sobre novos tipos de estados de bloqueio estão disponíveis em sys.dm_tran_locks (Transact-SQL) e sys.dm_os_wait_stats (Transact-SQL).

Jos de Bruijn - MSFT
fonte