是否有可能备份SQL Server数据库,但只备份表结构和内容(即不包括存储过程,视图等?)
场景:
我们有一个数据中心托pipe产品,每个客户拥有一个独特的数据库
对于许多客户,我们需要每天向他们提供一份数据副本,以便将其导入数据仓库用于报告目的,而实际交易系统的效果并不理想。
因此,我们现在每天对生产数据库进行全面备份,将其恢复到“暂存”服务器,在这里我们运行环境清理脚本来删除视图和存储过程(因为我们在Sps / views中的代码的IPR等等)然后我们支持并输出给他们。
这导致每天发送大型数据库。
他们正在寻找每天下载和处理20GB备份文件的开销,并希望我们提供增量备份。
这样做的问题是,如果我们执行完整备份来复制到临时服务器,则会更改跟踪,差异备份包含所有内容。
我们尝试了一个过程:
这是行不通的,因为在恢复我们发送的差异时,差异基线被认为是不正确的。
现在,如果我们可以做一些不包括SP的备份,但仍然是增量式的,那就可以解决问题。
在SQL服务器世界中调用的“备份”包含了所有内容。 它旨在拾取整个数据库并将其放到磁盘或磁带上。
如果你只想获取表格模式和数据,你需要更接近于我所知道的“生成脚本”function,在SQL 2008中,也可能是早期的版本。 右键点击数据库,点击“任务”,然后“生成脚本”,并按照向导通过。
如果只想备份表结构及其内容而不备份其他内容,则不能使用SQL 备份命令 。
表结构可以被编写脚本为了有它们的结构。 至于他们的内容,你可以导出使用几个工具,如: SQL导出/导入工具或BCP实用程序。
请记住,使用此解决scheme,除非您编写数据库脚本,否则无法使用其选项和安全性恢复数据库。 您只会将一些文件(.xls或.txt)导入到已创build的现有数据库中。 任务重得多,不太方便。
如果您需要数据库中的所有表,build议执行常规备份,并在还原后删除视图或SP。 这些并不占用太多的空间。
重复步骤5到9一周/月,然后返回到步骤1。
它非常简单。您需要为此生成一个脚本。 右键单击对象资源pipe理器中的数据库名称,然后执行以下步骤 – 任务>生成脚本>下一步>select特定数据库对象>select表并单击下一步>单击“高级
popup窗口将出现名为“高级脚本选项”。 在“常规”下find“脚本数据types”并将其更改为“模式和数据”。 然后按“确定”。
SQL Server 6.5有备份单个表的选项,但在更高版本中删除了这个选项。 常规的SQL Server备份将备份整个数据库。
为什么你需要这个function的具体原因?