创建数据库备份,忽略列

时间:2015-05-28 09:00:33

标签: sql sql-server ssms

我想使用SSMS创建数据库备份。 备份文件将是.bak文件,但我想忽略某个表中的1列,因为此列不是必需的,但它占用了备份大小的95%。

列值应全部替换为0x00(列类型为varbinary(max),而不是null)。

最好的方法是什么?

仅供参考:我知道如何使用Tasks =>生成常规备份备份..

3 个答案:

答案 0 :(得分:1)

从SQL Server本机备份,您不能。您必须将数据库还原到其他位置,然后迁移有用的数据。

答案 1 :(得分:1)

要做的事情还有很长的路要走。它基本上创建一个新的恢复数据库,删除不需要的数据,然后再次进行新的备份。

  1. 创建生产数据库的备份。
  2. 使用新名称
  3. 在生产环境中本地恢复备份
  4. 使用0x00
  5. 更新列
  6. 缩小数据库(进行恢复时缩小很有用。这不会减少bak文件大小)
  7. 备份新数据库(同时使用“备份压缩”以进一步缩小大小)
  8. Ftp bak文件
  9. 如果您只需要几张桌子,那么您可以使用bcp,但这看起来不符合您当前的要求。

答案 2 :(得分:0)

您可以使用文件组https://msdn.microsoft.com/en-us/library/ms191539(SQL.90).aspx

创建没有列和备份的表的副本