Příznaky
Když se pokusíte změnit velkou tabulku pomocí Návrháře tabulky v aplikaci Microsoft SQL Server Management Studio, může se zobrazit chybová zpráva podobná této:
-Nelze změnit tabulku. Vypršel časový limit. Vypršel časový limit před dokončením operace nebo server neodpovídá.
Příčina
K tomuto chování dochází kvůli nastavení časového limitu transakcí pro návrháře tabulky a návrháře databáze v aplikaci SQL Server Management Studio. Toto nastavení můžete zadat v poli časový limit transakce po . Ve výchozím nastavení je toto nastavení 30 sekund. Všimněte si, že toto nastavení se liší od nastavení v poli časový limit provádění v studiu SQL Server Management Studio. Ve výchozím nastavení je nastavení v poli časový limit provádění editoru dotazů v nástroji SQL Server Management Studio nulové. Ve výchozím nastavení je v poli časový limit dotazu (sekund) v editoru dotazů v aplikaci Microsoft SQL Server 2000 SQL Query Analyzer také nula. Editor dotazů proto čeká nekonečně na dokončení a nevypršení časového limitu dotazu.
Řešení
Tento problém vyřešíte jedním z následujících způsobů:
-
Zrušte zaškrtnutí políčka přepsat hodnotu časového limitu připojovacího řetězce pro aktualizace tabulky v Návrháři tabulky a v Návrháři databáze v aplikaci SQL Server Management Studio.
-
V okně Návrhář tabulky a v Návrháři databáze v aplikaci SQL Server Management Studio zadejte do pole časový limit transakcedalší nastavení.
-
Upravte velkou tabulku pomocí příkazů Transact-SQL v editoru dotazů v aplikaci SQL Server Management Studio.
Další informace o těchto nastaveních najdete na následujícím webu služby MSDN (Microsoft Developer Network):
Stav
Toto chování je záměrné.
Další informace
Změna velké tabulky může být časově náročná. Je to proto, že při pokusu o změnu schématu tabulky musí SQL Server provádět následující akce:
-
Vytvořte dočasnou tabulku se stejným schématem tabulky.
-
Zkopírujte všechna data ze skutečné tabulky do dočasné tabulky.
-
Vyřaďte aktuální tabulku.
-
Přejmenujte dočasnou tabulku na název skutečné tabulky.