Nie mogę uwierzyć, że najważniejsza odpowiedź siedzi tutaj od tak dawna - to bardzo niebezpieczna rada!
Istnieje kilka operacji, które możesz wykonać w miejscu bez upuszczania tabeli:
- Rozwiń kolumnę varchar https://dba.stackexchange.com/ pytania/5211/zmiana-szerokości-kolumny
- Zrób kolumnę z wartością null (ale nie odwrotnie)
- Zmienianie nazw kolumn przy użyciu sp_rename
Jeśli znajdziesz się w sytuacji, w której zmiana kolumny nie jest możliwa bez upuszczenia tabeli, zwykle możesz użyć SELECT INTO
zapytanie, aby rzutować dane do nowej tabeli, a następnie usuń starą tabelę (tymczasowo wyłączając ograniczenia), a następnie zmień nazwę rzutowanej tabeli. W takim przypadku będziesz jednak musiał przełączyć bazę danych w tryb offline w celu konserwacji.