我有一个遗留的数据库服务器,没有架构绑定安装了很多视图。 随着时间的推移,这些观点已经失修了,有些则是指不存在的对象,或者是名称已经改变的列。
为了testing升级脚本,我想将模式对象安装到一个空的testing数据库上。 然而,许多意见不能被装载,因为它们处于失修状态。
是否有可能让SQL Server加载引用不存在的对象的视图,以便我可以testing我的修复脚本?
我可以使用备份和恢复来做到这一点,但是我不想加载数据集,而且这个数据集很大,需要几个小时才能加载。
您可以将数据库备份和重新刻录一次,删除所有表中的数据,强制重新索引和完整数据库缩小,然后在每次testing运行开始时备份恢复结果。
这会给你一个小的数据库,具有相同的结构,包括破碎的视图和程序。 你仍然需要做整个备份和恢复,但只有一次,因为后续的恢复将从擦除和缩小的副本。 删除操作也需要一段时间,但只需要做一次(reindex和shrink应该非常快)。
我不认为你能做到这一点。 为什么不把视图创build添加到testing脚本? 如果整个脚本运行成功,那么您的模式更改可以解决问题。
我认为早期版本的SQL Server允许直接修改可能会工作的syscomments表,但是不会再有。