Ich versuche, einer Tabelle mit vielen Daten in SQL Server 2005 mithilfe von SSMS eine Spalte hinzuzufügen.
Also gehe ich zur Tabelle, wähle Ändern und füge die neue Spalte hinzu. Wenn ich dann auf Speichern drücke, wird folgende Warnung angezeigt:
Speichern von Definitionen Änderungen an Tabellen mit großen Datenmengen können viel Zeit in Anspruch nehmen. Während Änderungen gespeichert werden, kann nicht auf Tabellendaten zugegriffen werden
Ich bin damit einverstanden, die DB ist offline und ich habe die ganze Zeit auf der Welt, also drücke ich Ja.
Die Operation läuft jedoch nach etwa 30 Sekunden mit der folgenden Meldung ab:
Tabelle kann nicht geändert werden. Zeitüberschreitung. Das Zeitlimit, das vor Abschluss des Vorgangs verstrichen ist, oder der Server reagiert nicht.
Wenn ich dann OK drücke:
Benutzer hat den Speicherdialog abgebrochen (MS Visual Database Tools)
Ich verstehe das nicht. Ich habe das Ausführungszeitlimit sowohl im SSMS-Verbindungsdialog als auch unter Extras -> Optionen -> Abfrageausführung -> SQL Server auf 0 (unendlich) gesetzt. Was bringt es, ein Ausführungszeitlimit festzulegen, wenn es nur ignoriert wird?
Weiß jemand, welcher Timeout-Wert hier verwendet wird und wie ich ihn einstellen kann?
quelle
SSMS sollte nicht für allgemeine Datenänderungen verwendet werden. Machen Sie sich mit T-SQL vertraut und fügen Sie die unten vorgeschlagene Spalte hinzu.
ALTER TABLE Tabellenname ADD NewColumn INT
SSMS erstellt tatsächlich eine neue Tabelle mit allen Spalten, importiert Daten in die neue Tabelle und löscht die alte Tabelle. Selbst wenn Sie die ganze Zeit auf der Welt haben, sollten Sie die richtige Methode anwenden, wenn es eine effiziente Möglichkeit gibt, Dinge zu tun. Um dieses Durcheinander zu vermeiden, wird in SQL Server 2008 die GUI-Methode IIRC nicht zugelassen.
quelle