Таблиця економії таймауту в SQL Server


16

Я намагаюся додати стовпчик до таблиці з великою кількістю даних у SQL Server 2005, використовуючи SSMS.

Тому я переходжу до таблиці, вибираю Змінити та додаю новий стовпець. Потім, коли натискаю кнопку Save, я отримую таке попередження:

Збереження визначення Зміни в таблицях з великою кількістю даних можуть зайняти значну кількість часу. Поки зміни зберігаються, дані таблиці не будуть доступні

З цим я все в порядку, БД офлайн, і я постійно працюю у світі, тому натискаю Так.

Однак після цього повідомлення операція переходить до тайм-ауту через приблизно 30 секунд:

Неможливо змінити таблицю. Час очікування закінчився Період часу очікування, який минув до завершення операції, або сервер не відповідає.

Потім, коли я натискаю ОК:

Користувач скасовано діалогове вікно збереження (MS Visual Database Tools)

Я цього не розумію. Я встановив час очікування виконання на 0 (нескінченно) як у діалоговому вікні підключення SSMS, так і в розділі Інструменти -> Параметри -> Виконання запитів -> SQL Server. Який сенс встановлювати тайм-аут виконання, якщо його просто ігнорують?

Хтось знає, яке значення timeout використовується тут, і як я можу його встановити?

Відповіді:


27

Звучить як налаштування тайм-ауту. Таким чином, ваш SSMS вважає, що це забирає занадто багато часу, і скасовує з'єднання для вас. Сервер SQL повертається назад. Але є допомога. Ви не перша людина, яка стикається з цим.

Дивіться тут .

Для всіх, хто не хоче натискати посилання. Ось відповідь, яка виграє ціну:

Після тієї ж помилки я натрапив на налаштування коррента.

У студії управління в меню Інструменти виберіть Опції, а потім натисніть "Конструктори". Існує параметр під назвою "Зазначити значення тайм-ауту рядка з'єднання для оновлення дизайнера таблиці:" У полі "Час очікування транзакції після:" ви побачите чарівні 30 секунд


6

// РОБІЙТЕ:

Відкрийте студію управління SQL Server -> Меню інструментів -> Опції -> Вкладка Дизайнери -> Дизайнер таблиць і баз даних -> Збільште час очікування з 30 секунд до 65535 секунд .--> ОК

// Тепер ви можете зберегти зміни таблиці. // Сподіваюся, що це допомагає, і перегляньте мій блог @: //www.ogolla.blogspot.com


1
Нічого собі, це величезні 18-годинні налаштування тайм-ауту. Час подрімати!
Peter Schuetze

0

SSMS не слід використовувати для загальних модифікацій даних. Будьте комфортні з T-SQL та додайте стовпець, як запропоновано нижче.

АЛЬТЕР ТАБЛИЦЯ Таблиця Назва додавання Нова колонка INT

SSMS фактично створює нову таблицю з усіма стовпцями, імпортує дані в нову таблицю та видаляє стару таблицю. Навіть якщо у вас є весь час у світі, якщо є ефективний спосіб робити речі, ви повинні використовувати правильний метод. Щоб уникнути цього безладу, у SQL Server 2008 не буде дозволено метод GUI IIRC.


3
Я бачу вашу думку. Але я вважаю за краще, щоб мої стовпці були у визначеному порядку. Дурне, ти можеш подумати, але там це є. Використовуючи ALTER TABLE, новий стовпець додається до кінця. Я думаю, саме тому SSMS насправді повинен скинути та відтворити таблицю.
Tor Haugen
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.