Próbuję dodać kolumnę do tabeli z dużą ilością danych w SQL Server 2005, używając SSMS.
Więc przeglądam tabelę, wybieram Modyfikuj i dodaj nową kolumnę. Następnie, po naciśnięciu przycisku Zapisz, pojawia się następujące ostrzeżenie:
Zapisywanie definicji Zmiany w tabelach z dużą ilością danych mogą zająć dużo czasu. Podczas zapisywania zmian dane tabeli nie będą dostępne
Nie mam nic przeciwko, DB jest offline i mam cały czas na świecie, więc naciskam Tak.
Jednak operacja przechodzi do limitu czasu po około 30 sekundach z tym komunikatem:
Nie można zmodyfikować tabeli. Limit czasu upłynął. Limit czasu upłynął przed zakończeniem operacji lub serwer nie odpowiada.
Następnie, po naciśnięciu OK:
Użytkownik anulowany z okna zapisu (MS Visual Database Tools)
Nie rozumiem tego Ustawiłem limit czasu wykonania na 0 (nieskończony) zarówno w oknie dialogowym połączenia SSMS, jak i w menu Narzędzia -> Opcje -> Wykonanie zapytania -> SQL Server. Jaki jest sens ustawiania limitu czasu wykonania, jeśli jest on po prostu ignorowany?
Czy ktoś wie, jaka jest tutaj wartość limitu czasu i jak ją ustawić?
źródło
SSMS nie powinien być używany do ogólnych modyfikacji danych. Rozgość się z T-SQL i dodaj kolumnę zgodnie z sugestią poniżej.
ALTER TABLE Nazwa tabeli ADD NewColumn INT
SSMS faktycznie tworzy nową tabelę ze wszystkimi kolumnami, importuje dane do nowej tabeli i upuszcza starą tabelę. Nawet jeśli masz cały czas na świecie, jeśli istnieje skuteczny sposób na robienie rzeczy, powinieneś użyć właściwej metody. Aby uniknąć tego bałaganu, w SQL Server 2008 nie zezwala na metodę GUI IIRC.
źródło