Sql запретить сохранение изменений требующих повторного создания таблицы: Диалоговое окно «Сохранение (запрещено)» — Visual Database Tools
Содержание
Лабораторная работа №7 (MS SQL Server 2014)
Базы данных | 21 |
|
|
|
|
поскольку мы имеем твердые намерения получить результат немедленно, необходимо снова воспользоваться кнопкой Next.
Рис. 28. В этом окне DTS Import/Export Wizard
«предлагает» не торопиться с выполнением операции импорта и отложить ее до «лучших времен»
На рис. 29 представлено окно с сообщением о том, что вы все сделали совершенно правильно для транспортировки таблиц из одной базы данных в другую. Здесь имеется последняя возможность отказаться от импорта (щелкнуть кнопку Back
или Cancel).
Рис. 29. Если мы по-прежнему готовы к импортированию данных, следует воспользоваться кнопкой Finish
|
|
Бураченок Алексей Леонидович | 21 |
22 | Бураченок Ирина Брониславовна |
|
|
|
|
Если вы по-прежнему готовы к импортированию данных, следует воспользоваться кнопкой Finish и наблюдать за их передачей в окне, отображенном на рис. 30.
Рис. 30. Отображение процесса передачи информации между базами данных
После передачи информации между базами данных «помощник» обязательно сообщает о результатах (в том числе, и ошибках). Далее в окне Microsoft SQL Server Management Studio, выполните команду Update (рис.31).
Рис. 31. Команда Update и ее результат
в окне Microsoft SQL Server Management Studio
|
|
22 | Базы данных |
Базы данных | 23 |
|
|
|
|
Для просмотра, что теперь хранится в той или иной таблице после выполнения операции импорта, щелкните в Console Tree базу данных с именем Фирма, а затем соответствующий ее значок Tables. Далее на Details Pane в списке таблиц найдите таблицу Подразделения, выделите ее (одним щелчком), при помощи правой кнопки мыши вызовите контекстное меню и выберите Open Table | Return all rows. Результат может быть очень похожим на тот, который показан на рис. 32.
Рис. 32. Так может выглядеть таблица Подразделения, импортированная из mdb-файла
5.4. Создание диаграммы базы данных
Если сравнить структуры таблиц файла company.mdb (фирма.mdb) (например, Товары на рис. 14) и созданных при импорте в Microsoft SQL Server (Товары на рис. 33), то можно заметить, что была перенесена не вся необходимая информация. Па меньшей мере, в новой таблице нет первичного ключа (рис. 34).
Рис. 33. Таблица Товары файла company.mdb (фирма.mdb)
– файл-источник для импорта
|
|
Бураченок Алексей Леонидович | 23 |
24 | Бураченок Ирина Брониславовна | |
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 34. Таблица Товары, импортированная на SQL Server
из файла company.mdb
Понятно, что в базу на сервер не могла попасть и схема связей между таблицами mdb-файла. Но такую схему можно построить при помощи инструмента
Diagrams в Microsoft SQL Server Management Studio.
Выделите на «дереве» базы Фирма значок Diagrams, вызовите контекстной меню и выберите New Database Diagram (рис. 35).
Рис. 35. Выделите на «дереве» базы Фирма значок Diagrams, вызовите контекстное меню и выберите New Database Diagram
В появившемся окне (рис. 36) из списка указать все пользовательские
таблицы.
Рис. 36. Из предложенного списка Tables to add to diagram указать пользовательские таблицы
|
|
24 | Базы данных |
Базы данных | 25 |
|
|
|
|
С таким (или почти с таким) окном вы могли работать в Microsoft Access при создании схемы связей между таблицами, т. е. при аналогичной операции.
На рис. 37 представлены таблицы базы данных Фирма, конечно, упорядоченные вручную так же, как это выполняется в Microsoft Access.
Рис. 37. Таблицы базы данных Фирма, упорядоченные вручную
Поскольку при импорте таблиц не были перенесены даже первичные ключи, нам необходимо сначала установить их (прямо на диаграмме), а затем заняться связями между таблицами. Для определения первичного ключа выделите соответствующее поле в таблице, например, КодТовара в таблице Товары, и щелкните кнопку Set primary key в контекстном меню или представьте таблицу Товары в одном из представленных вариантов (рис. 38). Для выбранной таблицы указать одно из возможных представлений:
Standard, Column Names, Keys, Name Only, Custom, Modify Custom.
Рис. 38. Для определения первичного ключа можно использовать кнопку Set primary key
|
|
Бураченок Алексей Леонидович | 25 |
26 | Бураченок Ирина Брониславовна |
|
|
|
|
На рис. 39 в таблицах определены все необходимые первичные ключи. (Обратите внимание на символ звездочки, которым помечены таблицы с измененными структурами. После сохранения изменений звездочка исчезнет.) Теперь можно установить связи между таблицами. Эта операция выполняется так же, как и в Microsoft Access: выделите первичный ключ на объектной таблице и, не отпуская кнопку мыши, переместите курсор мыши на соответствующее поле связной таблицы, а затем отпустите кнопку мыши.
Рис. 39. В таблицах определены все необходимые первичные ключи
В диалоговом окне Create Relationship при «первой встрече» можно ничего не делать, кроме щелчка на кнопке ОК (см. рис. 40).
Рис. 40. В этом диалоговом окне при «первой встрече» можно ничего не делать, кроме щелчка на кнопке ОК
|
|
26 | Базы данных |
Базы данных | 27 |
|
|
|
|
На рис. 41 показана вся диаграмма, которую необходимо было получить. Пока она не имеет только собственного наименования.
Рис. 41. Диаграмма, которую необходимо было получить
Для присвоения построенной диаграмме наименования следует щелкнуть кнопку Save и в окне Save as (рис. 40) ввести это наименование или оставить то, которое предлагается по умолчанию.
Рис. 42. Введите наименование диаграммы или оставьте то, которое предлагается по умолчанию
Поскольку при построении диаграммы нам пришлось еще изменять структуру некоторых файлов (добавляя первичные ключи), то система обязательно напомнит об этом для того, чтобы мы подтвердили свои изменения.
Теперь к базе данных добавился еще один объект – диаграмма. Поэтому, если на «дереве» базы данных Фирма щелкнуть значок Diagrams, то на Details Pane можно будет увидеть значок и наименование DIAGRAM_1 (рис. 43).
Рис. 43. Отображение в базы данных Фирма созданной диаграммы с наименованием DIAGRAM_1
Остается добавить, что при работе с диаграммой можно не только изменять структуру таблиц, но и создавать новые таблицы, однако необходимо предусмотреть возможность сохранения изменений, требующих повторного создания таблиц в окне
Options (рис. 44).
|
|
Бураченок Алексей Леонидович | 27 |
28 | Бураченок Ирина Брониславовна | |
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 44. Снятие запрета сохранения изменения, требующих повторного создания таблиц
Продемонстрируйте Вашу работу преподавателю!
КОНТРОЛЬНЫЕ ВОПРОСЫ:
1.Расскажите, что вы знаете о СУБД типа клиент/сервер SQL Server?
2.Какие возможности предоставляет СУБД типа клиент/сервер SQL Server?
3.Что представляет собой физическая реализация базы данных в SQL Server?
4.Перечислите системные (встроенные) базы SQL Server.
5.Назовите объекты, в которых располагаются системные и пользовательские базы данных в SQL Server. Охарактеризуйте эти объекты.
6.Какие возможности предоставляет для работы с базами данных Microsoft SQL Server Management Studio?
7.Перечислите основные этапы работы с SQL Server.
8.Как создать базу данных при помощи Microsoft SQL Server Management Studio?
9.Как осуществить импортирование таблиц в SQL Server из Microsoft Access?
10.Расскажите о процессе создания диаграмм баз данных в SQL Server.
|
|
28 | Базы данных |
db_lab_07_of_12_ivt-4
Лабораторная работа №7
Ознакомление с утилитой SSMS и создание базы данных в СУБД MS SQL Server
Цель: работы: получить навыки создания баз данных с использованием утилиты SQL Server Management Studio (SSMS), работы с представлениями, хранимыми процедурами, функциями и триггерами в MS SQL Server.
Для получения теоретических сведений настоятельно рекомендуется при домашней подготовке изучить материалы по тематике лабораторной работы, представленные в открытых источниках, а также в файле SSMS 2008.pdf.
Далее следует краткий конспект теоретического материала.
Теоретические сведения
Создание базы данных
Для создания базы данных в MS SQL Server пользователю должны быть предоставлены соответствующие права на уровне всего сервера, например, Посредством назначения пользователю так называемой серверной роли DBCREATOR.
При использовании утилиты SSMS база данных создается в окне обозревателя объектов выбором из контекстного меню узла Databases команды New Database. После активизации одноименного окна в поле Database Name необходимо набрать имя базы данных и затем нажать кнопку ОК.
Описание структуры таблиц и связей между ними
Схема проектируемой БД задается описанием структуры отдельных таблиц. Наличие связей между таблицами определяет порядок, в котором описываются структуры таблиц.
Описание структуры таблиц, входящих в создаваемую базу данных, начинается с выбора в окне обозревателя объектов узла Tables, соответствующего этой базе, и вызова контекстного меню выбранного узла. Команда New Table, содержащаяся в контекстном меню, активизирует окно конструктора таблиц (рис.1), в котором описывается структура таблицы.
Рисунок 1. Окно конструктора таблиц
Для каждого столбца таблицы указывается его имя (графа Column Name), тип данных (графа Data Type) и разрешение или запрет неопределенных значений (графа Allow Nulls).
В области Column Properties задается значение по умолчанию, а также можно задать возможность получения автоинкрементальных значений для столбца, указав в разделе Identity Specification начальное значение Identity Seed и шаг Identity Increment.
Принадлежность столбца (атрибута) первичному ключу задается указанием столбца и выбором команды Set Primary Key из контекстного меню или нажатием одноименной кнопки (с пиктограммой в виде ключа) на панели инструментов конструктора таблиц. Если первичный ключ состоит из нескольких столбцов, то перед выбором команды Set Primary Key все столбцы, входящие в первичный ключ, должны быть указаны мышью при нажатой клавише Ctrl.
Для исключения столбца из первичного ключа служит команда контекстного меню Remove
Primary Key.
Для указания допустимых значений, хранящихся в столбце, предназначена команда Check Constraints (Проверочные ограничения) контекстного меню конструктора таблиц, активизирующая одноименное окно (рис.2), в котором задаются условия, проверяемые при добавлении или изменении данных. Данные, для которых условие истинно, сохраняются в таблице.
Рисунок 2. Окно, содержащее список ограничений целостности
Новое условие добавляется нажатием кнопки Add (Добавить) и задается в поле Expression (Выражение) раздела General (Общие), например: Skv>=0. Условиям присваиваются имена, задаваемые в поле Name (Имя) раздела Identity (Идентификация), а в поле Description (Описание) записываются словесные формулировки условий. Поскольку при вводе данных, не соответствующих условию, СУБД выводит в сообщении об ошибке имя нарушенного условия, то желательно, чтобы имя условия отражало связь условия с таблицей и столбцом (столбцами).
Имя создаваемой таблицы задается в поле Name раздела Identity, расположенного в окне свойств (см. рис. 1).
Структура создаваемой таблицы сохраняется либо командой главного меню утилиты File | Save…, либо командой Save… контекстного меню, либо нажатием соответствующей кнопки на панели инструментов утилиты.
Для изменения структуры сохраненной таблицы следует в окне обозревателя объектов выбрать команду Design из контекстного меню этой таблицы, чтобы активизировать окно конструктора таблиц. Добавление или удаление столбцов таблицы осуществляется командой Insert Column или Delete Column контекстного меню конструктора таблиц.
Если при сохранении измененной структуры таблицы появляется сообщение о невозможности выполнить сохранение и предлагается удалить таблицу и повторно ее создать, то следует задать режим работы утилиты SSMS, разрешающий сохранение изменений, выбрав в главном меню утилиты команду Tools | Options, а в дереве параметров — узел Designers | Table and DB Designers и сняв флаг для параметра Prevent Saving Changes.
Кроме того, в области Column Properties для идентифицирующего атрибута в разделе Identity Specification свойство Is Identified следует задать равным Yes, чтобы установить начальное значение Identity Seed и приращение Identity Increment для атрибута.
Для описания связи подчиненной таблицы с главной таблицей следует в окне конструктора таблиц (рис. 3), в котором отображается структура подчиненной таблицы, командой контекстного меню Relationships (Отношения) активизировать окно со списком внешних ключей (рис. 4) и
приступить к созданию внешнего ключа, нажав последовательно кнопку Add (Добавить) и кнопку с многоточием в поле Tables And Columns Specification (Спецификация таблиц и столбцов), расположенном в разделе General (Общие).
Рисунок 3. Окно конструктора таблиц со структурой подчиненной таблицы и командами контекстного меню
Рисунок 4. Окно со списком внешних ключей подчиненной таблицы
Рисунок 5. Описание связи главной и подчиненной таблиц
В результате появляется окно, в котором задается соответствие между первичным ключом главной таблицы и внешним ключом подчиненной таблицы (рис. 5). С правой стороны окна расположен список главных таблиц и список их столбцов.
После выполнения нужных установок следует в поле Name раздела Identity задать имя ограничения ссылочной целостности и нажать кнопку OK.
Чтобы создать вторичный индекс по атрибуту нужно в контекстном меню конструктора таблиц (см. рис.3) выбрать команду Indexes/Keys (Индексы и ключи) и после появления одноименного окна со списком индексов и ключей таблицы нажать кнопку Add или ДОБАВИТЬ (рис.6).
Рисунок 6. Окно со списком индексов и ключей таблицы
Затем в поле Name раздела Identity следует ввести имя вторичного индекса и в поле Columns раздела General нажать кнопку с многоточием, чтобы в открывшемся окне задать индексный ключ и порядок сортировки его значений в индексе.
После описания структуры таблиц можно проверить правильность установленных связей главных таблиц с подчиненными таблицами, построив диаграмму созданной базы данных. Для этого нужно в окне обозревателя объектов из контекстного меню узла Database Diagram командой New Database Diagram вызвать окно со списком таблиц базы данных, кнопкой Add добавить все таблицы в диаграмму и нажать кнопку Close. (Если при выборе команды New Database Diagram утилита предложит установить поддержку диаграмм для базы данных, то нужно принять это предложение).
Рисунок 7. Окно с диаграммой базы данных
Для каждой таблицы в диаграмме можно задать желаемое представление (рис. 7), указав его с помощью команды Table View (Представление таблицы) контекстного меню выбранной таблицы: стандартное со списком имен столбцов, их типов и признаков разрешения (или запрета) неопределенных значений.
Выделяя на диаграмме таблицу, столбец или связь таблиц, можно в окне свойств проверить или задать свойства выделенного элемента диаграммы.
После проверки связей таблиц окно закрывается нажатием кнопки с крестиком. На запрос о сохранении изменений следует ответить утвердительно и затем задать имя диаграмме.
Описание структуры таблиц в окне Database Diagram
Окно с диаграммой базы данных можно использовать не только для просмотра связей таблиц и свойств объектов базы данных, заданных с помощью конструктора таблиц, но и для создания новых таблиц и связей между ними.
Новая таблица создается командой главного меню утилиты Database Diagram | New Table или командой New Table контекстного меню, появляющегося при щелчке мышью в свободной области диаграммы. При создании таблицы запрашивается ее имя, а стандартное представление создаваемой таблицы позволяет описать структуру таблицы так же, как в конструкторе таблиц. Свойства столбца таблицы задаются в окне свойств (см. рис. 7).
Другие действия по описанию структуры таблиц и связей между ними выполняются с использованием тех же команд контекстного меню таблиц или кнопок панели инструментов, которые предусмотрены в конструкторе таблиц. Однако проще связь таблиц задать, выделив мышью в подчиненной таблице столбец (столбцы) внешнего ключа и переместив (при нажатой левой кнопке мыши) курсор, помеченный плюсом, в область главной таблицы. При этом откроется окно, аналогичное показанному на рис.5, для записи имени связи и проверки соответствия первичного и внешнего ключей. После нажатия кнопки ОК активизируется окно, аналогичное показанному на рис. 4, со списком внешних ключей.
Все изменения, сделанные в окне с диаграммой (добавление или удаление таблиц и столбцов, изменение свойств, установка связей, первичных ключей, индексов и т.д.), при сохранении диаграммы будут запоминаться в базе данных.
Ввод информации в таблицы базы данных
После создания таблиц базы данных в них заносится информация, для чего можно воспользоваться командой Edit… из контекстного меню таблицы, в которую будет вводиться информация. При этом открывается окно конструктора запросов с областью результатов (рис.8).
Новые данные набираются в строке, помеченной звездочкой. Для перемещения по строкам таблицы предназначены кнопки навигатора, расположенные в нижней части окна. Ранее введенные данные доступны для изменений, а изменения сохраняются при переходе в другую строку таблицы.
При первоначальном вводе данных переход к вводу следующей строки осуществляется нажатием клавиши со стрелкой вниз.
Рисунок 8. Окно ввода информации в таблицу
Лабораторные задания
1. Открыть утилиту SSMS и осуществить вход под именем администратора.
2.Используя вкладку «Безопасность», создать нового пользователя (выставить роль, предлагаемую по умолчанию, т.е. «public», а также «dbcreator» — для получения прав на создание баз данных), аутентификацию назначить средствами SQL-Server, и осуществить вход под именем нового пользователя.
3.Сформировать на языке SQL запросы для создания и заполнения данными БД, аналогичной той, которую Вы создавали на Л.р. №2 (созданная БД обязательно должна содержать проверочные ограничения). Сформированные запросы сохранить в Отчет.
4.С помощью сформированных запросов создать базу данных в СУБД MS SQL Server. Процесс создания БД задокументировать в Отчете.
Здесь необходимо отметить, что существует возможность экспорта БД из Access в SQL Server, что, несомненно, (в качестве бонусного задания) Вам рекомендуется попробовать, но уже после создания БД вручную и сдачи основной части этой Л.р.
5.Создать запросы на удаление БД, и проверить их.
6.Повторно выполнить запросы на создание БД и заполнение ее данными.
7.Определить, работают ли установленные отграничения, заполнив БД данными. Результаты проверки занести в Отчет.
Подсказка: чтобы процесс работы с БД был более удобным, в главном меню утилиты SSMS
выберите: Сервис –> Параметры…, далее в окне «Параметры» в пункте «Конструкторы» снимите галочку «Запретить сохранение изменений, требующих повторного создания таблицы» (см. рис. 9 и 10).
8. Создать резервную копию базы данных, и перенести её образ на внешний диск. (см. Приложение и рис. 11-15).
9.Восстановить образ из резервной копии в новую БД (см. Приложение и рис. 16-25).
10.Повторно осуществив вход под именем администратора, изменить роли созданной Вами учетной записи и попытаться определить различие между ролями посредствам работы с БД.
Требования к сдаче работы
1.Продемонстрировать отчет о выполнении лабораторной работы.
2.Ответить на контрольные вопросы и выполнить дополнительные задания, демонстрирующие полученные знания.
Приложение
Порядок создания полной резервной копии и восстановления БД
Рисунок 9
Рисунок 10
Рисунок 11
Щелкните к правой кнопкой по названию БД, далее в выпадающем меню выберите:
Задачи -> Создать резервную копию…
Рисунок 12
В открывшемся окне резервного копирования базы данных на странице «Общие» в области «Назначение» нажмите кнопку «Добавить…»
Рисунок 13
В открывшемся окне «Выбор места расположения резервной копии» укажите путь к файлу сохранения резервной копии. Далее: ОК -> ОК -> ОК.
Рисунок 14
Рисунок 15
После чего, созданный файл с расширением *.bak будет хранить полную копию БД.
В случае необходимости восстановления БД в новое место расположения, например, на другом сервере необходимо выполнить следующие действия (при этом на новом сервере для выполнения данных действий может потребоваться выполнять их от имени пользователя с тем же именем входа и набором ролей):
-щелкнуть правой кнопкой мши по имени БД, в которую нужно восстановить имеющуюся резервную копию;
-выбрать в появившемся выпадающем меню: Задачи -> Восстановить -> База данных. ..
Рисунок 16
В открывшемся окне «Восстановление базы данных» на странице «Общие», укажите базу данных назначения, далее выберите пункт «Устройство» и нажмите кнопку «…»
Рисунок 17
Ошибка Сохранение изменений не разрешено в SQL Server Management Studio
Автор: Atif Shehzad |
Обновлено: 19 сентября 2022 г. |
Комментарии (1) | Связанный: > SQL Server Management Studio
Проблема
При работе в SQL Server Management Studio (SSMS) я получил предупреждающее сообщение при попытке сохранить изменения в таблице.
Сообщение было «сохранение изменений
не разрешено». После предупреждающего сообщения внесенные мной изменения были свернуты
назад. У меня есть соответствующие разрешения для реализации таких операций DDL в этой таблице,
так как я могу контролировать это ограничение и каковы плюсы и минусы, связанные
с этим разрешением?
Решение
Соответствующее сообщение показано ниже и
Я получил это сообщение, когда попытался изменить параметр «Разрешить пустые значения» для столбца [GroupName].
таблицы
было сгенерировано предупреждение.
Сохранение изменений
не разрешено. Для внесенных вами изменений требуются следующие таблицы
быть отброшенным и созданным заново. Вы либо внесли изменения в таблицу
которые нельзя создать заново или включить параметр Запретить сохранение изменений
которые требуют пересоздания таблицы.
У меня есть соответствующие разрешения для операторов DDL в этой таблице и
на таблице нет блокировок, которые должны препятствовать ее воссозданию. Так что единственный
другая причина может быть связана с частью сообщения «» или включенной опцией
Запретить сохранение изменений, требующих пересоздания таблицы «.
Итак, давайте перейдем к этой опции, а затем пройдемся по списку
некоторые сценарии, когда требуется повторное создание таблицы, а также тип потенциального
угрозы, связанные с внесением таких изменений через SSMS
- В меню выберите «Инструменты», а затем «Параметры. ..»
- Нажмите вкладку «Дизайнеры» на левой панели фрейма
Отмеченный выше параметр — это тот, который при установке флажка предотвращает любые изменения в SSMS.
это требует пересоздания таблицы. По умолчанию этот параметр отмечен. Вы можете снять флажок
это позволяет вам вносить любые изменения через SSMS, которые требуют повторного создания таблицы.
После того, как эта опция будет снята, вы даже не получите предупреждающее сообщение об изменениях.
которые требуют повторного создания таблицы, и ваши изменения будут реализованы.
Некоторые из сценариев, в которых требуется повторное создание таблицы:
- Изменение типа данных столбца
- Вставка столбца в любом месте перед последним столбцом таблицы
- Изменение выражения вычисляемого столбца для вычисляемого столбца
- Изменение свойства постоянства вычисляемого столбца
- Изменение свойства идентификатора столбца
- Изменение свойства NULL столбца
- Изменение порядка столбцов в таблице
Важно понимать, что могут быть последствия, связанные
с внесением таких изменений через SSMS. Microsoft настоятельно рекомендует не включать
от этой опции. Вы можете столкнуться с потерей некоторой информации, связанной с этим
таблица или даже потеря данных в определенных условиях. В качестве примера потери ассоциированного
информация Служба поддержки Майкрософт упоминает данные отслеживания изменений, связанные с таблицей
если функция отслеживания изменений для таблицы включена. Также, если стол занимает большое
объем данных, то повторное создание таблицы может привести к тайм-ауту операции, и это
может не завершиться.
Имейте в виду, что будет создана новая таблица, данные будут перемещены в новую таблицу и
старая таблица будет удалена.
Вот простой пример таблицы с именем «Таблица_1», в которой есть один столбец.
«компания». Мы добавим новый столбец с именем «адрес» и поместим его перед
столбец «Компания».
Приведенный ниже сценарий создан из SSMS:
- Создана новая таблица «Tmp_Table_1» с правильными столбцами и порядком.
- Данные из «Table_1» перемещены в «Tmp_Table_1».
- Таблица «Таблица_1» удалена.
- Таблица «Tmp_Table_1» переименована в «Table_1».
/* Во избежание возможных проблем с потерей данных следует подробно изучить этот скрипт, прежде чем запускать его вне контекста конструктора баз данных.*/ НАЧАТЬ СДЕЛКУ УСТАНОВИТЕ QUOTED_IDENTIFIER НА ВКЛЮЧИТЕ АРИТАБОРТ ВЫКЛЮЧИТЬ NUMERIC_ROUNDABORT УСТАНОВИТЕ CONCAT_NULL_YIELDS_NULL НА УСТАНОВИТЕ ANSI_NULLS ВКЛ. ВКЛЮЧИТЕ ANSI_PADDING ВКЛЮЧИТЕ ANSI_WARNINGS СОВЕРШИТЬ НАЧАТЬ СДЕЛКУ ИДТИ СОЗДАТЬ ТАБЛИЦУ dbo.Tmp_Table_1 ( адрес varchar(50) NULL, компания varchar(50) NULL ) НА [ПЕРВИЧНОМ] ИДТИ ИЗМЕНИТЬ ТАБЛИЦУ dbo.Tmp_Table_1 SET (LOCK_ESCALATION = TABLE) ИДТИ ЕСЛИ СУЩЕСТВУЕТ (ВЫБЕРИТЕ * ИЗ dbo.Table_1) EXEC('ВСТАВИТЬ В dbo.Tmp_Table_1 (компания) ВЫБЕРИТЕ компанию ИЗ dbo.Table_1 С (HOLDLOCK TABLOCKX)') ИДТИ УДАЛИТЬ ТАБЛИЦУ dbo.Table_1 ИДТИ ВЫПОЛНИТЬ sp_rename N'dbo.Tmp_Table_1', N'Table_1', 'ОБЪЕКТ' ИДТИ СОВЕРШИТЬ
Следующие шаги
Принимая во внимание рекомендацию Microsoft сохранить этот параметр
включен, но могут быть некоторые условия, при которых вы можете снять флажок, чтобы легко
работа с дизайнерами SSMS. Этими условиями могут быть:
- Вы работаете в тестовой среде
- Требуются некоторые операции, которые невозможно выполнить с помощью T-SQL. Например
вставка нового столбца в середине других столбцов. В таких случаях правильно проанализируйте
таблицу на предмет любых проблем/потерь в результате пересоздания таблицы. - Вы уверены, что нет связанных данных, таких как данные отслеживания изменений, связанные
с любой из ваших таблиц - Вы уверены, что аппаратное обеспечение вполне способно избежать операций тайм-аута
Об авторе
Атиф Шехзад — страстный администратор базы данных SQL Server, технический обозреватель и автор статей.
Посмотреть все мои советы
Последнее обновление статьи: 19 сентября 2022 г.
Сохранение изменений не разрешено SQL Server
Оставить комментарий
/ Ошибки, Microsoft SQL Server, SQL Server 2005, SQL Server 2008, SQL Server 2012, Ошибка SQL Server
В SQL Server 2012 я получил « Сохранение изменений не разрешено »
Внесенные вами изменения требуют удаления и повторного создания следующих таблиц. Вы либо внесли изменения в таблицу, которую нельзя создать повторно, либо включили параметр Запретить сохранение изменений, требующих повторного создания таблицы
, когда я пытался изменить тип данных столбца в таблице, затем нажмите кнопку «Сохранить», чтобы сохранить изменения в SQL Management Studio.
Сохранение изменений не разрешено SQL Server
В SQL Server Management Studio по умолчанию вы не можете изменить тип данных столбца после создания таблицы, поскольку такое изменение требует повторного создания таблицы.
Сохранение изменений не разрешено SQL Server
Запретить сохранение изменений, требующих повторного создания таблицы
Чтобы разрешить сохранение изменений, требующих повторного создания таблицы, выполните указанные ниже шаги:
- Откройте SQL Server Management Studio.
- В строке меню нажмите Меню инструментов > Параметры.
- С правой стороны щелкните Дизайнеры > Дизайнер таблиц и баз данных.
- Снимите флажок «Запретить сохранение изменений, требующих повторного создания таблицы» .
- Нажмите «ОК», чтобы сохранить изменения.
- Вернитесь к редактированию таблицы в режиме разработки, которая должна быть успешно сохранена без предупреждения «Сохранение изменений не разрешено SQL Server».
Заключение
В заключение мы узнали, как разрешить сохранение изменений, требующих повторного создания таблицы в SQL Server Management Studio.
Применяется к
- SQL Server 2016.
- SQL Server 2014.
- SQL Server 2012.
- SQL Server 2008.
Вы также можете хотелось бы прочитать
- Как установить SQL Server 2019 Developer Edition.
- Продлить ознакомительный период SQL Server: истек срок ознакомительного периода SQL Server.
- SSMS 2012: служба Microsoft.SqlServer.Management.IRegistrationService не найдена.
Поиск
Последние сообщения
Архив
Выбрать месяц Апрель 2023 Март 2023 Февраль 2023 Январь 2023 Декабрь 2022 Ноябрь 2022 Октябрь 2022 Сентябрь 2022 Август 2022 Июнь 2022 Апрель 2021 Январь 2021 Декабрь 2020 Ноябрь 2020 Сентябрь 2020 Август 2020 Июль 2020 Июнь 2020 Май 2020 Апрель 2020 Март 2020 Февраль 2020 Январь 2020 Декабрь 2019Ноябрь 2019 Октябрь 2019 Июнь 2019 Май 2019 Апрель 2019 Март 2019 Февраль 2019 Январь 2019 Ноябрь 2018 Октябрь 2018 Сентябрь 2018 Август 2018 Май 2018 Апрель 2018 Март 2018 Февраль 2018 Январь 2018 Декабрь 2017 Ноябрь 2017 Октябрь 2017 Сентябрь 2017 г.