我有一个有两个数据库服务器的应用程序:一个是开发数据库服务器,另一个是生产数据库服务器。很遗憾,几个月前我发布了使用申请,并指向开发数据库。
由于它指向开发数据库,所以插入或恢复的所有信息都进入了开发数据库。
我想将从7月到9月进入开发数据库的数据传输到生产数据库。
有办法做到这一点吗?
答案 0 :(得分:2)
创建一个SSIS包,该包使用开发数据库作为源,生产数据库作为目标,并运行查询以将数据从开发中提取到生产中。
顺便说一句,我们曾经发生过这种情况。
答案 1 :(得分:1)
您可以使用DTSWizard在两个数据库之间传输数据。编写SQL查询以仅提取所需的数据。
编辑:我没有意识到它有一个新名字,SSIS。
这是一个很好的tutotrial for SQL Server 2005 Import / Export Wizard。
答案 2 :(得分:1)
这里最大的问题是找出改变了什么。如果你的所有表都有日期时间戳,这应该相当容易。
如果您没有日期时间戳,则必须比较数据。所以让我们调用你的数据库ConsumerData。如果您从应用程序的生产实例指向它的前一天开始备份DEV环境,则可以将其还原为ConsumerDataNew。
有多个数据库比较实用程序(Redgate SQL Compare),可以比较数据库中的表(ConsumerData和ConsumerDataNew),并将结果作为SQL语句提供,然后可以在生产中运行。
当然,您必须确定Dev中的哪些记录是由开发人员制作的,哪些是由生产应用程序制作的。
答案 3 :(得分:0)
Red-Gate有一个名为SQL Compare的工具,用于比较架构和SQL数据比较以实际比较数据。
这可能会有所帮助。