SQL Server Envanter Yönetimi: IT Başarısının Anahtarı

Bugün, SQL Server altyapınızın omurgasını oluşturan kritik bir konu hakkında derinlemesine bir inceleme yapacağız: Envanter Yönetimi. Bu yazıda, SQL Server envanter yönetiminin neden vazgeçilmez olduğunu, nasıl etkili bir şekilde uygulanacağını ve ihmal edilmesinin potansiyel sonuçlarını gerçek dünya örnekleriyle ele alacağız.

SQL Server Envanter Yönetiminin Kritik Önemi

Envanter yönetimi, sadece “ne var, ne yok” listesi tutmaktan çok daha fazlasıdır. İşte neden:

  1. Maliyet Kontrolü:
    Örnek: Bir finans şirketi, envanter yönetimi sayesinde kullanılmayan 50 SQL Server Standard lisansını tespit etti ve yıllık $100,000’dan fazla tasarruf sağladı.
  2. Risk Yönetimi:
    Örnek: Bir e-ticaret platformu, güncellenmeyen bir SQL Server 2012 kurulumunu envanter taraması sırasında keşfetti ve potansiyel bir veri ihlalini önledi.
  3. Uyumluluk:
    Örnek: Bir sağlık kuruluşu, HIPAA denetimi sırasında tüm SQL Server kurulumlarının güncel ve uyumlu olduğunu envanter raporları sayesinde hızlıca kanıtlayabildi.
  4. Performans Optimizasyonu:
    Örnek: Bir üretim şirketi, aşırı kaynak kullanan SQL Server kurulumlarını tespit ederek, donanım yükseltmelerini doğru yönlendirdi ve genel sistem performansını %30 artırdı.

SQL Server Envanter Yönetimi Nasıl Yapılır?

1. Keşif

  • Otomatik Keşif: Microsoft Assessment and Planning Toolkit kullanarak ağınızdaki tüm SQL Server kurulumlarını tarayın.
  • Manuel Kontrol: Özellikle izole ağlarda veya bulut ortamlarında manuel kontroller yapın.

Örnek Keşif Sorgusu:

SELECT @@SERVERNAME AS ServerName,
       SERVERPROPERTY('ProductVersion') AS ProductVersion,
       SERVERPROPERTY('Edition') AS Edition

2. Veri Toplama

Her SQL Server kurulumu için aşağıdaki bilgileri toplayın:

  • Sunucu adı ve IP adresi
  • SQL Server sürümü ve edition’ı
  • Service Pack ve Cumulative Update bilgileri
  • Kurulu özellikler (SSRS, SSIS, vb.)
  • Fiziksel/sanal sunucu bilgisi
  • Donanım özellikleri
  • Aktif kullanıcı sayısı

Örnek Veri Toplama Sorgusu:

SELECT 
    SERVERPROPERTY('MachineName') AS ServerName,
    SERVERPROPERTY('ServerName') AS InstanceName,
    SERVERPROPERTY('Edition') AS Edition,
    SERVERPROPERTY('ProductLevel') AS ProductLevel,
    SERVERPROPERTY('ProductVersion') AS ProductVersion,
    (SELECT COUNT(*) FROM sys.databases) AS DatabaseCount,
    (SELECT SUM(size*8/1024) FROM sys.master_files WHERE type_desc = 'ROWS') AS TotalDataSizeMB

3. Verileri Organize Etme

  • Merkezi bir SQL Server veritabanında tüm envanter bilgilerini saklayın.
  • Her sunucu için benzersiz bir tanımlayıcı atayın.
  • Sunucuları kategorilere ayırın (üretim, test, geliştirme).

Örnek Tablo Yapısı:

CREATE TABLE SQLServerInventory (
    InventoryID INT PRIMARY KEY IDENTITY,
    ServerName NVARCHAR(128),
    InstanceName NVARCHAR(128),
    Edition NVARCHAR(50),
    Version NVARCHAR(50),
    DatabaseCount INT,
    TotalDataSizeMB DECIMAL(10,2),
    LastUpdated DATETIME DEFAULT GETDATE()
)

4. Lisans Eşleştirmesi

  • Mevcut lisansları sunucularla eşleştirin.
  • Lisans türlerini (per core, server+CAL) belirleyin.
  • Software Assurance kapsamını kontrol edin.

Örnek Lisans Raporu Sorgusu:

SELECT 
    ServerName,
    Edition,
    CASE 
        WHEN Edition LIKE '%Enterprise%' THEN 'Per Core'
        WHEN Edition LIKE '%Standard%' THEN 'Server + CAL'
        ELSE 'Unknown'
    END AS LicensingModel,
    CASE 
        WHEN SoftwareAssurance = 1 THEN 'Covered'
        ELSE 'Not Covered'
    END AS SoftwareAssuranceStatus
FROM SQLServerInventory

5. Kullanım Analizi

  • Sunucu kullanım oranlarını izleyin.
  • Aktif veritabanlarını ve boyutlarını kontrol edin.
  • Kullanılan özellikleri belirleyin.

Örnek Kullanım Analizi Sorgusu:

SELECT TOP 10
    DB_NAME(database_id) AS DatabaseName,
    COUNT(*) * 8 / 1024 AS SizeInMB,
    MAX(last_user_seek) AS LastUserSeek,
    MAX(last_user_scan) AS LastUserScan,
    MAX(last_user_lookup) AS LastUserLookup,
    MAX(last_user_update) AS LastUserUpdate
FROM sys.dm_db_index_usage_stats
GROUP BY database_id

6. Düzenli Güncelleme

  • En az üç ayda bir tam güncelleme yapın.
  • Değişiklikleri takip eden otomatik bir süreç oluşturun.

Örnek Güncelleme İş Akışı:

  1. Aylık otomatik keşif taraması çalıştırın.
  2. Sonuçları merkezi veritabanıyla karşılaştırın.
  3. Yeni veya değişen kurulumları tespit edin.
  4. IT ekibine bildirim gönderin.
  5. Manuel doğrulama yapın.
  6. Merkezi veritabanını güncelleyin.

7. Raporlama

  • Sürüm dağılımı, lisans kullanımı gibi önemli metrikleri raporlayın.
  • Yönetim için aylık özet raporlar hazırlayın.

Örnek Rapor Sorgusu:

SELECT 
    Edition,
    COUNT(*) AS InstanceCount,
    SUM(DatabaseCount) AS TotalDatabases,
    SUM(TotalDataSizeMB) / 1024 AS TotalDataSizeGB
FROM SQLServerInventory
GROUP BY Edition
ORDER BY InstanceCount DESC

Envanter Yönetimi Yapılmazsa Neler Olur?

  1. Lisans Uyumsuzluğu:
    Örnek: Bir şirket, envanter yönetimi eksikliği nedeniyle lisans denetiminde başarısız oldu ve $500,000 ceza ödedi.
  2. Maliyet Artışı:
    Örnek: Bir kuruluş, kullanılmayan SQL Server kurulumlarını tespit edemediği için yıllık $200,000 fazladan lisans maliyetine katlandı.
  3. Güvenlik Riskleri:
    Örnek: Bir perakende şirketi, güncellenmeyen bir SQL Server 2008 kurulumu nedeniyle veri ihlali yaşadı ve milyonlarca müşteri verisi çalındı.
  4. Performans Sorunları:
    Örnek: Bir online oyun şirketi, aşırı yüklenmiş SQL Server kurulumlarını tespit edemediği için kullanıcı deneyiminde ciddi sorunlar yaşadı ve müşteri kaybetti.
  5. Yanlış Karar Verme:
    Örnek: Bir IT yöneticisi, mevcut SQL Server kullanımını tam bilmediği için gereksiz bir yükseltme projesine $1 milyon harcadı.
  6. Acil Durum Hazırlığının Olmaması:
    Örnek: Bir finans kurumu, tüm SQL Server kurulumlarının tam bir envanterine sahip olmadığı için felaket kurtarma tatbikatında başarısız oldu.

Sonuç: Proaktif Envanter Yönetimi

SQL Server envanter yönetimi, reaktif bir yaklaşım değil, proaktif bir strateji olmalıdır. Düzenli ve sistematik bir envanter yönetimi süreci, organizasyonunuzun IT altyapısını daha verimli, güvenli ve uyumlu hale getirecektir.

Sizin SQL Server envanter yönetimi deneyimleriniz neler? Hangi araçları ve teknikleri kullanıyorsunuz? Yorumlarınızı ve sorularınızı bekliyoruz!

Leave a Reply

Your email address will not be published. Required fields are marked *