在SQL Server Management Studio中,右键脚本“修改表”选项被禁用。

76

我想将一个表格以Alter脚本的形式复制到新的查询编辑器窗口,但该选项已被禁用。我该怎么做?


说实话,这些答案都没有真正反映为什么要禁用它,如果根据这个答案集合右键单击列表,可能根本不需要启用它。 - Mark Schultheiss
2
@MarkSchultheiss,说实话他并不是在问为什么它被禁用,而是如何实现他想要的目标。 - VladL
1
@VladL 在这种情况下或许会同意。在我看来,这是SSMS中的UI缺陷,并且由于存在禁用选项而暗示了微软的“未实现承诺”,因为无法真正执行任何ALTER的复杂性,这导致人们试图弄清楚为什么它被禁用。 - Mark Schultheiss
@MarkSchultheiss 这是导致你被踩的原因吗? :) - VladL
1
我认为在SSMS中,ALTER选项从未适用于表。你可以通过以下方式为视图编写ALTER语句。但是,要想修改表,你需要按照被接受的答案中的步骤进行操作。基本上,该选项对于表始终处于禁用状态,但对于某些其他类型的数据库对象则可用。 - tember
4个回答

85

使用SQL Server Management Studio中的"设计"功能来生成ALTER脚本:

  • 右键单击要更改的表并选择"设计".
  • 添加新列,更改字段类型,设置字段是否接受NULL等.
  • 完成后,点击生成更改脚本工具栏按钮(或右键单击任何列或空白处)。该按钮看起来像一个悬浮在卷曲纸张上方的软盘图标。
  • 将结果保存到文本文件中。

根据你在SSMS选项中设置的方式,如果更改需要删除和重新创建表,则可能最初无法使用此功能。要更改此选项,请在“工具”菜单上单击“选项”,展开“设计器”,然后单击“表格和数据库设计师”。选择或清除“防止保存需要重新创建表的更改”复选框。


这个选项“生成更改脚本”在SSMS中一直是灰色的!有什么解决办法吗? - MC9000
@MC9000,“生成更改脚本”功能将不会启用,除非您实际上在设计中进行了更改。 - KWallace

30

1) 在您要更改的表上右键单击,选择“设计”

2) 添加新列,更改字段类型,设置字段是否接受NULL值等

重要提示:现在不要保存更改

3) 在任何列或空白处右键单击,您将看到“生成更改脚本”选项可用。


这个选项“生成更改脚本”在SSMS中一直是灰色的!有什么解决办法吗? - MC9000
1
@MC9000 在你做了一些更改之后才启用它,而不是在之前。 - VladL
不,它是其他问题 - 它被灰掉了,无论如何,不幸的是。我通过使用一个修改表脚本来解决它,从现在开始我都会用这个(GUI 太不稳定了)。 - MC9000

3
在SQL Server Management Studio 2016中,工具栏按钮图标已更改。请查看突出显示的新图标。 生成更改脚本的新图标

0
  1. 在表格设计器中对表格进行未保存的更改后,您可以访问此对话框。在表格设计器菜单上,单击生成更改脚本。

2.每次保存时自动生成更改脚本 如果选中,每次保存表格更改时都会出现“保存更改脚本”对话框。

弹出保存对话框,您可以选择文本文件的位置。

取消创建更改脚本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接