我们是一家软件工程公司。我们使用 SQL Server Management Studio (SSMS) 生成构建和升级数据库所需的几个脚本。虽然它做得不错,但它坚持用 [] 包围数据类型让我感到不安。所以列定义将如下所示:
[ID] [INT] IDENTITY(1,1) NOT NULL
虽然这行得通,但我不喜欢它,因为它无法将列名与其在脚本中的类型区分开来。包括语法高亮(一切都只是黑色或您的默认字体颜色)。我想知道是否有人对如何改变这种行为有任何想法。我们只希望输出如下:
[ID] INT IDENTITY(1,1) NOT NULL
根据我们实际编写的脚本数量,目前不能选择购买特定工具。
提前感谢您的帮助,
埃里克。
我不知道任何设置会在 SSMS 中执行此操作。Microsoft 可能这样做是为了在生成脚本时不需要检查数据类型名称中的特殊字符(用户定义的数据类型名称中可能包含任何内容),因此他们只需将所有内容装箱即可。
您可以通过connect.microsoft.com将其作为功能请求提交给工具团队,或者提交给 Mladen 以包含在他的SSMS 工具包中。
这似乎
[]
是内部功能之一。只需在任何真值编辑器中执行宏以将[INT]
,[VARCHAR]
... 替换为[]
更少的版本,或者只是将所有[
和替换]
为空字符。添加:
转到工具 > 选项 > SQL Server 对象资源管理器 > 脚本。
您可以编写自己的脚本(我自己编写了帮助 SQL 脚本,使用
sys.objects
sys.columns
etc...我使用以下脚本的变体来获取字段定义,然后这只是字符串连接的问题(将 SSMS 设置为输出到文本):
所以输出创建表脚本将是: