![将 SQL Server 数据库恢复到新服务器并将主数据库拆分到文件组?](https://linux22.com/image/500392/%E5%B0%86%20SQL%20Server%20%E6%95%B0%E6%8D%AE%E5%BA%93%E6%81%A2%E5%A4%8D%E5%88%B0%E6%96%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%B9%B6%E5%B0%86%E4%B8%BB%E6%95%B0%E6%8D%AE%E5%BA%93%E6%8B%86%E5%88%86%E5%88%B0%E6%96%87%E4%BB%B6%E7%BB%84%EF%BC%9F.png)
提前感谢所有帮助。
我们正在构建一个新的 SQL Server 2008 产品箱。我需要从当前产品箱中获取数据并在新产品箱上恢复。
我希望更好地设置数据库,这样我们就可以在多个卷上拥有数据库文件,但创建多卷文件组。但我相信当我恢复时,它只允许我将备份中的 1 mdf 恢复到恢复端的 1 mdf。
对此有何建议?有吗?
再次感谢 Rich
答案1
您无法从备份中执行此操作,但可以从现有服务器生成脚本。然后修改创建数据库语句中的脚本以添加新文件组名称。之后,只需在新服务器中运行脚本即可。这将创建具有新文件组的数据库。然后从现有服务器导出数据并导入新服务器。
答案2
诀窍在于无需删除所有外键约束即可做到这一点!
有一个脚本,但注释是德语的。如果您对 SQL Server 有一些经验,您应该能够弄清楚它的作用并相应地使用它来满足您的需求。
答案3
您将无法在还原时执行此操作。还原后,您需要将聚集索引移动到包含多个文件的新创建的文件组。确保所有文件的大小和增长率相同,并使它们足够大,以便在移动表(聚集索引)后不需要增长。请记住,无论聚集索引在哪里,表也在哪里。Nick 是对的,PK/FK 关系需要重新创建。