Отключение проверочных ограничений для репликации
Отключить проверочные ограничения в SQL Server 2012 можно при помощи среды Среда SQL Server Management Studio или Transact-SQL. Также можно явно отключить проверочные ограничения при репликации, что может оказаться полезным при публикации данных от более ранней версии SQL Server.
Примечание |
---|
Если таблица опубликована с использованием репликации, то проверочные ограничения для операций, выполняемых агентами репликации, автоматически отключаются. Когда агент репликации на подписчике выполняет вставку, обновление или удаление, ограничение не проверяется. Если эту же операцию выполняет пользователь, ограничение проверяется. Ограничение отключено для агента репликации по той причине, что оно уже проверено на издателе при выполнении исходной операции вставки, обновления или удаления данных. Дополнительные сведения см. в разделе Указание параметров схемы. |
В этом разделе
Перед началом работы выполните следующие действия.
Безопасность
Для отключения проверочного ограничения при репликации используется:
Среда SQL Server Management Studio
Transact-SQL
Перед началом
Безопасность
Разрешения
Требуется разрешение ALTER на таблицу.
[Top]
Использование среды SQL Server Management Studio
Отключение проверочных ограничений при репликации
Разверните в обозревателе объектов таблицу с проверочным ограничением, которое нужно изменить, а затем разверните папку Ограничения.
Щелкните правой кнопкой мыши проверочное ограничение, которое нужно изменить, и выберите пункт Изменить.
В диалоговом окне Проверочные ограничения в разделе Конструктор таблиц выберите для параметра Включить использование для репликации значение Нет.
Нажмите кнопку Закрыть.
[Top]
Использование Transact-SQL
Отключение проверочных ограничений при репликации
В обозревателе объектов установите соединение с экземпляром компонента Компонент Database Engine.
На стандартной панели выберите пункт Создать запрос.
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. В примере создается таблица со столбцом IDENTITY и ограничением CHECK. Затем в таблице удаляется это ограничение и снова создается с указанием предложения NOT FOR REPLICATION.
USE AdventureWorks2012; GO CREATE TABLE dbo.doc_exd (column_a int IDENTITY (1,1) CONSTRAINT exd_check CHECK (column_a > 1)) ALTER TABLE dbo.doc_exd DROP CONSTRAINT exd_check; GO ALTER TABLE dbo.doc_exd ADD CONSTRAINT exd_check CHECK NOT FOR REPLICATION (column_a > 1);
Дополнительные сведения см. в разделе ALTER TABLE (Transact-SQL).
[Top]