我一直在尝试使用SQL Server 2005 Management Studio编写数据库脚本。 我无法得到它脚本的一些对象。 它脚本其他,但跳过一些。
我可以提供详细的屏幕截图
以前的SSMS不会编写一些视图。
这是一个已知的事情,生成脚本任务不生成脚本?
Microsoft Connect上的已知问题,但微软无法重复步骤,所以他们closures了票。
在SQL Server 2005上失败,在SQL Server 2008上也失败。
一些基本问题:
1.什么版本的SQL Server?
Microsoft SQL Server 2000 - 8.00.194 (Intel X86) Microsoft SQL Server 2005 - 9.00.3042.00 (Intel X86) Microsoft SQL Server 2008 - 10.0.2531.0 (Intel X86) Microsoft SQL Server 2008 - 10.0.5768.0 (X64) Microsoft SQL Server 2005 Management Studio: 9.00.4035.00 Microsoft SQL Server 2008 Management Studio: 10.0.1600.22
你运行什么操作?
Windows Server 2000 Windows Server 2003 Windows Server 2008 Windows Server 2008 R2 Standard
3.你如何login到SQL服务器?
sa/password Trusted authentication
4.您是否已validation您的帐户是否可以完全访问所有对象?
Yes, i have access to all objects.
5.你可以使用脚本失败的对象吗? (例如:从nonScriptingTable中selecttop(10)*)
Yes, all objects work fine. SQL Server Enterprise Manager can script the objects fine.
无论脚本使用哪种版本的SQL Server,它们都会失败。 这在企业pipe理器中不是问题:
Client Tools SQL Server 2000 SQL Server 2005 SQL Server 2008 ============ =============== =============== =============== 2000 Yes n/an/a 2005 No No No 2008 No No No
在数据库中没有发现错误使用:
DBCC CHECKDB go DBCC CHECKCONSTRAINTS go DBCC CHECKFILEGROUP go DBCC CHECKIDENT go DBCC CHECKCATALOG go EXECUTE sp_msforeachtable 'DBCC CHECKTABLE (''?'')'
如果你讨厌SSMS,请致电
更新 (四年后): 恭喜!
我编写了一个命令行实用程序来通过SMO编写所有MSSQL对象的脚本。
知道它是否pipe理脚本的所有对象将是有趣的。 如果该工具对单个对象失败,则将SMOexception写入stderr。
我从来没有遇到过这个问题。
一些基本问题:
有了更多的信息,我们可以提供一些帮助。
更新1:
你有没有尝试分离你的2000数据库和重新连接到SQL 2005/2008实例,然后提高数据库级别,然后尝试你的脚本?