Відповіді:
Якщо ви робите це через оператор T-SQL, як, наприклад, нижче, то жодне падіння таблиці не відбудеться, і ви можете сміливо робити це у виробничому середовищі:
alter table <table> alter column <column> nvarchar(biggernumber) [not] null
Якщо ви робите це через графічний інтерфейс дизайну SSMS, це залежатиме від того, який сценарій він вирішить використовувати для впровадження змін. Іноді він буде вставляти дані у тимчасову таблицю, видаляти початкову таблицю, створювати нову версію цієї таблиці та вставляти її назад у нову. Простий спосіб дізнатися, що вона буде робити, це натиснути кнопку "Створити сценарій" і подивитися на T-SQL, який він планує виконати.
Збільшення ширини nvarchar
стовпця стовпця не потребує падіння таблиці. Ні одна ALTER TABLE
операція. Детальну інформацію про обмеження при зміні властивостей таблиці або стовпців ви можете прочитати в операторі ALTER TABLE .
Я скопіював найбільш релевантні частини із нижченаведеної документації:
Зміна розміру стовпчика
Ви можете змінити довжину, точність або масштаб стовпця, вказавши новий розмір для типу даних стовпця в пункті ALTER COLUMN. Якщо дані існують у стовпці, новий розмір не може бути меншим за максимальний розмір даних. Крім того, стовпець не може бути визначений в індексі, якщо стовпець не тип вархара, nvarchar або варбінарних даних і індекс не є результатом обмеження PRIMARY KEY. Див. Приклад P.
Замки та АЛЬТЕР ТАБЛИЦЯ
Зміни, зазначені в ALTER TABLE, вводяться негайно. Якщо для змін потрібні зміни рядків у таблиці, ALTER TABLE оновлює рядки. ALTER TABLE отримує замок для модифікації схеми на столі, щоб переконатися, що під час зміни немає ніяких інших посилань на посилання навіть на метадані для таблиці, за винятком онлайнових операцій з індексом, які потребують дуже короткого блокування SCH-M в кінці. Під час операції «ALTER TABLE… SWITCH» блокування отримується як у вихідних, так і в цільових таблицях. Зміни, внесені до таблиці, записуються в систему та повністю підлягають відновленню. Зміни, які стосуються всіх рядків у дуже великих таблицях, наприклад, випадання стовпця або додавання стовпця NOT NULL за замовчуванням, може зайняти тривалий час для заповнення та генерації багатьох записів журналу. Ці заяви ALTER TABLE повинні виконуватися з такою ж обережністю, як і будь-які INSERT, UPDATE,