如何从 SQL 表导出/备份数据、向表添加可空列以及导入/恢复数据?

如何从 SQL 表导出/备份数据、向表添加可空列以及导入/恢复数据?

我想要做以下事情...

  1. 从我当前的数据库表中备份或导出数据
  2. 重新部署(删除并创建)我的数据库,使用相同的表和新的可空列
  3. 将所述数据恢复或导入数据库。

使用 MSSQL 可以实现吗?如果可以,怎么做?

答案1

从命令提示符中:

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

然后,删除并重新创建您的表(我认为没有任何简单的方法可以做到这一点)。

要恢复您的数据,

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

您需要对每个表重复此操作。它将为您提供数据的二进制副本,然后重新插入。只要每个字段的长度与旧字段的长度相同,您在不同的架构上重新插入数据就不会遇到任何问题。

答案2

您可能会发现,您不必删除并重新创建表即可获取可空列。如果列名相同,只需使用 ALTER TABLE:

更改表 Table1 更改列 MyCol1 nvarchar(50) null

这会将列类型更改为允许为空,而之前列名称和数据类型相同,但“不为空”。请参阅http://msdn.microsoft.com/en-us/library/ms190273.aspx了解更多 ALTER TABLE 语法。

相关内容