Eu tenho que mudar uma tabela particionada no Sql Server 2008 R2 para uma tabela normal para tornar meu banco de dados compatível com o Sql Server 2016 Standard Edition.
Na verdade a tabela possui 5 partições com o seguinte número de linhas:
> boundary, rows
2009-01-01 00:00:00.000 419
2010-01-01 00:00:00.000 386031
2011-01-01 00:00:00.000 1307990
2012-01-01 00:00:00.000 673183
NULL 9743057
A tabela contém uma coluna BLOB (imagem). O tamanho total da tabela é de cerca de 25 GB.
Eu li a pergunta Como remover uma partição de tabela , mas embora tenha respondido, não há resposta aceita e as respostas não abordam minha pergunta inteiramente.
Percebi o comando ALTER PARTITION FUNCTION MERGE RANGE , mas não entendi direito o que vai acontecer. Os dados serão mesclados em um dos grupos de arquivos existentes e depois ainda terei uma tabela particionada?
Em vez disso, tenho que copiar todos os dados para uma nova tabela com a mesma estrutura (pode demorar um pouco...)?
Terei que realizar esta ação durante um tempo de inatividade, por isso preciso de um procedimento que seja o mais eficiente possível.
Para remover completamente o particionamento da tabela, reconstrua todos os índices com uma especificação de grupo de arquivos em vez do esquema de partição. Use
CREATE INDEX
com aDROP_EXISTING=ON
opção de fazer isso de forma eficiente.Veja MSDN:
CREATE INDEX
página para sintaxe.