Sepetiniz

Policy-Based Management(Veritabanının Auto Close Opsiyonu Kontrolü-Database Facet)

Policy-Based Management SQL Server 2008 ile gelen bir özelliktir. Sistemlerimizde istediğimiz kuralları koymamıza, standartlarımızı belirlememize ve kontrollerimizi otomatik olarak yapmamıza olanak sağlar. Örneğin stored procedure’lerimizin isimlerinin rakam ile başlamaması ya da veritabanı recovery modellerinin simple olmaması için kontrol amaçlı olarak policy oluşturabiliriz.

 

Bu makaleyi okumadan önce Auto Close kavramını anlamak için “Veritabanının AUTO_CLOSE Özelliğini OFF Yaparak Performans Artışı Sağlamak” isimli makaleyi okumanızı tavsiye ederim. Daha detaylı bilgi için sitemizin Arama kısmını kullanabilirsiniz.

Policy Based Management(PBM)’ı kavramak için bazı kavramları anlamanız gerekir.

 

Facet: PBM tarafından yönetilebilen bir özelliktir. Örneğin Database isminde bir facet vardır. Ve bu facet’ı kullanarak veritabanının auto close özelliğinin açık olup olmadığını kontrol eden bir policy oluşturabilirsiniz.

 

Tüm facet’ların listesine aşağıdaki gibi SSMS üzerinden erişebilirsiniz. Facet detayı için üzerine çift tıklamalısınız.

 

 

Condition: ilgili facet’ların alt özelliklerinin belirlenen koşulu sağlayıp sağlamadığını kontrol eder.

 

 

Bahsettiğimiz gibi bir policy oluşturalım.

 

Aşağıdaki gibi Management > Policy Management > Policies sekmelerinden New Policy diyoruz.

 

 

Karşımıza çıkan ekranda Policy’e bir isim veriyoruz ve Check Condition kısmından bir condition oluşturmamız gerekiyor.

 

New Condition’a tıklıyoruz.

 

 

Karşımıza çıkan ekranda Name kısmından condition’a bir isim veriyoruz.

 

Facet kısmından Database facet’ını seçiyoruz.

 

Expression kısmında … ‘ya tıklayarak Database facet’ının alt özelliği olan @AutoClose ‘u seçiyoruz.

 

Operator kısmından =’i ve value kısmından da False değerini seçiyoruz.

 

Böylelikle AutoClose’u açık olan bir veritabanı varsa policy fail edecektir.

 

Evaluation Mode kısmından On Schedule’ı seçerek policy’nin hangi aralıklarla kontrol’ü yapacağını belirliyoruz ve daha sonra Enable kutucuğuna tıklıyoruz.

 

On Demand’ı seçersek, sadece policy’i çalıştırdığımızda kontrolleri yapar.

 

Server restriction kısmında server bazında bir koşulunuz varsa server bazında bir condition oluşturarak koşulunuzun kontrolünü yapabilirsiniz.

 

 

Belirli aralıklarla otomatik kontrol etmesini istiyorsak Schedule kısmından new diyoruz ve policy’nin kontrol’ü yapacağı sıklığı belirliyoruz. Biz aşağıda her gün 00:00:000’da bir kere çalışacak şekilde set ettik.

 

 

Policy’mizi bu şekilde oluşturduk. Manual olarak çalıştırmak için aşağıdaki gibi Evaluate diyoruz.

 

 

Ben kendi lokal’imde bu işlemi gerçekleştirdiğimde aşağıdaki gibi bir sonuç aldım. Gördüğünüz gibi auto close’u açık olan bir tane veritabanı olduğu için policy fail etti.

 

 

View’e tıklayarak daha detaylı bilgi edinebilirsiniz.

 

 

Policy fail olduğu için Instance üzerinde refresh yaptığınızda Instance’ın yanında aşağıdaki gibi mektuba benzeyen bir kutucuğun üstünde kırmızı renkli x işareti çıkar. Bunun sebebi instance üzerinde tanımlı olan ve hatalı biten bir policy’nin var olduğunun sql  server’ın bize bildirmek istemesi. Bu işareti gördüğünüzde tanımlı policy’lere bakıp gerekliliklerini yerine getirmeniz gerekir.

 

 

Policy Based Management ile SQL Server üzerinde yapabileceğiniz bir çok kontrol vardır. Ve profesyonel bir veritabanı yöneticisi bence SQL Server’ın bize sunduğu bu özelliği bütün detaylarıyla kullanmalı. Policy Based Management ile  yapabileceğiniz diğer kontrolleri sitemizdeki menüden MSSQL’in altındaki POLICY-BASED MANAGEMENT alt menüsünden erişebileceğiniz makalelerde bulabilirsiniz.

Policy-Based Management(Data File Büyüklüğü Kontrolü-Data File Facet)

Policy-Based Management SQL Server 2008 ile gelen bir özelliktir. Sistemlerimizde istediğimiz kuralları koymamıza, standartlarımızı belirlememize ve kontrollerimizi otomatik olarak yapmamıza olanak sağlar. Örneğin stored procedure’lerimizin isimlerinin rakam ile başlamaması ya da veritabanı recovery modellerinin simple olmaması için kontrol amaçlı olarak policy oluşturabiliriz.

 

Bu makaleyi okumadan önce Data File ve Filegroup kavramlarını anlamak için “Veritabanı Oluşturmak Deyip Geçmeyin!” isimli makaleyi okumanızı tavsiye ederim. Daha detaylı bilgi için sitemizin Arama kısmını kullanabilirsiniz.

Policy Based Management(PBM)’ı kavramak için bazı kavramları anlamanız gerekir.

 

Facet: PBM tarafından yönetilebilen bir özelliktir. Örneğin Data File isminde bir facet vardır. Ve bu facet’ı kullanarak veritabanındaki data dosyalarının büyüklüğünün belli bir boyutun üzerine çıkıp çıkmadığını kontrol eden bir policy oluşturabilirsiniz.

 

Tüm facet’ların listesine aşağıdaki gibi SSMS üzerinden erişebilirsiniz. Facet detayı için üzerine çift tıklamalısınız.

 

 

Condition: ilgili facet’ların alt özelliklerinin belirlenen koşulu sağlayıp sağlamadığını kontrol eder.

 

Bahsettiğimiz gibi bir policy oluşturalım.

 

Aşağıdaki gibi Management > Policy Management > Policies sekmelerinden New Policy diyoruz.

 

 

Karşımıza çıkan ekranda Policy’e bir isim veriyoruz ve Check Condition kısmından bir condition oluşturmamız gerekiyor.

 

New Condition’a tıklıyoruz.

 

 

Karşımıza çıkan ekranda Name kısmından condition’a bir isim veriyoruz.

 

Facet kısmından n Data File facet’ını seçiyoruz.

 

Expression kısmında … ‘ya tıklayarak Data File facet’ının alt özelliği olan @Size ‘ı seçiyoruz.

 

Operator kısmından <‘ü seçerek Value kısmında istediğimiz bir değeri yazıyoruz.

 

Biz örnek olarak bu policy’yi oluşturduğumuz için 10 mb anlamına gelen 10240 değerini yazdık. Yani veritabanlarındaki data file’lardan herhangi biri 10 mb’ın üstünde ise policy fail edecektir. Siz bu rakamı 500 GB gibi bir değer set ederek aşırı büyüyen data file’ları partition’lamayı ya da dağıtmayı düşünebilirsiniz.

Aşağıdaki makaleleri okumanızı tavsiye ederim.

 

Partition Oluşturmak“,

Veritabanı file group yapısı ve büyük tablolarımızı başka bir file group’ta yeniden oluşturmak

 

 

Evaluation Mode kısmından On Schedule’ı seçerek policy’nin hangi aralıklarla kontrol’ü yapacağını belirliyoruz ve daha sonra Enable kutucuğuna tıklıyoruz.

 

On Demand’ı seçersek, sadece policy’i çalıştırdığımızda kontrolleri yapar.

 

Server restriction kısmında server bazında bir koşulunuz varsa server bazında bir condition oluşturarak koşulunuzun kontrolünü yapabilirsiniz.

 

 

Belirli aralıklarla otomatik kontrol etmesini istiyorsak Schedule kısmından new diyoruz ve policy’nin kontrol’ü yapacağı sıklığı belirliyoruz.

 

Biz aşağıda her gün 00:00:000’da bir kere çalışacak şekilde set ettik.

 

 

Policy’mizi bu şekilde oluşturduk. Manual olarak çalıştırmak için aşağıdaki gibi Evaluate diyoruz.

 

 

Ben kendi lokal’imde bu işlemi gerçekleştirdiğimde aşağıdaki gibi bir sonuç aldım.

 

Gördüğünüz gibi bazı veritabanlarında bazı data file’ların boyutu 10 mb’ın üstünde olduğu için policy fail etmiş.

 

 

View’e tıklayarak fazla büyümüş data file’ların boyutunun ne kadar olduğunu öğrenebilirsiniz.

 

 

Policy fail olduğu için Instance üzerinde refresh yaptığınızda Instance’ın yanında aşağıdaki gibi mektuba benzeyen bir kutucuğun üstünde kırmızı renkli x işareti çıkar. Bunun sebebi instance üzerinde tanımlı olan ve hatalı biten bir policy’nin var olduğunun sql  server’ın bize bildirmek istemesi. Bu işareti gördüğünüzde tanımlı policy’lere bakıp gerekliliklerini yerine getirmeniz gerekir.

 

 

Aşağıda Data File Facet’ının diğer alt özelliklerini görebilirsiniz.

 

 

Policy Based Management ile SQL Server üzerinde yapabileceğiniz bir çok kontrol vardır. Ve profesyonel bir veritabanı yöneticisi bence SQL Server’ın bize sunduğu bu özelliği bütün detaylarıyla kullanmalı. Policy Based Management ile  yapabileceğiniz diğer kontrolleri sitemizdeki menüden MSSQL’in altındaki POLICY-BASED MANAGEMENT alt menüsünden erişebileceğiniz makalelerde bulabilirsiniz.

Policy-Based Management(Always ON AG Replikasının Connection İzinleri Kontrolü-Availability Replica Facet)

Policy-Based Management SQL Server 2008 ile gelen bir özelliktir. Sistemlerimizde istediğimiz kuralları koymamıza, standartlarımızı belirlememize ve kontrollerimizi otomatik olarak yapmamıza olanak sağlar. Örneğin stored procedure’lerimizin isimlerinin rakam ile başlamaması ya da veritabanı recovery modellerinin simple olmaması için kontrol amaçlı olarak policy oluşturabiliriz.

 

Always On Kullanıyorsanız bazı durumlarda Secondary Replica’dan read yapan bir uygulama olup olmadığını kontrol etmek için policy oluşturabilirsiniz. Bu makalede secondary replica’dan tüm connection’lara izin veren ya da sadece read intent connection’lara izin verilmiş bir ag olup olmadığını kontrol eden bir policy oluşturacağız. Always on hakkında daha detaylı bilgi almak için sitemizin arama kısmına Always On yazabilirsiniz.

Policy Based Management(PBM)’ı kavramak için bazı kavramları anlamanız gerekir.

 

Facet: PBM tarafından yönetilebilen bir özelliktir. Örneğin Availability Replica isminde bir facet vardır. Ve bu facet’ı kullanarak availability group’ların secondary replica’larının connection izinlerini kontrol eden bir policy oluşturabilirsiniz.

 

Tüm facet’ların listesine aşağıdaki gibi SSMS üzerinden erişebilirsiniz. Facet detayı için üzerine çift tıklamalısınız.

 

 

Condition: ilgili facet’ların alt özelliklerinin belirlenen koşulu sağlayıp sağlamadığını kontrol eder. Örneğin Availability Replica facet’ının ConnectionModeInSecondaryRole alt özelliğinin AllowAllConnections ya da AllowReadIntentConnectionsOnly olup olmadığını kontrol eden bir condition oluşturabilirsiniz. Böylelikle availability group’ların Secondary Replikalarından read yapan bir uygulama olup olmadığını kontrol edebilirsiniz. Eğer Secondary sunucudan read yapan bir ag varsa policy fail edecektir.

Secondary sunucudan read yapmak aslında bazı durumlarda çok faydalı bir işlev olabilir. Bu tamamen çalıştığınız kurumun stratejisi ile alakalı bir durum. Eğer secondary sunucudan read yapmak istiyorsanız “Always On Secondary Sunucudan Read Yapmak” isimli makaleye göz atmanızı tavsiye ederim.

 

 

Bahsettiğimiz gibi bir policy oluşturalım.

 

Aşağıdaki gibi Management > Policy Management > Policies sekmelerinden New Policy diyoruz.

 

 

Karşımıza çıkan ekranda Policy’e bir isim veriyoruz ve Check Condition kısmından bir condition oluşturmamız gerekiyor.

 

New Condition’a tıklıyoruz.

 

 

 

Karşımıza çıkan ekranda Name kısmından condition’a bir isim veriyoruz.

Facet kısmından  Availability Replica facet’ını seçiyoruz.

Expression kısmında … ‘ya tıklayarak Availability Replica facet’ının alt özelliği olan @ConnectionModeInSecondaryRole  ‘ü seçiyoruz.

Operator kısmından !=’i , value kısmından da AllowAllConnections’ı seçiyoruz.

OR operatörünü kullanarak ConnectionModeInSecondaryRole  alt özelliğini bir de AllowReadIntentConnectionsOnly ile zıtlıyoruz.

Böylelikle secondary sunucudan bütün connection’lara ya da Read yapmak için bağlanan connection’lara izin verilmiş bir ag varsa policy fail edecek şekilde ayarlamış oluyoruz.

 

Evaluation Mode kısmından On Schedule’ı seçerek policy hangi aralıklarla kontrol’ü yapacağını belirliyoruz ve daha sonra Enable kutucuğuna tıklıyoruz.

 

On Demand’ı seçersek, sadece policy’i çalıştırdığımızda kontrolleri yapar.

 

Server restriction kısmında server bazında bir koşulunuz varsa server bazında bir condition oluşturarak koşulunuzun kontrolünü yapabilirsiniz.

 

 

Belirli aralıklarla otomatik kontrol etmesini istiyorsak Schedule kısmından new diyoruz ve policy’nin kontrol’ü yapacağı sıklığı belirliyoruz. Biz aşağıda her gün 00:00:000’da bir kere çalışacak şekilde set ettik.

 

 

Policy’mizi bu şekilde oluşturduk. Manual olarak çalıştırmak için aşağıdaki gibi Evaluate diyoruz.

 

 

 

Kendi lokal’imde Always On olmadığı için aşağıdaki gibi bir sonuç aldım. Eğer Always On kurulu olsaydı daha uzun bir liste olacaktı. Fail eden AG olması durumunda da Detail kısmında View şeklinde bir link çıkacaktı. Bu linke tıkladığınızda sorunun nedenini görebilirsiniz.

 

 

Availability Replica Facet’ını kullanarak kontrol edebileceğiniz diğer parametreleri aşağıda görebilirsiniz.

 

 

Policy Based Management ile SQL Server üzerinde yapabileceğiniz bir çok kontrol vardır. Ve profesyonel bir veritabanı yöneticisi bence SQL Server’ın bize sunduğu bu özelliği bütün detaylarıyla kullanmalı. Policy Based Management ile  yapabileceğiniz diğer kontrolleri sitemizdeki menüden MSSQL’in altındaki POLICY-BASED MANAGEMENT alt menüsünden erişebileceğiniz makalelerde bulabilirsiniz.

Policy-Based Management(Always ON AG Otomatik Failover Kontrolü-Availability Group State Facet)

Policy-Based Management SQL Server 2008 ile gelen bir özelliktir. Sistemlerimizde istediğimiz kuralları koymamıza, standartlarımızı belirlememize ve kontrollerimizi otomatik olarak yapmamıza olanak sağlar. Örneğin stored procedure’lerimizin isimlerinin rakam ile başlamaması ya da veritabanı recovery modellerinin simple olmaması için kontrol amaçlı olarak policy oluşturabiliriz.

 

Policy Based Management(PBM)’ı kavramak için bazı kavramları anlamanız gerekir.

Facet: PBM tarafından yönetilebilen bir özelliktir. Örneğin Availability Group State isminde bir facet vardır. Ve bu facet’ı kullanarak availability group’ların otomatik failover ayarlarını kontrol eden bir policy oluşturabilirsiniz.

 

Tüm facet’ların listesine aşağıdaki gibi SSMS üzerinden erişebilirsiniz. Facet detayı için üzerine çift tıklamalısınız.

 

 

Condition: ilgili facet’ların alt özelliklerinin belirlenen koşulu sağlayıp sağlamadığını kontrol eder. Örneğin Availability Group State facet’ının IsAutoFailover alt özelliğinin True olup olmadığını kontrol eden bir condition oluşturabilirsiniz. Böylelikle availability group’ların otomatik failover ayarlarının otomatik olarak ayarlandığına emin olabilirsiniz. Eğer IsAutoFailover Manual ise policy fail edecektir.

 

Bahsettiğimiz gibi bir policy oluşturalım.

 

Aşağıdaki gibi Management > Policy Management > Policies sekmelerinden New Policy diyoruz.

 

 

Karşımıza çıkan ekranda Policy’e bir isim veriyoruz ve Check Condition kısmından bir condition oluşturmamız gerekiyor.

 

New Condition’a tıklıyoruz.

 

 

 

Karşımıza çıkan ekranda Name kısmından condition’a bir isim veriyoruz.

Facet kısmından  Availability Group State facet’ını seçiyoruz.

Expression kısmında … ‘ya tıklayarak Availability Group State facet’ının alt özelliği olan @IsAutoFailover ‘ı seçiyoruz.

Operator kısmından =’i , value kısmından da True’yu seçiyoruz.

 

Evaluation Mode kısmından On Schedule’ı seçerek policy hangi aralıklarla kontrol’ü yapacağını belirliyoruz ve daha sonra Enable kutucuğuna tıklıyoruz.

 

On Demand’ı seçersek, sadece policy’i çalıştırdığımızda kontrolleri yapar.

 

Server restriction kısmında server bazında bir koşulunuz varsa server bazında bir condition oluşturarak koşulunuzun kontrolünü yapabilirsiniz.

 

 

Belirli aralıklarla otomatik kontrol etmesini istiyorsak Schedule kısmından new diyoruz ve policy’nin kontrol’ü yapacağı sıklığı belirliyoruz. Biz aşağıda her gün 00:00:000’da bir kere çalışacak şekilde set ettik.

 

 

Policy’mizi bu şekilde oluşturduk. Manual olarak çalıştırmak için aşağıdaki gibi Evaluate diyoruz.

 

 

Kendi lokal’imde Always On olmadığı için aşağıdaki gibi bir sonuç aldım. Eğer Always On kurulu olsaydı daha uzun bir liste olacaktı. Fail eden AG olması durumunda da Detail kısmında View şeklinde bir link çıkacaktı. Bu linke tıkladığınızda sorunun nedenini görebilirsiniz.

 

 

Availability Group Facet’ını kullanarak kontrol edebileceğiniz diğer parametreleri aşağıda görebilirsiniz.

 

 

Policy Based Management ile SQL Server üzerinde yapabileceğiniz bir çok kontrol vardır. Ve profesyonel bir veritabanı yöneticisi bence SQL Server’ın bize sunduğu bu özelliği bütün detaylarıyla kullanmalı. Policy Based Management ile  yapabileceğiniz diğer kontrolleri sitemizdeki menüden MSSQL’in altındaki POLICY-BASED MANAGEMENT alt menüsünden erişebileceğiniz makalelerde bulabilirsiniz.

 

Policy-Based Management(Always ON AG Backup Preference Kontrolü-Availability Group Facet)

Policy-Based Management SQL Server 2008 ile gelen bir özelliktir. Sistemlerimizde istediğimiz kuralları koymamıza, standartlarımızı belirlememize ve kontrollerimizi otomatik olarak yapmamıza olanak sağlar. Örneğin stored procedure’lerimizin isimlerinin rakam ile başlamaması ya da veritabanı recovery modellerinin simple olmaması için kontrol amaçlı olarak policy oluşturabiliriz.

 

Policy Based Management(PBM)’ı kavramak için bazı kavramları anlamanız gerekir.

 

Facet: PBM tarafından yönetilebilen bir özelliktir. Örneğin Availability Group isminde bir facet vardır. Ve bu facet’ı kullanarak availability group’ların backup preference’ını kontrol eden bir policy oluşturabilirsiniz.

 

Tüm facet’ların listesine aşağıdaki gibi SSMS üzerinden erişebilirsiniz. Facet detayı için üzerine çift tıklamalısınız.

 

Condition: ilgili facet’ların alt özelliklerinin belirlenen koşulu sağlayıp sağlamadığını kontrol eder. Örneğin Availability Group facet’ının AutomatedBackupPreference alt özelliğinin Secondary Only olup olmadığını kontrol eden bir condition oluşturabilirsiniz. Böylelikle herhangi bir availability group üzerinden otomatik backup alındığında primary üzerinden alınmadığına emin olabilirsiniz. Eğer AutomatedBackupPreference Primary ya da Secondary ise policy fail edecektir.

 

Bahsettiğimiz gibi bir policy oluşturalım.

 

Aşağıdaki gibi Management > Policy Management > Policies sekmelerinden New Policy diyoruz.

 

 

Karşımıza çıkan ekranda Policy’e bir isim veriyoruz ve Check Condition kısmından bir condition oluşturmamız gerekiyor.

 

New Condition’a tıklıyoruz.

 

 

Karşımıza çıkan ekranda Name kısmından condition’a bir isim veriyoruz.

Facet kısmından  Availability Group facet’ını seçiyoruz.

Expression kısmında … ‘ya tıklayarak Availability Group facet’ının alt özelliği olan @AutomatedBackupPreference ‘ı seçiyoruz.

Operator kısmından =’i , value kısmından da SecondaryOnly’i seçiyoruz.

 

Evaluation Mode kısmından On Schedule’ı seçerek policy hangi aralıklarla kontrol’ü yapacağını belirliyoruz ve daha sonra Enable kutucuğuna tıklıyoruz.

 

On Demand’ı seçersek, sadece policy’i çalıştırdığımızda kontrolleri yapar.

 

Server restriction kısmında server bazında bir koşulunuz varsa server bazında bir condition oluşturarak koşulunuzun kontrolünü yapabilirsiniz.

 

 

Belirli aralıklarla otomatik kontrol etmesini istiyorsak Schedule kısmından new diyoruz ve policy’nin kontrol’ü yapacağı sıklığı belirliyoruz. Biz aşağıda her gün 00:00:000’da bir kere çalışacak şekilde set ettik.

 

 

Policy’mizi bu şekilde oluşturduk. Manual olarak çalıştırmak için aşağıdaki gibi Evaluate diyoruz.

 

 

Kendi lokal’imde Always On olmadığı için aşağıdaki gibi bir sonuç aldım. Eğer Always On kurulu olsaydı daha uzun bir liste olacaktı. Fail eden AG olması durumunda da Detail kısmında View şeklinde bir link çıkacaktı. Bu linke tıkladığınızda sorunun nedenini görebilirsiniz.

 

 

Availability Group Facet’ını kullanarak kontrol edebileceğiniz diğer parametreleri aşağıda görebilirsiniz.

 

 

Policy Based Management ile SQL Server üzerinde yapabileceğiniz bir çok kontrol vardır. Ve profesyonel bir veritabanı yöneticisi bence SQL Server’ın bize sunduğu bu özelliği bütün detaylarıyla kullanmalı. Policy Based Management ile  yapabileceğiniz diğer kontrolleri sitemizdeki menüden MSSQL’in altındaki POLICY-BASED MANAGEMENT alt menüsünden erişebileceğiniz makalelerde bulabilirsiniz.