sql >> Database teknologi >  >> RDS >> Sqlserver

Hold nedetiden på et minimum ved at omdøbe det gamle bord og derefter udfylde en ny version?

Brug indirektion for at undgå at manipulere tabeller direkte:

  • Har 3 tabeller:Client1, Client2, Client3 med alle indekser, begrænsninger og triggere osv.
  • Brug synonymer for at skjule den rigtige tabel, f.eks. Client, ClientOld, ClientToLoad
  • For at generere den nye tabel, afkorter/skriver du til "ClientToLoad"
  • Så SLIPPER og OPRETTER du synonymerne i en transaktion, så
    • Klient -> hvad var ClientToLoad
    • ClientOld -> hvad var klient
    • ClientToLoad -> hvad var ClientOld

Du kan bruge SELECT base_object_name FROM sys.synonyms WHERE name = 'Client' for at finde ud af, hvad den aktuelle indirektion er

Dette virker på alle udgaver af SQL Server:den anden måde er "partitionsskift", som kræver virksomhedsudgave



  1. Eksempler på SQL Server FOR JSON PATH (T-SQL)

  2. Indstilling af Big Query-variabler som mysql

  3. Tilføjelse af kun én værdi til tabellen i sql

  4. timestampdiff-ækvivalent i JPQL (uden at bruge kriterier)