SQL Server Management Studio不是脚本化所有对象

我一直在尝试使用SQL Server 2005 Management Studio编写数据库脚本。 我无法得到它脚本的一些对象。 它脚本其他,但跳过一些。

我可以提供详细的屏幕截图

  • 正在select的选项
  • 包括所有表格
  • 脚本文件所在的文件夹
  • 该文件夹在编写脚本之前是空的
  • 编写脚本时脚本编写过程说Sucess
  • 目标文件夹不再为空,有一百个左右的脚本文件
  • 一些表格的脚本不在文件夹中。

以前的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. 什么版本的SQL Server?
  2. 你在跑什么样的跑步?
  3. 你如何login到SQL服务器?
  4. 您是否已validation您的帐户是否可以完全访问所有对象?
  5. 你可以使用脚本失败的对象吗? (例如:从nonScriptingTable中selecttop(10)*)

有了更多的信息,我们可以提供一些帮助。

更新1:

你有没有尝试分离你的2000数据库和重新连接到SQL 2005/2008实例,然后提高数据库级别,然后尝试你的脚本?