Use a indireção para evitar a manipulação direta de tabelas:
- Tem 3 tabelas:Client1, Client2, Client3 com todos os índices, restrições e gatilhos etc
- Use sinônimos para ocultar a tabela real, por exemplo, Client, ClientOld, ClientToLoad
- Para gerar a nova tabela, trunque/grave em "ClientToLoad"
- Então você DROP e CREATE os sinônimos em uma transação para que
- Cliente -> o que era ClientToLoad
- ClientOld -> o que era Cliente
- ClientToLoad -> o que era ClientOld
Você pode usar
SELECT base_object_name FROM sys.synonyms WHERE name = 'Client'
para descobrir qual é a direção indireta atual Isso funciona em todas as edições do SQL Server:a outra maneira é "comutação de partição" que requer edição corporativa