在编写数据库中所有对象的脚本后,SQL Server Management Studio 陷入停滞状态。但它并没有编写数据库中所有对象的脚本。
我使用 SQL Server Management Studio 编写了 SQL Server 2008 数据库中所有对象的脚本(三次):
它说它编写了所有对象的脚本,但实际上它从未完成 - 卡在那里:
它确实能够编写脚本三对象:
但并非所有物体。
你会注意到:
- UI 显示已成功编写所有 189 个对象的脚本
- 用户界面卡住;“关闭”按钮被禁用
- 包含“成功”编写的数据库对象的文件夹不包含所有成功编写的数据库对象。
这引出了一个问题:
如何在 SSMS 中编写 SQL Server 2008 数据库对象的脚本?
更新:它可以编写任何VIEW
、STORED PROCEDURE
或 的脚本FUNCTION
,没有任何问题。但如果我选择只编写第一个表的脚本,则会失败:
如果我编写表格脚本也会失败:
A
-M
O
-Z
A
-G
这个永无止境的错误是我们四年前购买 SQL Compare 的原因;你不能相信微软的工具能够正确地编写数据库脚本(默默地省略表)。
更新:脚本选项
以下是正在使用的脚本选项集
- ANSI 填充:True
- 附加到文件:False
- 出现错误时继续编写脚本:False
- 将 UDDT 转换为基类型:False
- 为依赖对象生成脚本:False
- 包含描述性标题:True
- 如果不存在则包含:False
- 包含系统约束名称:False
- 架构限定对象名称。: True
- 脚本绑定:False
- 脚本排序规则:True
- 脚本创建:True
- 脚本默认值:True
- 脚本删除:False
- 脚本扩展属性:True
- 服务器版本脚本:SQL Server 2008
- 脚本登录:错误
- 脚本对象级权限:False
- 脚本统计:脚本统计
- 脚本使用数据库:True
- 脚本更改跟踪:错误
- 脚本检查约束:True
- 脚本数据:错误
- 脚本数据压缩选项:False
- 脚本外键:True
- 脚本全文索引:True
- 脚本索引:True
- 脚本主键:True
- 脚本触发器:True
- 脚本唯一键:True
- 我四年前提出的相关问题:SQL Server Management Studio 未编写所有对象的脚本