Я пытаюсь добавить столбец в таблицу с большим количеством данных в SQL Server 2005, используя SSMS.
Поэтому я перехожу к таблице, выбираю «Изменить» и добавляю новый столбец. Затем, когда я нажимаю Сохранить, я получаю следующее предупреждение:
Сохранение определения. Изменения в таблицах с большими объемами данных могут занять значительное время. Пока изменения сохраняются, данные таблицы не будут доступны
Я в порядке с этим, БД в автономном режиме, и у меня есть все время в мире, поэтому я нажимаю Да.
Однако операция переходит к тайм-ауту примерно через 30 секунд с этим сообщением:
Невозможно изменить таблицу. Тайм-аут истек. Время ожидания истекло до завершения операции или сервер не отвечает.
Затем, когда я нажимаю ОК:
Пользователь отменен из диалогового окна сохранения (MS Visual Database Tools)
Я не понимаю этого. Я установил тайм-аут выполнения на 0 (бесконечно) как в диалоговом окне подключения SSMS, так и в разделе Сервис -> Параметры -> Выполнение запроса -> SQL Server. Какой смысл устанавливать тайм-аут выполнения, если он просто игнорируется?
Кто-нибудь знает, какое значение тайм-аута используется здесь, и как я могу его установить?
источник
SSMS не следует использовать для общих изменений данных. Освойте себя с T-SQL и добавьте колонку, как предложено ниже.
ALTER TABLE TableName ADD NewColumn INT
SSMS фактически создает новую таблицу со всеми столбцами, импортирует данные в новую таблицу и удаляет старую таблицу. Даже если у вас есть все время в мире, если есть эффективный способ сделать что-то, вы должны использовать правильный метод. Чтобы избежать этого беспорядка, в SQL Server 2008 не будет разрешен метод графического интерфейса IIRC.
источник