我的产品使用SQL Server数据库 - 每个客户端在自己的Intranet上都有自己的部署实例.db有大约200个表.它们中的大多数是只有几行的配置表,但是有几个可能有几百万行的事务数据表.我经常需要解决客户的配置问题,所以我需要他们的数据库副本才能在我的开发系统上本地工作......但是由于交易数据可能会非常大,这使得客户很难发送我是一个备份工作.我需要一种方法来备份/复制/导出除大表之外的所有内容.
理想情况下,大型表实际上属于单独的数据库目录,因此客户可以将其"数据"与其"配置"分开备份.但是,我没有权限进行这种类型的更改,因此我正在寻找一种很好的方法来导出或复制配置部件而无需复制整个部分.
目前我有一个快速而又脏的.NET应用程序,它使用SQL Adapter和DataSet从所有表中盲目地选择*除了我要省略的那些,将其转储到XML文件(这是我的穷人的导出功能).我有一个伴侣应用程序,我可以在本地使用将XML加载回DataSet,然后使用SQLBulkCopy将其加载到我的开发数据库中.我不得不做一些技巧来禁用约束等等,但我让它成功了.这让我得到了数据,但不是模式....理想情况下,我想要一种方法来获取模式.这是一种蛮力的方法,我相信必须有一种更简单的方法.有关更好方法的任何建议吗?
该解决方案需要自动化,因为我正在与通常几乎没有IT支持的最终用户打交道.
(SQL 2005及更高版本)