Verwenden Sie die Indirektion, um die direkte Manipulation von Tabellen zu vermeiden:
- Habe 3 Tabellen:Client1, Client2, Client3 mit allen Indizes, Einschränkungen und Triggern usw.
- Verwenden Sie Synonyme um die reale Tabelle auszublenden, zB Client, ClientOld, ClientToLoad
- Um die neue Tabelle zu generieren, kürzen/schreiben Sie in "ClientToLoad"
- Dann löschen und erstellen Sie die Synonyme in einer Transaktion, sodass
- Client -> was war ClientToLoad
- ClientOld -> was war Client
- ClientToLoad -> was war ClientOld
Sie können SELECT base_object_name FROM sys.synonyms WHERE name = 'Client'
verwenden herauszufinden, was die aktuelle Indirektion ist
Dies funktioniert auf allen Editionen von SQL Server:Der andere Weg ist "Partitionswechsel", der die Enterprise Edition erfordert