Странное поведение при изменении таблиц или процедур в SQL Server 2008 Management Studio - PullRequest
0 голосов
/ 01 марта 2012

Это странное поведение ...

Всякий раз, когда я пишу определенные таблицы (используя CREATE TO ...) или редактирую хранимые процедуры (используя edit в контекстном меню правой кнопкой мыши), я иногда получаю действительно странные результаты... Например, сценарии большинства таблиц дают мне:

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 Ответ

1 голос
/ 01 марта 2012

В Management Studio перейдите на Tools > Options > SQL Server Object Explorer > Scripting и измените Generate script for dependent objects на false.Ложь - это значение по умолчанию, поэтому вы сделали в какой-то момент попросили об этом.; -)

...