Шаг по добавлению нового столбца на рабочем сервере (SQL Server 2008)?

#sql-server #sql-server-2008

#sql-сервер #sql-сервер-2008 #sql-server-2008

Вопрос:

Я использую базу данных SQL Server 2008.

Мой проект находится в прямом эфире. Теперь я хочу добавить новый столбец в свою employee таблицу.

Как я могу это сделать?

Пожалуйста, подскажите мне идею

Спасибо.

Ответ №1:

Здесь есть над чем подумать. Просто с головы до ног:

  • Убедитесь, что на все, что обращается к этой таблице, это не окажет негативного влияния. Если что-то используется SELECT * , это, скорее всего, приведет к сбою. Аналогично, все, что выбирается из или вставляется в базу данных по индексу столбца, необходимо будет изменить
  • Для изменения столбца может потребоваться удаление / воссоздание таблицы — убедитесь, что никто не будет обращаться к таблице, когда вы вносите изменения. Сюда входят запланированные задания, триггеры и т.д.
  • Убедитесь, что ваши резервные копии обновлены. Если что-то пойдет не так, вы хотите иметь возможность вернуться туда, где вы были.

В целом, я бы сказал, что вам лучше всего — если доступна такая опция — выполнить эти шаги в процессе разработки, а затем в среде контроля качества, чтобы убедиться, что вы как можно более уверены во всем, на что повлияет изменение, чтобы вы могли внести необходимые коррективы.

Как только вы будете уверены в том, что делаете, ALTER TABLE выберите нужную команду, и у Microsoft есть множество документации о том, как ее использовать. Кроме того, среда SQL Server Management Studio предоставляет графический интерфейс для внесения изменений.

Комментарии:

1. моя база данных находится в режиме реального времени, я не знаю, кто использует таблицу. в то время, когда я хочу добавить новый столбец…. пожалуйста, подскажите мне вашу идею?

2. Если вам нужно изменить таблицу, и вы не знаете, что зависит от указанной таблицы… остановка. У вас серьезная проблема, выходящая за рамки того, что вы исправляете, добавляя столбец. Просмотрите системную документацию и найдите все возможные ссылки на вашу таблицу. В противном случае (возможно, даже с этим) убедитесь, что ваш менеджер / ведущий / кто угодно знает, что это потенциальное критическое изменение в неизвестном количестве других систем — и из-за этого следует ожидать потока ошибок.

Ответ №2:

При добавлении столбца в таблицу с данными столбец должен иметь значение NULL или вам нужно значение по умолчанию

 ALTER TABLE myTable ADD AnotherColumn int NULL
  

или

 ALTER TABLE myTable
    ADD AnotherColumn int NOT NULL
            CONSTRAINT DF_myTable _AnotherColumn  DEFAULT 0
  

Ответ №3:

Вы используете alter table

 alter table YourTable add NewColumn int