在SQL Server 2008 Management Studio中修改表或过程时出现奇怪的行为

时间:2012-03-01 16:39:13

标签: sql-server-2008 sql-server-2008-r2 ssms

这是一些奇怪的行为......

每当我编写某些表(使用CREATE TO ...)或编辑存储过程(在右键单击上下文菜单中使用modify)时,我有时会得到非常奇怪的结果......例如,编写大多数表格给我:

CREATE TABLE [dbo.].[TableINeverAskedFor]
...

CREATE TABLE [dbo].[TableIWant](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [Name] [nvarchar](128) NOT NULL,
    [ModuleID] [int] NOT NULL,
    [OtherInfo] [int] NOT NULL,
CONSTRAINT [PK_ModuleDefinitions] PRIMARY KEY NONCLUSTERED 

CREATE TABLE [dbo.].[TableINeverAskedFor]
...

ALTER TABLE [dbo].[TableWhichHasNothingToDoWithMyTable] ADD  CONSTRAINT [FK_WhyDoesThisHappen?]  DEFAULT ((0)) FOR [ID]

存储过程更加奇怪...... sotred过程越大,我获得的更改脚本就越多,就像上面那样。这真的很烦人,我担心我会做一些愚蠢的事情,有一天不会注意。

相关信息:

  • 我安装了SQL Server 2008 R2,新安装。
  • 我的店里有一些开发人员遇到类似的问题。
  • 我还有一个SQL Server 2008框(没有R2)做同样的事情。
  • 我的实例更新了SP1,而他们没有。
  • 我们还可以在多个数据库上复制该问题。
  • 我们的生产服务器没有给我们同样的问题。
  • 某些存储过程和表没有此问题,但可以复制相同的存储过程和表。这不是一个随机的问题。
  • 我没有安装插件。

编辑:这并不奇怪......我可以看到它对于表创建很有用。但是编辑存储过程,这对我来说非常困惑。

1 个答案:

答案 0 :(得分:1)

在Management Studio中,转到Tools > Options > SQL Server Object Explorer > Scripting并将Generate script for dependent objects更改为false。 False是默认值,因此 在某些时候要求这样做。 ; - )