Назад | Перейти на главную страницу

Как мне экспортировать / резервировать данные из таблицы SQL, добавить в таблицу столбец, допускающий значение NULL, и импортировать / восстановить данные?

Я хочу сделать следующее ...

  1. Резервное копирование или экспорт данных из моих текущих таблиц базы данных
  2. Повторно развернуть (отбросить и создать) мою базу данных с теми же таблицами с новыми столбцами, допускающими значение NULL
  3. Восстановите или импортируйте указанные данные обратно в базу данных.

Возможно ли это с помощью MSSQL? Если да, то как?

Вы можете обнаружить, что вам не нужно отбрасывать и заново создавать таблицу, чтобы получить столбцы, допускающие значение NULL. Если имена столбцов совпадают, просто используйте ALTER TABLE:

ALTER TABLE Table1 ALTER COLUMN MyCol1 nvarchar (50) null

Это изменяет тип столбца, чтобы разрешить пустые значения там, где раньше было такое же имя столбца и тип данных, но «не было пустым». Видеть http://msdn.microsoft.com/en-us/library/ms190273.aspx для получения дополнительной информации о синтаксисе ALTER TABLE.

Из командной строки:

bcp DBName.dbo.TableName OUT c:\TableName.bcp -N -T -Smydbserver\instance

Затем отбросьте и заново создайте свои таблицы (я не думаю, что есть простой способ сделать это).

Чтобы вернуть свои данные,

bcp DBName.dbo.TableName IN c:\TableName.bcp -N -T -Smydbserver\instance

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