Pazartesi , 20 Kasım 2017

SQL Server

SQL Serverdaki Veritabanlarının Recovery Model Değişimi Geçmişini Görüntülemek

SQL Serverda veritabanı seviyesinde yaptığımız Recovery model ayarı hem veritabanının etkin bir şekilde yönetilmesi hem de olası bir hata durumunda veritabanımızdaki verilerimizin kurtarılması işlemiyle doğrudan ilgilidir. Bu nedenle kendi sistemimize ve Recovery planımıza uygun olan Recovery modelin seçimi çok önemlidir. Bildiğimiz gibi kullanabileceğimiz üç farklı Recovery model türü var. Bazen bir veritabanının Recovery modelini değiştirme ihtiyacı duyabiliriz. Örneğin Full Recovery ... Devamını Oku »

Resimlerin SQL Server Tablolarına Kaydedilmesi

Resim, müzik hatta Word, Excel gibi dosyaların yani yapısal olmayan verilerin(unstructured data) veritabanında Binary formatta tutulması tavsiye edilmese bile bazen kaçınılmaz bir ihtiyaç haline gelebiliyor. Örneğin sık karşılaşılan resim dosyalarının SQL Serverda bir tabloda Binary formatta tutulması yerine performans için bu resimlerin ortak erişilebilen paylaştırılmış bir klasörde tutulması ve SQL Serverda bu resimlerin fiziksel yolunun tutulması daha performanslı bir çözüm ... Devamını Oku »

SQL Server Integration Service 2012 Expression Task Bileşeni

SQL Server 2012 ile beraber SSIS(SQL Server Integration Service) kısmına yeni eklenen bir bileşen olan Expression Task bileşeni paketlerimizin içindeki parametre ve değişkenlere çalışma zamanında değer ataması yapmak için kullanılmaktadır. Çok basit bir iş gibi görünen değişken ve parametrelere iş akışına göre çalışma zamanında yeni değer atama işlemi SQL Server 2012 ile beraber aynı bir bileşen olarak eklenmiştir. SQL Server ... Devamını Oku »

SQL Server 2014 Buffer Pool Extension Özelliği

SQL Server kullanırken karşılaştığımız sorunların büyük kısmı I/O kaynaklıdır.Bu sebeple SQL Server I/O işlemlerini azaltmak adına sık eriştiği verileri içeren page’leri diskten okumak yerine RAM üzerinde Buffer Pool ya da buffer cach’da tutmaktadır. Bu sebeple makineye fiziksel olarak RAM eklemek Buffer Pool için kullanılacak alanı boyutunu büyütecek ve buna paralel olarak performans artacaktır. Fakat bazı durumlarda halihazırda kullandığımız makinelere daha ... Devamını Oku »

SQL Server 2014 Paralel Select Into Yeniliği

SQL Server 2014 ile gelen bir başka yenilik Select ifadesini kullanarak bir tablonun tamamı veya bir kısmını kullanarak yeni bir tablo oluşturduğumuz durumlarda bu işlemin paralel bir şekilde yapılması ve dolayısıyla da daha kısa sürede bitmesini sağlamasıdır. SQL Server 2014 öncesi sürümlerde de kullandığımız Select Into komut yapısı SQL Server 2014 sürümüyle beraber paralel olarak çalışmayı desteklemektedir. Bu yeniliğin kullanılması ... Devamını Oku »

SQL Server Sorgularımızın Anatomisi ve Query Process Yapısı

Güncel hayatta karşılaştığımız teknik problemler ne kadar karmaşık olursa olsun çözüme ulaşabilmek için ilgili konuyla ilgili bilgi birikimimizi sağlam temeller üzerine kurmuş olmamız gerekmektedir. Çünkü bir probleme müdahale edebilmek için arka planda kullandığımız sistemin nasıl davrandığını iyi kavramamız gerekir. Benzer şekilde SQL Server tarafında sık karşılaştığımız sorgularımızda ortaya çıkan performans gibi birçok karmaşık sorunu çözebilmek adına SQL Server’ın bizim sorgumuzu ... Devamını Oku »

Aktif Pasif SQL Server Failover Cluster İçinde Aktif Olan Nodu Bulmak

SQL Server Failover Clustering kullanıyorsanız ve aktif-pasif modda çalışıyorsanız bazen aktif olan nodun hangi nod olduğuna ihtiyacımız olabilir. Bu durumda SQL serverın built-in fonksiyonlarından SERVERPROPERTY fonksiyonunu ComputerNamePhysicalNetBIOS parametresi ile çalıştırdığımızda bize o anda aktif olarak SQL Serverın üzerinde çalıştığı makinenin NetBIOS adını verecektir. Eğer Failover Clustering kullanıyorsak bu değer Failover durumunda değişecektir ve her defasında aktif olan nodun NetBIOS adını verecektir. SERVERPROPERTY fonksiyonu aşağıdaki ... Devamını Oku »

T-SQL ile Gruplanan Değerlerin Birleştirilmesi

Verilerimiz üzerinde gruplama işlemi yaparken Group by ifadesini kullanıyoruz. Group by ile verilerimizi gruplayabildiğimiz gibi aynı zamanda Sum gibi gruplama fonksiyonlarını kullanarak gruplama yaptığımız seviyedeki verilerinde toplamlarını alabiliriz. Fakat Sum fonksiyonu ile sadece numerik verilerin toplandığını biliyoruz. Bazen gruplama yaptığımızda alanlar dışında kalan numerik ya da numerik olmayan alanların toplanmasını değil birleştirilmesini isteriz. Örneğin bir tabloda öğrencilerin numaraları ve aldıkları ... Devamını Oku »

SQL Server Deadlock Kavramı ve Deaclok’ların Loglanması

Deadlock, eş zamanlı(Concurrent) çalışan sistemlerin doğal davranışlarından biridir. Kavram olarak iki farklı process’in işlemlerine devam edebilmeleri için birlerinin üzerinde çalıştığı kaynağı bekliyor olmasıdır. Böyle bir durumda her iki process’de devam edebilmek adına birbirlerini beklemektedir. Bu bekleme çok uzun sürüp bitmeyeceği için de SQL Server aralarında maliyeti düşük olanını seçerek ilgili processlerden birini onlandırıp diğerinin devam etmesini sağlar ki bu process’lerden ... Devamını Oku »

SQL Serverda Bilinçsiz Tür Dönüşümü İşleminin Performansa Etkisi

Benzer olmayan veri tipine sahip verileri karşılaştırmak için SQL Server’ın öncelikle verileri ortak bir türe dönüştürmesi gerekir. Tip dönüşümü iki şekilde yapılabilir. İlk olarak Cast, Convert ve Parse gibi fonksiyonları kullanarak yapılan bilinçli tür dönüşümleri(Explicit Conversion) iken diğer türü ise biz açıkca belirtmememize rağmen SQL Server’ın veriler üzerinde yaptığı bilinçsiz tür dönüşümü (Implicit Conversion) işlemidir. Her iki tür dönüşümü de ... Devamını Oku »