嗨,我有这种情况:
我想知道如何保存SQL Server 1(A,B,C)的每个对象,但同时我想从SQL Server 2添加每个新对象。在SQL Server 2中{{1}具有相同的模式,但假数据尊重SQL Server 1中的相同对象,因此我无法对SQL Server 2进行完整备份并在SQL Server 1中将其还原。
两台服务器都运行SQL Server 2008。
我知道显然有一个聪明的程序可以做到这一点,但我在SQL Server管理方面的小经验让我失明了!
提前感谢您的帮助!
答案 0 :(得分:3)
你需要一些好工具!像:
Red-Gate SQL Compare可帮助您比较和同步数据库的结构(例如数据库对象,如表,视图,过程,约束等)。
红门SQL Data Compare可帮助您比较和同步表格中的数据,例如在查找和系统表中,甚至是实际的数据表
答案 1 :(得分:0)
您可以使用不同的模式,例如两个数据库上都有:
CREATE SCHEMA something;
GO
然后,您可以在一侧移动该模式中的“重复”对象:
ALTER SCHEMA something TRANSFER dbo.A;
...
然后你可以使用SQL Compare等工具将something.objects移动到另一个数据库。你将有两个名为A的对象,但它们将位于不同的模式中。您的代码必须自然地引用正确的模式。
但为什么他们必须在同一个数据库中呢?您可以将它们保存为单独的数据库,并在一个中使用同义词指向另一个中的对象,因此所有内容都“看起来”是本地的。如果它们在同一模式和同一数据库中,您打算如何从A查询?
你能准确解释一下你想要实现的目标吗?您是否尝试使您的生产数据库向后兼容,以便您可以在不破坏现有应用程序的情况下推送您的开发人员更改?我认为将测试应用程序指向不同的数据库更加清晰,然后将生产数据库完全更新(不像Frankenstein)。
答案 2 :(得分:0)
您可以制作一个简单的PHP脚本来运行。
此脚本应连接到第一个数据并将数据导入第二个数据