System View larını Kullanarak SQL Server Bilgilerine Erişmek

Bu makalemide ki hedefimiz sistem objelerini kullanarak erişiminizin olduğu veya yönettiğimiz SQL Server ın ana temel bilgilerine nasıl erişebilirsiniz onu göstermek.

Kullandığımız Sql Server ‘ın Verisyonunu öğrenmek istediğimiz de,

SELECT @@VERSION;

Bu fonksiyon ile istediğimiz bilgiye ulaşanbiliriz.

SQL Server ımzın koştuğu Windows sunucu bilgilerini ise sys.dm_os_windows_info  DMV si ile öğreniriz.

SELECT * FROM sys.dm_os_windows_info;

Sorgu sonucuna göre ,

  • windows_release : İşletim sisteminin versiyon numarasını verir. ( 6.3 versiyonu Windows Server 2012 R2 yi ifade eder.)
  • windows_service_pack_level : İşletim sisteminin service pack seviyesini verir.
  • windows_sku : İşletim Sistemi Stock Keeping Unit (SKU) ID’sini verir.
  • os_language_version : İşletim sistemi dil numarasını verir.  (1033 language versiyonu English – United States dil seçeneğini ifade eder.

NOT : Windows Release şeması :

Operating system Version number
Windows 10 10.0*
Windows Server 2016 10.0*
Windows 8.1 6.3*
Windows Server 2012 R2 6.3*
Windows 8 6.2
Windows Server 2012 6.2
Windows 7 6.1
Windows Server 2008 R2 6.1
Windows Server 2008 6.0
Windows Vista 6.0
Windows Server 2003 R2 5.2
Windows Server 2003 5.2
Windows XP 64-Bit Edition 5.2
Windows XP 5.1
Windows 2000 5.0

NOT 2 : Dil seçemeği içinde bu linke tıklayarak kodunuzun karşılığını bulabilirsiniz. 

sys.dm_server_registry;

SQL Server 2012 ile birlikte gelen yeni DMV’lerden biridir. Bu DMV sayesinde SQL Server instance’ınızın Windows Registry’de tutulan bütün konfigurasyon ve installation bilgilerine ulaşabilirsiniz.

SELECT
	*
FROM sys.dm_server_registry
WHERE registry_key LIKE '{6189a1005e4f6dc613b8beb03d694ce50f0902974162d6a7dea944a970422cc9}contr{6189a1005e4f6dc613b8beb03d694ce50f0902974162d6a7dea944a970422cc9}';

select * from sys.dm_os_sys_info

Yukarıda yazdığımız DMV sayesinde istediğimiz sonuçlara ulaşabiliriz.Aşağıdaki yazdığım scripti çalıştırın ve sonucunu test edin.

SELECT cpu_count AS [Çekirdek Sayısı], hyperthread_ratio AS [HYP_Ratio],
cpu_count/hyperthread_ratio AS [İşlemci Sayısı], 
physical_memory_in_bytes/1048576 AS [RAM (MB)], 
sqlserver_start_time AS [SQL Serverın Başlangıç Tarihi]
FROM sys.dm_os_sys_info

Ya da SQL Server UpTime ını sorgulama ,

select DATEDIFF(MINUTE, sqlserver_start_time, CURRENT_TIMESTAMP) as SQLServerUpTime_minute
from sys.dm_os_sys_info

sys.sysprocesses ;

Process ler hakkında bilgi veren DMV dir ve 50 nin altı system process leri olduğundan genelde spid>50 olarak kullanılır.

SELECT hostname, loginame, cmd FROM sys.sysprocesses WHERE spid> 50;

 

 

Örnek Sistem Tabloları ve İşlevleri : 

System Tables DatabaseName  İşlevi
sysdatabases Master Her satırda bir veritabanı içerir.
syslogins Master Her satırda SQL Server’a bağlanmak için bir login hesabı içerir.
sysmessages Master Her satırda SQL Server’ın verebileceği bir hata mesajı ya da uyarı içerir.
sysalerts MSDB Her uyarı için bir satır içerir.
syscategories MSDB SQL Server Management Studio tarafından; işleri, uyarıları ve operatörleri kaydetmek amacıyla kullanılan kategorileri içerir.
sysdownloadlist MSDB Tüm hedef sunucular için download talimatlarının sırasını içerir.
sysjobactivity MSDB O anki SQL Server Agent işinin etkinliği ve durumu hakkındaki bilgileri içerir.
sysjobhistory MSDB SQL Server Agent tarafından planlanmış işlerin uygulaması hakkındaki bilgileri içerir.
sysjobs MSDB SQL Server Agent tarafından tamamlanmış olması gereken her planlanmış iş ile ilgili bilgileri depolar.
sysjobschedules MSDB SQL Server Agent tarafından tamamlanmış olması gereken işlerin plan bilgilerini içerir.
sysjobservers MSDB Belirli bir iş ile bir ya da daha fazla hedef sunucu arasındaki tüm bağların bilgilerini içerir.
sysjobsteps MSDB SQL Server Agent tarafından tamamlanmak üzere olan bir işin her aşamasıyla ilgili bilgileri içerir.
sysjobstepslogs MSDB İş aşamalarının günlükleriyle ilgili bilgileri içerir.
sysmail_allitems MSDB Veritabanı Postası tarafından işlenmiş her mesaj için bir satır içerir.
sysmailevent_log MSDB Veritabanı Posta Sistemi tarafından geri çevrilen her Windows ya da SQL Sunucusu mesajı için bir satır içerir.
sysmail_faileditems MSDB Başarısız durumdaki her Veritabanı Posta mesajı için bir satır içerir.
sysmail_mailattachments MSDB Veritabanı Postasına iliştirilen her ek için bir satır içerir.
sysmail_sentitems MSDB Veritabanı Postası tarafından gönderilen her mesaj için bir satır içerir.
sysmail_unsentitems MSDB “Gönderilemedi” veya “tekrar deneniyor” durumundaki her Veritabanı Posta Mesajı için bir satır içerir.
sysnotifications MSDB Her bildirim için bir satır içerir.
sysoperators MSDB Her SQL Server Agent operatörü için bir satır içerir.
sysproxies MSDB SQL Server Agent yetkili hesaplarıyla ilgili bilgileri içerir.
sysproxylogin MSDB Her SQL Server Agent yetkili hesabıyla ilişkilendirilmiş SQL Server oturumunu kaydeder.
sysproxysubsystem MSDB Her yetkili hesabıyla kullanılan SQL Server alt sistemini kaydeder.
sysschedules MSDB SQL Server Agent iş planlarıyla ilgili bilgileri içerir.
syssessions MSDB Her SQL Server Agent oturumu için SQL Server Agent’ın başlagıç tarihini içerir.
syssubsystems MSDB Mevcut tüm SQL Server Agent yetkili alt sistemlerle ilgili bilgileri içerir.
systargetservergroupmembers MSDB O anda çok sunuculu grupta listelenmiş olan hedef sunucuları kaydeder.
systargetservergroups MSDB O anda çok sunuculu ortamda listelenmiş hedef sunucu gruplarını kaydeder.
systargetservers MSDB O anda çok sunuculu işlem etki alanında listelenmiş hedef sunucuları kaydeder.
systaskids MSDB SQL Server’ın önceki sürümlerinde oluşturulmuş görevlerle, güncel Microsoft SQL Server 2005 Management Studio’daki işler arasındaki eşleştirmeleri içerir.
sysaltfiles Hepsinde Özel durumlarda, veritabanındaki dosyalara karşılık gelen satırlar içerir.
syscacheobjects Hepsinde Önbelleğin nasıl kullanıldığına dair bilgiler içerir.
syscharsets Hepsinde SQL Server 2005 veritabanı motoru tarafından kullanılmak üzere her karakter için bir satır içerir ve bunları sıralar.
syscolumns Hepsinde Veritabanında kayıtlı her işlem parametresini ve tablolardaki her sütunu satıra çevirir.
syscomments Hepsinde Veritabanında tutulan her tablo, kural, varsayılan değer, varsayılan kısıtlaması ve kontrol kısıtlaması için girdi içerir.
sysconfigures Hepsinde Kullanıcı tarafından tanımlanmış her kurulum seçeneği için bir satır içerir.
sysconstraints Hepsinde Veritabanında yer alan objeler ve bu objelerle ilgili kısıtlamaların eşleştirmesini içerir.
syscurconfigs Hepsinde Geçerli kurulumun her seçeneği için bir girdi içerir.
sysdepends Hepsinde Veritabanındaki objelerle (tablo, işlem ve deklanşörler) tanımlarının içerdiği objeler arasındaki bağla ilgili bilgiler içerir.
sysdevices Hepsinde Diskteki her yedek dosyası, banttaki her yedek dosyası ve veritabanındaki her dosya için bir satır içerir.
sysfilegroups Hepsinde Veritabanındaki her dosya grubu için bir satır içerir. Bu tabloda ana dosya grubu için en az bir girdi mevcuttur.
sysfiles Hepsinde Veritabanındaki her dosya için bir satır içerir.
sysforeignkeys Hepsinde Veritabanındaki tanım tablosunda bulunan dış anahtar (foreign key) kısıtlamalarıyla ilgili bilgileri içerir.
sysfulltextcatalogs Hepsinde Tüm metin katalogları hakkında bilgiler içerir.
sysindexes Hepsinde Aktif veritabanındaki her tablo ve her dizin için bir satır içerir.
sysindexkeys Hepsinde Veritabanı dizinindeki anahtarlar veya kolonlar ile ilgili bilgileri içerir.
syslanguages Hepsinde SQL Server 2005’te mevcut olan tüm diller için bir satır içerir.
syslockinfo Hepsinde Beklemedeki, değişim halindeki ve kabul edilmiş tüm kilit değişiklikleriyle ilgili bilgileri içerir.
sysmembers Hepsinde Veritabanı görevindeki her üye için bir satır içerir.
sysobjects Hepsinde Her bir satırda o veritabanındaki objelerden birini içerir.
sysoledbusers Hepsinde Özel bağlı sunucuda her kullanıcı ve şifre eşleştirmesi için bir satır içerir.
sysperfinfo Hepsinde Windows Sistem Monitörü tarafından görüntülenebilen, SQL Server 2005’in performans ölçücü veritabanı motorunun gösterimini içerir.
syspermissions Hepsinde Veritabanındaki kabul ve reddedilmiş tüm kullanıcı, grup ve görev izinleri ile ilgili bilgileri içerir.
sysprocesses Hepsinde Microsoft SQL Server örneğinde geçerli tüm işlemlerle ilgili bilgileri içerir.
sysprotects Hepsinde GRANT ve DENY komutları yardımıyla veritabanındaki güvenlik hesaplarına verilen izinlerle ilgili bilgileri içerir.
sysreferences Hepsinde Veritabanındaki ilişkili kolonlarla DIŞ ANAHTAR (FOREIGN KEY) kısıtlama tanımlarının eşleştirmesini içerir.
sysremotelogins Hepsinde Microsoft SQL Server 2005 örneğinde stoklanmış işlemleri çağırmaya izinli tüm uzak kullanıcılar için bir satır içerir.
sysservers Hepsinde Bir Microsoft SQL Server 2005 örneğinin OLE DB veri kaynağı olarak erişebildiği tüm sunucular için bir satır içerir.
systranschemas Hepsinde Karşılıklı yayımlanan makale ve reklamlardaki şemalarda yapılan değişiklikleri takip etmek için kullanılır.
systypes Hepsinde Veritabanında, kullanıcı tarafından tanımlanmış ve sistemde bulunan her türlü veri için bir satır dönüştürür.
sysusers Hepsinde Her satırda bir NT kullanıcısı, NT grup, SQL Server kullanıcsı ya da SQL rolü içerir.

 

Leave a Reply

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