elhor maneira de alterar o índice de cluster (PK) no SQL 20
Eu tenho uma tabela que possui um índice clusterizado em duas colunas - a chave primária da tabela. É definido da seguinte forma:
ALTER TABLE Table ADD CONSTRAINT [PK_Table] PRIMARY KEY CLUSTERED
(
[ColA] ASC,
[ColB] ASC
)WITH (SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON [PRIMARY]
Eu quero remover essa PK de índice clusterizado e adicionar um índice clusterizado como segue e adicionar uma restrição de chave primária usando um índice não clusterizado, também mostrado abaix
CREATE CLUSTERED INDEX [IX_Clustered] ON [Table]
(
[ColC] ASC,
[ColA] ASC,
[ColD] ASC,
[ColE] ASC,
[ColF] ASC,
[ColG] ASC
)WITH (PAD_INDEX = ON, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, FILLFACTOR = 90, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = OFF) ON [PRIMARY]
ALTER TABLE Table ADD CONSTRAINT
PK_Table PRIMARY KEY NONCLUSTERED
(
ColA,
ColB
) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
Queria apenas soltar o índice clusterizado PK, adicionar o novo índice clusterizado e adicionar o índice de chave primária não clusterizada, mas aprendi que a queda do índice clusterizado existente faria com que os dados da tabela fossem reordenados (consulte a resposta aquiO que acontece quando eu solto uma chave primária em cluster no SQL 2005), o que não acho que seja necessário. A tabela está batendo 1 TB, então eu realmente quero evitar qualquer reordenação desnecessária.
inha pergunta é: qual é a melhor maneira de ir da estrutura existente para a estrutura desejad
EDIT: Só quero esclarecer. A tabela é de 1 TB e, infelizmente, não tenho espaço para criar uma tabela temporária. Se houver uma maneira de fazer isso sem criar uma tabela temporária, entre em contat