sql >> Database >  >> RDS >> Sqlserver

Noodzaak om kolomtypes in productiedatabase te wijzigen (SQL Server 2005)

Zoals David al zei, het uitvoeren van een script in een productiedatabase zonder een back-up te maken of de site te stoppen is niet het beste idee, maar als je wijzigingen wilt aanbrengen in slechts één tabel met een beperkt aantal rijen, kun je een script voorbereiden om :

  • Begin transactie
  • maak een nieuwe tabel met de gewenste eindstructuur.
  • Kopieer de gegevens van de originele tabel naar de nieuwe tabel
  • Hernoem de oude tabel naar, bijvoorbeeld,original_name_old
  • Hernoem de nieuwe tabel naaroriginal_table_name
  • Transactie beëindigen

Dit zal eindigen met een tabel die de oorspronkelijke naam heeft, maar met de nieuwe structuur die u wilt, en daarnaast handhaaft u de originele tabel met een back-upnaam, dus als u de wijziging wilt terugdraaien, kunt u een script maken om een eenvoudig de nieuwe tabel verwijderen en de oorspronkelijke naam wijzigen.

Als de tabel externe sleutels heeft, zal het script iets ingewikkelder zijn, maar het is nog steeds mogelijk zonder veel werk.



  1. MySql:maak deze query sneller... is er een manier?

  2. Toon indexen in MySQL-tabel

  3. Selectie verlenen voor alle tabellen die eigendom zijn van een specifieke gebruiker

  4. ORA-01847 dag van de maand moet tussen de 1 en de laatste dag van de maand liggen - maar de gegevens zijn OK