Я не уверен, почему он (Автогенерация сценариев изменения) все еще отключен для вас.Я сделал, как показано ниже, и я могу создать скрипт изменения.
В SQL Server Management Studio (SSMS) есть опция для автоматического создания скриптов для ваших изменений, выполненных через графический интерфейс.но по умолчанию эта опция у нас будет отключена.
Чтобы включить параметр:
From the SSMS menus click on "Tools"
Click on "Options..."
Click on "Designers"
Check the checkbox "Auto generate change scripts" as highlighted below
После установки указанного флажка SSMS теперь может генерировать сценарии для создания и / или изменения любой таблицы, когдаВы используете конструктор.
Тестирование этого:
Давайте подтвердим генерацию сценария для создания новой таблицы.
- В SSMS выберите базу данных и разверните дерево
- Щелкните правой кнопкой мыши папку таблиц внутри и выберите «Новая таблица».
- Появится дизайнер для создания новой таблицы.
- Создайте один столбец для этой таблицы. Я создал столбец с именем TestCol1 как nchar (10)
- Сохраните новую таблицу, присвойте таблице имя и нажмите OK
- Появится другое окно, которое включает в себя фактический скрипт для создания этой новой таблицы, как показано ниже:
Пример:
Нажмите «Да», чтобы сохранить сценарий, и вам будет предложено указать местоположение.* Имя файла по умолчанию будет именем таблицы, например «tableName.sql», но его можно изменить на что угодно.
Чтобы предотвратить возможные проблемы потери данныхВы должны подробно изучить этот сценарий, прежде чем запускать его вне контекста конструктора базы данных.
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
GO
ALTER TABLE dbo.Table_1 SET (LOCK_ESCALATION = TABLE)
GO
COMMIT
select Has_Perms_By_Name(N'dbo.Table_1', 'Object', 'ALTER') as ALT_Per, Has_Perms_By_Name(N'dbo.Table_1', 'Object', 'VIEW DEFINITION') as View_def_Per, Has_Perms_By_Name(N'dbo.Table_1', 'Object', 'CONTROL') as Contr_Per
Если вы не хотите сохранять сценарий, тонажмите «Нет», нажав «Нет», вы не сможете откатить внесенные изменения, но скрипт не будет сохранен.