Aracılığıyla paylaş


2. Ders: Adlandırma Standartları İlkesi Oluşturma ve Uygulama

Şunlar için geçerlidir: SQL Server

bazı İlke Tabanlı Yönetim ilkeleri türleri, ilkeyle gelecekteki uyumluluğu zorlamak için tetikleyiciler oluşturabilir. Bu derste, tablolar için adlandırma standardı uygulayan bir ilke oluşturacaksınız. Ardından, ilkeyi ihlal eden bir tablo oluşturmaya çalışarak ilkeyi test edebilirsiniz.

Önkoşullar

Bu öğreticiyi tamamlamak için SQL Server Management Studio'ya, SQL Server çalıştıran bir sunucuya erişmeniz gerekir.

Finans veritabanını oluşturma

  1. Management Studio'da bir sorgu penceresi açın ve aşağıdaki sorguyu çalıştırın.

    CREATE DATABASE Finance ;  
    GO  
    
  2. Nesne Gezgini'nde Veritabanları'na tıklayın ve ardından F5 tuşuna basarak veritabanları listesini yenileyin.

Finans tabloları koşulunu oluşturma

  1. Nesne Gezgini'nde Yönetim'i genişletin, İlke Yönetimi'ni genişletin, Koşullar'a sağ tıklayın ve ardından Yeni Koşul'a tıklayın.

Yeni koşul

  1. Yeni Koşul Oluştur iletişim kutusundaki Ad kutusuna Finans Tabloları yazın.

    1. Facet listesinde Çok Parçalı Ad seçin.
    2. İfade alanındaki Alan kutusunda @Name; İşleç kutusunda Like seçin; ve Değer kutusuna tüm tablo adlarının 'fintbl' harfleriyle başlamasını sağlamak için 'fintbl%' yazın.
    3. Açıklama sayfasında Finans tablosu adlarının fintbl ile başlaması gerekir yazın ve ardından koşulu oluşturmak için Tamam'a tıklayın.

    Finans tabloları koşulu

Finans adlandırma politikasını oluşturma

  1. Nesne Gezgini'nde İlkeler'e sağ tıklayın ve ardından Yeni İlke'ye tıklayın.

Yeni ilke

  1. Yeni İlke Oluştur iletişim kutusundaki Ad kutusuna Finans Adı yazın.

    1. Koşulu denetle listesinde Finans Tabloları'nı seçin. Bu, Çok Parçalı Ad alanındadır.
    2. Karşı alanında, bu ilkeyi uygulayabilecek veritabanı nesnelerinin listesini görürsünüz. Her Tablo için onay kutusunu seçin.
    3. Etkin listesini seçin. ( Etkin kutusu İsteğe bağlı ilkeler için geçerli değildir.)
    4. Değerlendirme Modu listesinde Değişiklikte: engelle'yi seçin. Finans veritabanında bir tetikleyici oluşturarak politika uygulanacaktır.
    5. Sunucu kısıtlama listesinde Yok'a tıklayın.
    6. Açıklama sayfasında, 'Finans veritabanındaki tablo adları 'fintbl%' içermelidir' açıklamasını ekleyin.
    7. Genel sayfasına geri dönün ve Her Veritabanı alanında Her alanını genişletin ve Yeni koşul'a tıklayın.

    Yeni Finans Adı politikası oluştur

  2. Yeni Koşul Oluştur iletişim kutusundaki Ad kutusuna Finans Veritabanı yazın.

    1. İfade kutusunda, ifadeyi = 'Finans' içerecek @Name şekilde doldurun ve ardından koşul sayfasını kapatmak için Tamam'a tıklayın.

    Yeni 'finans veritabanı' koşulu oluşturma

    Uyarı

    Tamam düğmesini etkinleştirmek için Değer kutusundan çıkmanız gerekebilir.

  3. Tamam'ı seçin.

Finans ilkesi kategorisini oluşturma

  1. Nesne Gezgini'nde Yönetim'i genişletin, İlke Yönetimi'ne sağ tıklayın ve ardından Kategorileri Yönet'e tıklayın.

Kategorileri yönetme

  1. İlke Kategorilerini Yönet iletişim kutusunda, Ad başlığının altında yer alan boş kutuya Finans yazın ve Veritabanı Aboneliklerini Zorunlu Kılmayı kaldırın. Veritabanı Aboneliklerini Zorunlu Kılın , örnekteki her veritabanını bu ilke kategorisine ait ilkelere abone yapmaya zorlar. Bu ders için, Finans veritabanı yalnızca Finans Adı ilkesini uygulamalıdır.

    İlke kategorilerini yönet

  2. Tamam'ı seçin.

Finans ilkesi kategorisine abone olma

  1. Nesne Gezgini'nde Veritabanları genişletin, Finans'a sağ tıklayın, İlkeler'in üzerine gelin ve Kategoriler'e tıklayın.

Finans ilkesi kategorileri

  1. Finans kategorisi için Abone olunan onay kutusunu seçin.

Finans politikasına abone olundu

  1. Tamam'ı seçin.

Finans Adı ilkesinin uygulanmasını test edin

  1. Management Studio'da bir sorgu penceresi açın. Finans Adı politikasını ihlal eden bir tablo oluşturulmaya çalışılan aşağıdaki ifadeleri çalıştırın. Tablo adı fintbl harfleriyle başlamadığından tablo ilkeyi ihlal eder.

    USE Finance ;  
    GO  
    CREATE TABLE NewTable  
    (Col1 int) ;  
    GO    
    

    İlkenin tablonun oluşturulmasını engellediğini ve ilke adını sağlayan bir bilgilendirme iletisi döndürdüğüne dikkat edin.

  Policy 'Finance Name' has been violated by 'SQLSERVER:\SQL\SQL\SQL2017\Databases\Finance\Tables\dbo.NewTable'.
  This transaction will be rolled back.
  Policy condition: '@Name LIKE 'fintbl%''
  Policy description: 'Tables names in the Finance database must contain 'fintbl%''.
  Additional help: '' : ''
  Statement: 'CREATE TABLE NewTable  
      (Col1 int)'.
  Msg 515, Level 16, State 2, Procedure msdb.sys.sp_syspolicy_execute_policy, Line 69 [Batch Start Line 2]
  Cannot insert the value NULL into column 'target_query_expression', table 'msdb.dbo.syspolicy_policy_execution_history_details_internal'; column does not allow nulls. INSERT fails.
  The statement has been terminated.
  1. Geçerli bir ad sağlamak için kodu aşağıdaki gibi değiştirin ve ifadeyi tekrar çalıştırın.

    USE Finance ;  
    GO  
    CREATE TABLE fintblNewTable  
    (Col1 int) ;  
    GO    
    

    Bu kez tablo oluşturulur.

İlkeyi sunucunun tamamına uygulama

  1. Şu anda yalnızca Finans veritabanı Finans ilkesi kategorisine abone olur. Çoğu durumda, ilke kategorisini sunucunun tamamına uygulamak daha kolaydır. Nesne Gezgini'nde Yönetim'i genişletin, İlke Yönetimi'ne sağ tıklayın ve ardından Kategorileri Yönet'e tıklayın.

  2. İlke Kategorilerini Yönet iletişim kutusunda Finans kategorisini bulun ve Finans kategorisi için Veritabanı Aboneliklerini Zorunlu Kılın onay kutusunu seçin.

  3. Tamam'ı seçin. Artık Finans kategorisi tüm veritabanları için geçerlidir, ancak oluşturduğunuz koşul Finans Adı ilkesini Finans veritabanıyla kısıtlar. Bu, ilkeleri birçok sunucuya doğru şekilde uygulanacak şekilde hedeflemek için karmaşık koşul bileşimlerini nasıl kullanabileceğinizi gösterir.

Özet

Bu öğreticide, İlke Tabanlı Yönetim koşullarının, ilkelerin ve ilke gruplarının nasıl oluşturulacağı ve filtrelerin nasıl uygulanacağı ve İlke Tabanlı Yönetim hedeflerinin uyumluluğunun nasıl denetlendiği gösterilmiştir.

Next

Bu ders tamamlanmıştır. Başlangıç ekranına dönmek için Öğretici: İlke Tabanlı Yönetimi Kullanarak Sunucuları Yönetme'yi ziyaret edin.

Öğreticilerin listesi için bkz. SQL Server 2016 öğreticileri.

Ayrıca Bkz.

İlke Tabanlı Yönetim Kullanarak Sunucuları Yönetme