Ay: Ekim 2016

Extended Events Kullanarak DeadLock’a Düşen Sorguları Yakalamak

Uygulamacılar bazen deadlock hatası alırlar ve hangi sorgularda bu hatayı aldıklarını göremezler. Bu yüzden veritabanında deadlock hatası alıyoruz diyerek kapınızı çalabilirler. Böyle bir durumda Extended Events ya da SQL Server Profiler kullanarak deadlock’a düşen sorguları yakayalayabiliriz.   DeadLock Nedir sorusunun cevabını “SQL Server’da DeadLock Nedir?” isimli makalemde bulabilirsiniz.   Extended Event kullanarak DeadLock’a düşen sorguları […]

SQL Server’da DeadLock Nedir?

DeadLock nedir? Film yıldızı ismi gibi dursada uygulamalarda ciddi anlamda sıkıntıya sebep olmaktadır. DeadLock’ı kısaca özetlemek istersek iki veya daha fazla transaction’ın birbirini kilitlemesi ve ikisinin de birbirini beklemeye başlamasıdır. SQL Server bu durumun sona ermeyeceğini anlar ve transaction’lardan bir tanesini kill edip rollback yapar. DeadLock örneği için verilen en klasik örnek şudur: İki öğrenci […]

the ‘microsoft.ace.oledb.12.0’ provider is not registered on the local machine hatasının çözümü

Bu hatayı sql server’a Excel gibi bir dosyadan veri import etmek istediğinizde alabilirsiniz. Çözüm olarak SQL Server’ın kurulu olduğunu sunucuya Microsoft Access Database Engine 2010 Redistributable kurmanız gerekir.   Aşağıdaki linkten indirip kurabilirsiniz. https://www.microsoft.com/en-us/download/details.aspx?id=13255   Kurulumu yapacağınız sunucu 64 bitse 64 bitlik sürümünü indirmeniz gerekir. Sunucunuzun kaç bit işletim sistemi kullandığını öğrenmek için çalıştır’a msinfo32 […]

SQL Server Compatibility Level Nedir(Upgrade Sonrası Compatibility Level)

SQL Server Compatibility Level, veritabanının SQL Server’ın hangi sürümüyle uyumlu olduğunu gösterir. Özellikle upgrade işlemlerinde daha az sorunla karşılaşılması için Microsoft’un sağladığı bir özelliktir. Küçük versiyonlu bir veritabanının backup’ını alıp daha büyük versiyonlu bir SQL Server’a restore ettiğinizde Compatibility Level eski sürümde kalır.(SQL Server 2005’ten SQL Server 2014’e restore ederseniz SQL Server 2012’nin desteklediği minimum […]

User, group, or role already exists in the current database hatasının çözümü

Veritabanını başka bir instance üzerinden taşıdınız ve login’i eski instance’dan yeni instance’a taşımak yerine bu veritabanı için yeni bir login oluşturdunuz.  “Loginleri başka bir instance’ a taşımak” isimli makalemi okumanızı tavsiye ederim. Bu oluşturduğunuz login’i aktardığınız veritabanında yetkilendirmek istediğinizde bu hatayı alabilirsiniz. Sebebi veritabanı için oluşturduğunuz bu login ile aynı isimde bir user olmasıdır. Aşağıdaki […]