Gebruik indirectheid om te voorkomen dat tabellen direct worden gemanipuleerd:
- Heb 3 tabellen:Client1, Client2, Client3 met alle indexen, beperkingen en triggers enz.
- Gebruik synoniemen om de echte tabel te verbergen, bijv. Client, ClientOld, ClientToLoad
- Om de nieuwe tabel te genereren, kapt/schrijft u naar "ClientToLoad"
- Vervolgens DROP en MAAK je de synoniemen in een transactie zodat
- Client -> wat was ClientToLoad
- ClientOld -> wat was Client
- ClientToLoad -> wat was ClientOld
U kunt SELECT base_object_name FROM sys.synonyms WHERE name = 'Client'
gebruiken om uit te zoeken wat de huidige indirectheid is
Dit werkt op alle edities van SQL Server:de andere manier is "partition switching" waarvoor enterprise-editie vereist is