Etiket Sonuçları : AlwaysON Archives - VERITABANI.ORG

SQL Server Resumable Online Index

SQL Server 1 hafta önce

Veri tabanlarımız için oluşturduğumuz Indexlerin bakımının önemini hepimiz biliyoruz. Fakat bakım çalışmalarının uzun sürmesi mesai saatlerinde bitmemesi bizler için oldukça can sıkıcı bir durumdur. SQL Server 2017 ile Resumable Online Index Rebuild özelliği sayesinde Index bakımlarını iptal etmek zorunda kalmadan o ana kadar yapılan bakım işlemini duraklatıp daha sonra kaldığı yerden devam edebiliriz. SQL Server 2019 ve sonrası sürümlerde ise Resumable Online Index özelliği geldi. Bu özellik sayesinde büyük tablolarda uzun süren yeni bir Index oluşturma işlemini durdurabilir ve daha sonra kaldığı yerden devam edebiliriz Şimdi SQL Server 2019 üzerinde bu iki özelliğimizide görebileceğimiz testlerimize başlayalım 🙂 Önce yeni bir Non-Clustered Index oluşturalım ve bu işlemi Resumable özelliğini kullanarak yapalım. Burada önemli olan nokta bu işlemi tek başına kullanırsanız hata alırsınız mutlaka ONLINE=ON komutuyla beraber kullanmamız gerekiyor Index işlemimiz devam ederken PAUSE, RESUME ve ABORT komutlarıyla nelere yapabileceğimize bakabiliriz. PAUSE komutuyla başlayalım ve devam etmekte olan Indeximizi durduralım sonrasında Index […]

SQL Server 2000-2014 Sürümlerinin Özellikleri

SQL Server 4 ay önce

SQL Server sürümleriyle gelen özellikler, Her sürümde eklenen önemli işlevler ve gelişmeler hakkında bilgi sahibi olmak  Bu yazımda sizlere SQL Server sürümlerinde gelen özellikler hakkında kısa ön bilgilendirme yapmak istedim.  Bu yazımız ile detaylı olarak tüm özelliklere ulaşabiliriz. SQL Server 2000 Özellikleri

File Share Witness Çalışma Mantığı Ekleme ve Kaldırma İşlemleri

SQL Server 8 ay önce

File Share Witness Çalışma Mantığı Ekleme ve Kaldırma İşlemleri Merhaba arkadaşlar Bu yazımızda Windows Failover Cluster (WFC) mimarisinde bulunan File Share Witness hakkında çalışma mantığı ekleme ve kaldırma işlemlerini sizler ile  paylaşacağım. Öncelikle WFC veri tabanı sunucularının(Node) birbiri ile iletişimi sağlayan genel çerçeve denilebilir. SQL Server Always On Hight Availability Mimarisi kullanılan sistemler yedek sunucular ile kesintisiz hizmet vermeyi amaçlar. Bu sunucular birbiri ile eşlenik ve anlık olarak aynı verilere sahip olmayı sağlar (Senkron). Yoğunluklara göre Asenkron olduğu yerlerde vardır. Bu sayede olası bir durum (Elektrik kesintisi, Donanımsal Arıza, Doğal Afetler ) olduğu zamanlarda SQL Server Always On Hight Availability Mimarisinde WFC içerisinde Senkron olan Node ‘muza Failover (Yük Devretme) işlemini otomatik olmasını sağlamak için File Share Witness önemli rol oynamaktadır. Peki bu rolumüz nedir ? nasıl çalışır ? Cluster Mimarisinin Çalışması Cluster’ın çalışmaya devam edebilmesi için gereken minimum oy sayısını (Toplam Oy Sayısı / 2) + 1 formülüyle hesaplanır. […]

SQL Server Table Partition Switch

SQL Server 11 ay önce

Modern veri merkezlerinde ve büyük ölçekli bilişim sistemlerinde, sistemlerin esnekliği ve verimliliği üzerine yapılan çalışmalar, partition switch’lerin (bölünme anahtarları) kritik rolünü giderek daha belirgin hale getirmektedir. Bu yazımızda sizlere Partition Switch işleminden bahsedeceğim. Partition Switch öncesi Partition işleminin nasıl yapıldığı hakkında bilgi almak için Duran BÜYÜKÖZTÜRK hocamın SQL Server Table Partition Oluşturmak makalesine göz atabilirsiniz. Öncelikle yapısal olarak birebir eş iki tablo oluşturuyoruz (Alan sayıları ve alanların Data tipleri eşit ve her ikisi de aynı Partition schema üzerinden partiton yapılmış). Resimde görüldüğü üzere içerisinde veri bulunan tablomuz ‘Satislar’, İçerisine switch işlemi ile verileri atacağımız tablomuz ‘Satislar2’. Bu iki tablo yapısal olarak birbirleriyle eş tablolardır ve aynı partition schema üzerine partition yapılmıştır. SELECT p.partition_number,p.partition_id, fg.name AS [filegroup],r.boundary_id, CONVERT(DATE,r.value) AS BoundaryValue, p.rows FROM sys.tables AS t INNER JOIN sys.indexes AS i ON t.object_id = i.object_id INNER JOIN sys.partitions AS p ON i.object_id = p.object_id AND i.index_id = p.index_id INNER JOIN sys.allocation_units a […]

MSSQL Server ColumnStore Index

SQL Server 1 yıl önce

SQL Server’da Columnstore Index  Arşivlenmiş veriler, büyük veri ambarları ve analitik sorgular için performansı artıran bir index türüdür. Geleneksel satır tabanlı Index yerine, verileri sütunlar halinde depolar ve sorgu performansını önemli ölçüde artırır. MSSQL Server ‘da ColumnStore İndex ‘in Avantajları, Kullanım alanları , Sürümlere göre farkları , Performansa etkisi ve en önemlisi Data boyutunuzdaki Compress(Sıkıştırma) özelliğini nasıl kullandığını anlatmaya çalışacağım. İlk olarak SQL Server 2012‘de tanıtılan Columnstore Index, sütun bazında depolanan İndex’in oluşturulmasına olanak tanıyan ve Memory kullanan bir yapıdır. Sorgu performansını  mükemmel seviyeye taşıyabilecek bir index türüdür. Bir columnstore index, verileri farklı bir index Pagelerde depolar ve verileri büyük ölçüde sıkıştırır. Ayrıca, işleme hızını büyük ölçüde artıran ve CPU kullanımını azaltan yeni bir Batch Mode Processing modu sunar. Yeni depolama türü, sıkıştırılmış veriler ve batch mode processing işleminin birleşimi, SQL Server’ın daha az veri okumasını ve sorgu performansını büyük ölçüde iyileştirmesini sağlar. Peki bu yeni index geleneksel index’den nasıl […]

SQL Server AlwaysON “Not Synchronizing / Suspect”

SQL Server 1 yıl önce

“Not Synchronizing / Suspect” SQL Serer AlwaysOn mimarisinde bulunan sunucuların veri tabanlarında bu sorunun meydana gelmesinde birçok neden vardır. Bunlar; Ağ Sorunları: AlwaysOn mimarisinde, ana sunucu ve ikincil sunucular arasında veri senkronizasyonu için gerekli olan ağ bağlantısı sorunları. Disk Sorunları: Veri tabanı dosyalarının tutulduğu disklerde disk doluluğu, disk arızası gibi disk sorunlarının meydana gelebilir. Log Dosyası Sorunları: Veri tabanlarının log dosyalarının bozulması veya dolması durumu. Bekleyen İşlemler: Veri tabanında bekleyen bir işlem (örneğin, büyük bir sorgu veya bir yedekleme işlemi) diğer işlemleri engellemesi durumunda. Veri tabanı Bozulması: Veri tabanı dosyalarında veya yapılarında bozulma meydana gelmesi. Bakım Yetersizliği: Düzenli yedekleme, veri tabanı kurtarma işlemleri vb. gibi veri tabanı yönetimi için gerekli düzenli bakımların yapılmaması. Bu gibi durumlarda, genellikle SQL Server hata günlüklerine bakarak daha spesifik bir sorun tespit edilebilir ve ardından uygun çözüm yolları belirlenebilir. Biz bu makalede disk sorunu ile karşılaşacağımız için disk sorununun tespiti ve çözümü üzerine gideceğiz. Karşılaşabileceğimiz […]

Database’yi AG eklerken Status “Password Required”

SQL Server 1 yıl önce

Bir veri tabanını Always On Availability Group’a eklerken karşılaşmış olduğum “Password Required” durumunda yapabileceğiniz bir kaç adımdan bahsedeceğim. Öncelikle bu durumla şifrelenmiş veri tabanını  Always On Availability Group’a eklerken karşılaşırsınız. Hangi veri tabanlarında şifreleme olduğunu aşağıda script yardımıyla görebilirsiniz. USE MASTER SELECT * FROM sys.symmetric_keys Şimdi gelelim veri tabanımızı Always On Availability Group’a eklemeye Yukarıda gördüğünüz yere veri tabanını uygulamış olduğunuz şifreyi girmeniz daha sonrasında refresh dediğinizde ilerlemenize izin verecektir. Peki şifremizi unuttuysak neler yapabiliriz 🙂 1- Master key’i drop edebiliriz. USE [DENEMEDB] GO DROP MASTER KEY 2- Master key şifresini değiştirebiliriz. ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD=’YENİ_ŞİFRENİZ’ Her adımı denediniz fakat aşağıdaki gibi bir hata alıyorsanız ne yapmanız gerek? Msg 15329, Level 16, State 2, Line 1 The current master key cannot be decrypted. If this is a database master key, you should attempt to open it in the session before performing this operation. The FORCE option […]

SQL Server Always ON AG (AVAILABILITY GROUP) Yapısı

SQL Server 2 yıl önce

Merhabalar, bu makalemde sizlere SQL Server Always ON AG(Availability Group) yapısından bahsedeceğim. SQL Server Always ON, HA(Yüksek erişebilirlik) üzerine kurulmuş SQL Server mimarilerinden bir tanesi olup, en gelişmişidir. Yüksek erişilebilirlik artık günümüzün olmazsa olmaz mimarileri arasındadır. Kurum ve kuruluşlar için özellikle üretim bazlı firmalar için ise önemi çok yüksektir. Bu nedenle bu sistemleri yapılandırırken sistemlerin sürekliliğinin sağlanması kesintisi olmaması adına yüksek erişilebilirlik mimarisi çok önem arz etmektedir. HA yapı ile birlikte sistemsel, donanımsal veya doğal afete karşın kesintisiz çalışma sağlanmaya çalışılmaktadır. Anlaşılacağı üzere HA yapı için öncelikle gerekli alt yapının kurulması gerekmektedir. Sonrasında ise bu alt yapı üzerindeki üst yapının devreye alınması ve yükün değişik bölgelere yayılımı önemlidir. Örnek verecek olursak bir bölgede meydana gelecek olan yangın esnasında bir DataCenter devre dışı kalacak olur ise sistemlerin bundan etkilenmeden çalışması için yüksek erişilebilirlik mimarisinin farklı lokasyonlar üzerine dağıtılması gerekmektedir. Bu bir bakımı sürekli olarak duyduğumuz Disaster Recovery teriminin karşılığıdır. Always ON […]

AlwaysOn Check Primary ag Kontrolü

SQL Server 2 yıl önce

Merhabalar bu yazımda sizlere AlwaysOn mimarisi bulunan sistemlerde CheckAGPrimary Kontrolünün nasıl yapılacağını anlatacağım. Öncelikle SQL Server ’da AlwaysOn mimarisini bilmeliyiz. AlwaysOn mimarisini kısaca anlatmak gerekir ise SQL Server’da  Databaseslerin başka bir sunucu ile eşlenikli (Aynı Verilerin Bulunması) çalışma mantığıdır. Kullanım amacı ise kriz anında eşlenik sunucudan  veri kaybı olmadan hizmet verebilmek için kullanılmaktadır. AlwaysOn Mimarisi İnstance bazında eşitle yapmaktadır. Yani Databases, Security, Server Objects, Replicasyon, Polybase,Always On High Availability bazında yapılan değişiklikleri Secondary sunucudada aynı değiştirir Fakat SQL Server Agent‘ larda yapılan değişiklikler aktarılmaz. CheckAGPrimary kontrolü ise kullanmış olduğumuz AlwaysOn mimarisinde hizmet veren sunucu (Primary) kontrolü yapmaktadır. Özetlemek gerekirse AG(Avaibility Groups)’ların içinde bulunan Databaselerin primary olduğu sunucu kontrolü yapmak için kullanılır. Kullanımı oldukça kolaydır. Backup Joblarımız kullanım alanlarından bir tanesidir backup jobumuzun Properties açıyoruz. Jobların özelliklerinde işlem yapılacak alan STEP kısmı Burada Yeni bir Step eklememiz gerekiyor onun için New Diyoruz. Açılan Pencerede ise İsmimizi yazıyoruz ve T-SQL Kodumuzu Command […]