Etiket arşivi: SQL Server mimari

SP, View, Function, Trigger, System Base Tables (SQL Server Mimarisi – VI)

Bundan önce SQL Server mimarisini anlattığımız yazılardan table ve index datasının içeriğinin nasıl depolandığını biliyoruz. Peki Stored Procedure, View, Function, Trigger benzeri nesneler nerede store ediliyor. Bunlar tabiki MDF içerisinde aynı mantıkta Page’ler içerisinde saklanmaktadır. Bu nesneler System Base Tables olarak tanımlanan sistem tablolarında tutulmaktadır. Bu tablolar mevcut veri tabanlarına ait metadata bilgisini saklar. Bu tablolar kullanıcı erişimi için değil SQL Server Database Engine tarafından kullanılır. Bu tablolar ancak Dedicated Administrator Connection (DAC) bağlantısıyla erişilebilir. Okumaya devam et

Boot Page, DBCC DBINFO (SQL Server Mimarisi – V)

Boot Page Nedir? Birçok kişi SQL Server’da Boot Page bozulma sorununu yaşamıştır. Her veri tabanı kendisi hakkında kritik bilgileri içeren bir Page’a sahiptir. Bu page FileId=1 ve PageId=9 olarak oluşturulur. Bu sayfanın en önemli özelliği sözkonusu veri tabanını başlangıcını temsil ediyor olmasıdır. Bu sayfanın bozulması durumunda hiçbir şekilde o veri tabanı ayağa kaldırılamaz, DBCC CHECKDB gibi yöntemler de fayda sağlamaz. Page (1:9)’da corrupt oluşması durumunda yapılacak tek şey elimizdeki yedekten Restore işlemi yapmaktır.

DBCC PAGE(BLOG, 1, 9, 3) komutu aracılığıyla BLOG isimli veri tabanının başlangıç sayfasını dump etmiş oluruz. Page’in içeriğinde veri tabanının ilk oluşturulduğu versiyonu, şu anki sunucunun versiyonu (dbi_Version ve dbi_CreateVersion), son (Full, Log, Differential) backup alma zamanı, yedeğin alındığı LSN numarası (Log Sequence Numbers), dirty pages LSN numarası, DBCC CHECKDB en son ne zaman başarıyla çalıştığı (dbi_DBCCLastKnownGood) gibi bilgiler bulunmaktadır.

Bu bilgilere aynı zamanda DBCC DBINFO komutuyla da erişebiliriz.

DBCC DBINFO('BLOG') 
--veya
DBCC DBINFO('BLOG') WITH TABLERESULTS

Boot Page’in bozulması durumunda aşağıdaki gibi bir hata mesajı ile karşılaştırız.

SQL Server detected a logical consistency-based I/O error: incorrect checksum (expected: 0xcdee22fa; actual: 0xcb6ea2fa). It occurred during a read of page (1:9) in database ID 19 at offset 0x00000000013000 in file ‘C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\BLOG.mdf’. Additional messages in the SQL Server error log or system event log may provide more detail. This is a severe error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online.

Table, Index, Clustered, NonClustered, Columnstore (SQL Server Mimarisi – IV )

SQL Server veri tabanı mimarisi serisinin dördüncü bölümünde Table ve Index nesnelerinin nasıl oluşturulduğu, MDF içerisinde nasıl konumlandırıldığını detaylandıracağız. Bu amaçla temel olarak aşağıdaki kavramları incelemiş olacağız.

SQL Server Table, Heap, B-Tree (Balanced Search Tree), Index
Clustered Index,
NonClustered Index,
Columnstore Index

Okumaya devam et