Lies in den Artikel rein und unten bekommst Du ein unschlagbares Angebot!
In letzter Zeit habe ich gelegentlich Änderungen an den Tabellen verschiedener SQL Server-Datenbanken vorgenommen. Einige Änderungen dienten der Erweiterung um neue Felder, andere haben Primärschlüssel, Indizes, Beziehungen und andere Elemente angepasst. Die betroffenen Tabellen enthalten teilweise sehr viele Daten, sodass SQL Server recht viel Zeit beanspruchte, die Tabellen zu ändern. Teilweise gab es Fehler, weil Zeitlimits überschritten wurden. Teilweise konnten aber auch neue Beziehungen oder Indizes nicht angelegt werden, weil die Integrität der Daten nicht gegeben war. Dieser Artikel zeigt, welche Einstellungen Sie dann ändern können und welche Ursachen es gibt, wenn all dies nichts hilft.
Bild 1: Timeout beim Ändern eines Feldnamens
SQL Server Entwurfsänderungen mit Timeout
Manchmal sind Änderungen am Entwurf einer Tabelle mit sehr vielen Datensätzen für den SQL Server sehr aufwendig durchzuführen. Oft reicht die Zeit nicht aus, weil zum Beispiel eine neue, temporäre Tabelle erzeugt, die Datensätze kopiert und die alte Tabelle gelöscht sowie die neue in die alte umbenannt werden muss. In solchen Fällen erscheint die Meldung aus Bild 1.
Bild 1: Timeout beim Ändern eines Feldnamens
Das Zeitlimit können Sie über die Optionen des SQL Server Management Studios einstellen. Dazu öffnen Sie den Options-Dialog mit dem Befehl Tools|Options. Hier finden Sie unter Designers|Table and Database Designers die Option Override connection string time-out value for table designer updates, der aktiviert sein sollte, und darunter die Einstellung Transaction time-out after, die standardmäßig 30 Sekunden beträgt. Wenn Sie also Timeouts haben, setzen Sie einfach diese Einstellung auf einen höheren Wert (siehe Bild 2).
Bild 2: Einstellungen für den Timeout
Entwurfsänderungen, die das Neuerstellen der Tabelle erfordern