SQL Server 2008 yeni özelliklerinden biri olan Resource governor oturumlar arasında kaynak kullanımını optimum seviyede yönetebilmesini sağlayabilir. SQL server verileri optimum şekilde kullanır fakat hangi kullanıcıların hangi oturumların hangi client’ın daha önemli olduğuna Default bir kurulumla sql server buna karar veremez. Resource governor kullanarak şirketinize özel bu tür özelleştirmeleri resource governor ile yapmanız mümkündür. Öncelikle oturumlar arasında bir sınıflama yapmanız gerekir. Bu sınıflamaya bağlı olarak da hangi tip oturumların kaynakların ne kadarını kullanacağını belirler ve bu doğrultuda SQL Server üzerinde Resource Governor’ı uygularsınız.
İlk olarak Resource pool ve workload group oluşturuyoruz. Bunun için Start-> Programs->Microsoft SQL Server 2008-> SQL Server Management Studio ‘yu çalıştırıyoruz.
Resim-1
Resim-2
New query tıklayarak gerekli olan pool ve workloadları oluşturuyoruz.
CREATE RESOURCE POOL PoolAdHocReporting
CREATE RESOURCE POOL PoolWarehousing
GO
CREATE WORKLOAD GROUP GroupReporting USING PoolAdHocReporting
CREATE WORKLOAD GROUP GroupWarehousing USING PoolWarehousing
GO
Resim-3
Oluşturduğumuz pool ve workloadlara gerekli olan koşulları belirliyoruz aşağıdaki komutu new query diyerek çalıştırıyoruz.
CREATE FUNCTION CLASSIFIER_FUNC()
RETURNS SYSNAME WITH SCHEMABINDING
BEGIN
DECLARE @val varchar(32)
if ‘ReportUserAcct’ = SUSER_SNAME()
SET @val = ‘GroupReporting’;
else if ‘WarehousingAcct’ = SUSER_SNAME()
SET @val = ‘GroupWarehousing’;
return @val
END
GO
Resim-4
Classfier fonksiyonunu oluşturmak için aşağıdaki komutu new query diyerek çalıştırıyoruz.
ALTER RESOURCE GOVERNOR
WITH ( CLASSIFIER_FUNCTION = dbo.CLASSIFIER_FUNC)
GO
ALTER RESOURCE GOVERNOR RECONFIGURE
GO
Resim-5
Oluşturduğumuz pool ve workloadlara cpu ve belleği ne kadar kullanması gerektiği bilgilerini tanımlıyoruz
SQL Server 2008˜in getirdiği bu özelliği anlatmaya çalıştım bir sonraki makalede yeni özelliklerinden bahsetmeye devam edeceğim