我正在努力寻找合适的解决方案。我有一个相当大的 SQL Server 2008 Express 数据库,其中包含 60 多个表(许多具有关键约束)和一大堆数据。
我需要将所有这些表、数据和约束从一个数据库准确复制到另一个数据库。我基本上是在复制网站 A - 以在不同的域上生成一个精确的副本(网站 B),因此我们最终会得到两个完全相同的网站并行运行,每个网站都有自己相同的数据库开始。
数据库 A 已在网站 A 上启动并运行。数据库 B 已设置并拥有自己的用户。我只需要从 A 到 B 获取完整的表和数据。我可以修改我的 web.config 连接以使用数据库 B 的登录凭据,它应该可以工作。
我尝试通过 Management Studio Express 备份数据库 A 并恢复到数据库 B,但它告诉我:
System.Data.SqlClient.SqlError:备份集包含数据库的备份,而不是现有的“数据库-B”数据库。
(Microsoft.SqlServer.Smo)
我还尝试在 Management Studio Express 中右键单击数据库 A 并转到Tasks > Generate scripts
. 但是,当我这样做并在数据库 BI 上运行 SQL 脚本时,会在导入内容时遇到与外键等有关的大量错误。似乎它在做正确的事情,但无法处理不同的键/关系。
那么,有没有人知道一种简单、可靠的方法,可以让我的数据 100% 准确无误地从数据库 A 到数据库 B?
我想我大约在 5 年前使用 SQL Server 数据库发布向导来执行类似的操作,但该产品现在似乎已经失效 - 我尝试安装它,它希望我将我的 SQL Server 版本回归到 2005,所以我我不去那里!