Oluşturma ve denetim kısıtlamalarını değiştirme

Bir tablo oluşturduğunuzda, tablo tanımını bir parçası olarak denetim kısıtlamasını oluşturabilirsiniz.Tablo zaten varsa, denetim kısıtlamasını ekleyebilirsiniz.Birden çok denetim kısıtlamaları tablolar ve sütunlar içerebilir.

DENETİM kısıtlamasını zaten varsa, değiştirebilir veya silebilirsiniz.Örneğin, bir sütun üzerinde denetim kısıtlaması tarafından kullanılan ifadeyi değiştirmek isteyebilirsiniz tablo.

Not

Denetim kısıtlaması değiştirmek için önce varolan check kısıtlaması silin ve yeni tanımı ile yeniden oluşturmanız gerekir.

Aşağıdaki Transact-SQL örnek, yeni bir tablo oluşturur ve sonra tablo ekleyerek değiştirir bir CHECK kısıtlama olarak CreditRating sütun.

IF OBJECT_ID ('dbo.Vendors', 'U') IS NOT NULL
DROP TABLE dbo.Vendors;
GO
CREATE TABLE dbo.Vendors 
    (VendorID int PRIMARY KEY, VendorName nvarchar (50), 
    CreditRating tinyint)
GO
ALTER TABLE dbo.Vendors ADD CONSTRAINT CK_Vendor_CreditRating
    CHECK (CreditRating >= 1 AND CreditRating <= 5)

Sütun veya sütunları sınırlaması bulunan kabul edilebilir veri değerleri üzerindeki sınırlamaları kaldırmak için Denetim kısıtlaması silme ifade.

Bir tablo oluşturduğunuzda, bir denetim kısıtlaması oluşturmak için

Denetim kısıtlaması üzerinde varolan tablo oluşturmak için

DENETİM kısıtlamasını silmek için

Denetim kısıtlaması ile nocheck kullanarak zorlama

DENETİM kısıtlamasını eklendiğinde varolan tablo, check kısıtlaması yalnızca veya varolan verileri yeni veri uygulayabilirsiniz.Varsayılan olarak, varolan veri ve yeni veriler için check kısıtlaması uygulanır.alter table deyim ile nocheck seçeneği, yalnızca yeni eklenen verileri yeni kısıtlama uygulamak için kullanın.Bu seçenek, varolan verileri yeni denetim kısıtlaması ulaştığında veya bir iş kuralı kısıtlamanın yalnızca bu noktadan itibaren uygulanmasını gerektirir kullanışlıdır.

Örneğin, eski bir kısıtlama posta kodlarının beş basamakla ancak yeni bir kısıtlama dokuz basamaklı posta kodları gerektirir gerektirebilir.Beş basamaklı posta kodları içeren eski veri hala geçerli olur ve, dokuz basamaklı posta kodları içeren yeni veriyle bir arada bulunabilecektir.Bu nedenle, yalnızca yeni veriler yeni kısıtlamaya karşı denetlenmesi.

Çünkü bu denetimlerde atlar, varolan verileri denetlemeden bir kısıtlama eklediğinizde, ancak dikkatli olmanız Veritabanı Altyapısı zorlayan bütünlük kuralları için tablo.

Denetim kısıtlaması oluşturduğunuzda varolan verileri denetleme engellemek için

Denetim kısıtlamalarını devre dışı bırakma

Varolan denetim kısıtlamaları INSERT işlemleri update işlemleri ve çoğaltma işleme gibi belirli işlemler için devre dışı bırakabilirsiniz.

  • Ekle ve güncelleştir deyimleri

    Tablo kısıtlamaları tarafından doğrulanan değiştirilmesine onay kısıtlaması etkinleştirir verilerde devre dışı bırakılıyor.Denetim kısıtlaması Ekle ve güncelleştir deyimleri sırasında yeni verinin kısıtlamayı ihlal veya kısıtlama yalnızca veritabanında veri uygulanacaksa devre dışı bırakın.

  • Çoğaltma işlemleri

    Kısıtlamayı özeldir, çoğaltma sırasında denetim kısıtlamasını devre dışı kaynak veritabanı.Bir tablo çoğaltıldığında, tablo tanımını ve verilerin kopyalandığı kaynak veritabanı bir hedef veritabanı için.Bu iki genellikle, ancak şart değil, ayrı sunucularda veritabanlarıdır.Özel Denetim kısıtlamalarını kaynak veritabanı olan devre dışı bırakılmış değil, bunlar gereksiz yere yeni veriler hedef veritabanına girilen engelleyebilir.Daha fazla bilgi için bkz: Denetleme sınırlamaları, kimlikleri ve tetikleyiciler not ile çoğaltma.

Denetim kısıtlaması Ekle ve güncelleştir deyimleri için devre dışı bırakmak için

çoğaltma denetim kısıtlamasını devre dışı bırakmak için

Kontrol kısıtlamaları hakkında bilgi edinmek için

Ayrıca bkz.

Kavramlar