【发布时间】:2015-06-19 00:54:01
【问题描述】:
我有一个奇怪的问题
当我从 Sql Server 2008 创建对象脚本(删除和创建存储过程、视图、函数的脚本)时,它错过了 3 个不知道为什么的视图?
我正在执行以下步骤来创建对象脚本
1) 打开 Sql Server 2008 Management Studio 2) 连接到服务器 3) 右键单击选定的数据库,然后单击任务-> 生成脚本,然后从列表中选择数据库,单击下一步。 4) 它提供了选项 我正在更改三个选项,即 Include If Not Exists = true、Script Drop = true、Script Use Database = false 和 clicing Next 按钮 4) 现在选择 SP, Views and Functions 并点击 Next, 5)点击全选为所有即将到来的屏幕 6) 最后点击完成按钮。
是否有任何限制或特殊条件或约定我未遵循并导致视图未包含在生成脚本中?
如果我遗漏了什么,请告诉我,我已经尝试了很多方法。
我还发现这个问题不仅存在于视图中,也存在于函数和存储过程中。
如果我们重命名它们,它就可以正常工作,例如之前名为 dbo.SeperateElementsInt 的函数可以正常工作,但奇怪的是,生成脚本忽略了这个函数,后来我们将它重命名为 dbo.SeperateElementsInteger 并开始生成脚本。
我们无法更改视图名称,因为它在许多地方使用。
出现问题的视图是 dbo.DivisionInfo 和 dbo.CustomerDivisonOfficeInfo 出现问题的存储过程是 dbo.procsync_get_zVariable
SSMS 2005 也存在问题。
谢谢
【问题讨论】:
-
您可以通过右键单击对象资源管理器中的视图并选择脚本视图为来编写脚本吗?
-
是的,只有当我们“全选”视图时才会出现问题,如果您选择包括它们在内的 10-15 个视图,则会生成脚本
-
不幸的是,除了打开分析器并查看为什么 SSMS 看不到这些视图之外,我没有其他想法?在某一时刻,它必须查询 INFORMATION_SCHEMA 或其他一些系统对象来获取视图列表。还有一件事:当您在生成脚本时选择全部时,检查这 3 个视图是否显示在列表中。
-
视图信息在 INFORMATION_SCHEMA 中可用,当我在生成脚本时选择全部时,这些视图也在列表中可用。
-
我还发现这个问题不仅存在于视图中,也存在于函数和存储过程中。如果我们重命名它们就可以正常工作,例如之前名为 dbo.SeperateElementsInt 的函数工作正常,但奇怪的是,生成脚本忽略了这个函数,后来我们将它重命名为 dbo.SeperateElementsInteger 并开始生成脚本。我们无法更改视图名称,因为它在许多地方使用。出现问题的视图是 dbo.DivisionInfo 和 dbo.CustomerDivisonOfficeInfo StoredProcedure 出现问题的是 dbo.procsync_get_zVariable
标签: stored-procedures ssms sql-server-2008