Ada*_*her 7 vendor-support sql-server sql-server-2012
是否有建议的方法从 SQL Server 2012 SP2 中的另一个数据库重建整个 SQL Server 数据库?
让我解释一下……我们有一个数据库,我们正试图对其启用部分遏制,然后将其添加到我们的 AlwaysOn 集群中。在尝试将遏制设置为部分时,我们只得到死锁错误。数据库从 SQL Server 2008 到 2008R2 到 2012(没有 SP、SP1、SP2)并且有一段时间的 TDE。
Microsoft 支持人员已经研究它几天了,但它看起来并不是很有希望,我认为我们现在倾向于某种形式的腐败。我们的应用程序和其他一切似乎仍然可以正常访问它,只是设置这个小标志不起作用。很奇怪的问题。
我在网上找到的唯一一个显示完全相同问题的参考来自葡萄牙语的 Technet 论坛帖子(翻译链接),但从未得到解决。
此时,我不能再等了,我只想在新数据库中重建这些数据。我想我可以编写整个程序,但是这个 DB 已经大约 20GB,所以这将是一个令人讨厌的脚本。
有没有人建议如何基于另一个数据库重新创建一个新数据库 - 没有标准的备份/恢复?编写脚本是正确的方法吗?
使用 SSMS 为整个数据库 DDL 生成脚本。
使用该脚本创建一个新的空数据库。
用于BCP
从所有表中导出数据。用于BCP
将该数据导入到新数据库中。
DROPing
确保在它之前备份原始数据库(如果您实际上打算删除它)。确保您测试恢复备份。
为了使脚本编写任务更容易,您还可以使用 3rd 方工具。MSVisualStudio 具有架构和数据比较工具集。我个人更喜欢 RedGate 的 SQLCompare 工具。
我也一直使用这些工具来简化 DEV->QA->PROD 部署。架构到位后,您可以执行一个简单的“数据导入向导”来根据需要复制数据。
使用这些工具的好处是它们在构建脚本时更加智能,将项目按正确的创建顺序排列,预先警告您可能的错误,仅编写您需要创建/更新的项目的脚本,并包括您可能会忘记的服务器项目仅使用 DBscripting 工具,例如登录或链接服务器或安全性。
归档时间: |
|
查看次数: |
4003 次 |
最近记录: |