SQL Server 2016 (CTP2.1) System-Versioned Tables (Temporal Tables)

standard post
yigitaktan  -  
0 Comments  -  

Bu post’ta uzun süredir yazmayı istediğim fakat zaman bulup yazamadığım bir konu olan SQL Server 2016 ile hayatımıza girecek Temporal Tables veya diğer ismi ile System-Versioned Tables üzerinde duracağız. Bu konuya NDA kapsamında izin verildiği kadarı ile değiniyor olacağım. Read More


AlwaysOn Replica eklenirken alınan hata: The target principal name is incorrect. Cannot generate SSPI context.

standard post
yigitaktan  -  
0 Comments  -  

Bu post’ta bugün karşılaştığım bir hatayı ve çözüm yolunu anlatacağım. Danışmanlık verdiğim müşterime daha önceden 3 replica’lı bir SQL Server 2012 AlwaysOn topolojisi kurmuştuk. Disaster Recovery için atadığımız cloud’da çalışan replica’yı çıkartıp, yine cloud üzerinden fakat farklı bir lokasyondan replica eklemem istendi. Çıkartılacak replica’yı önce Availability Group’tan sonrada Windows Server Failover Cluster’dan çıkarttım. Yeni replica için müşterimdeki DBA arkadaşın hazırladığı sunucuyu eklemek istediğimde SQL Server servisinin kurulması gereken domain account ile yapılandırılmadığını farkettim. Bunun üzerine Configuration Manager üzerinden SQL Server servis account’unu istenildiği şekilde yapılandırdık. Ardından Primary Replica üzerinde yeni node’u eklemek istediğimizde aşağıdaki hata mesajını aldım. Read More


SQL Server 2016 (CTP2) Query Store – Bölüm 1

standard post
yigitaktan  -  
0 Comments  -  

Danışmanlık verdiğim hemen hemen bütün müşterilerimde aynı sorular ile karşılaşıyorum; “Query’im neden bu index’i kullandı?“,  “Query’lerim neden geç geliyor?“, “Query’lerimin performansını nasıl arttırabilirim?“. Bu gibi sorular sorulduğunda ilk “Query plan’ı inceledinizmi?” diye sorarım. Bu şekilde karşı soru yöneltmemin nedeni execution plan (Query Plan) sonucunun bütün bu sorulara cevap olabileceğidir. Read More


SQL Server 2016 CTP2 !

standard post
yigitaktan  -  
0 Comments  -  

Uzun süredir beklenen SQL Server 2016’nın Coummunity Technology Preview 2 versionu herkese açık olarak piyasaya çıktı. CTP2’yi aşağıdaki link’ten indirebilirsiniz. Yakın zamanda SQL Server 2016 ile birlikte gelen yeni özellikleri anlatacağım bir makale serisine başlayacağım. Read More


SQLSaturday #359, ISTANBUL 2014: How to understand if the storage is a problem on the database server?

standard post
yigitaktan  -  
0 Comments  -  

6 Aralık 2014 Cumartesi günü düzenlediğimiz SQLSaturday #359, ISTANBUL 2014 etkinliği kapsamında verdiğim “Troubleshooting: How to understand if the storage is a problem on the database server?” isimli session’ın video’sunu aşağıda izleyebilirsiniz. Read More


Progress Report: Online Index Rebuild Süresince Detaylı İşlem Bilgisine Ulaşabilirsiniz

standard post
yigitaktan  -  
0 Comments  -  

Bir önceki makalemde SQL Server 2014 ile online index rebuild operasyonlarındaki yeni geliştirmeleri paylaşmıştım (http://www.yigitaktan.com/archives/764). Bu makalemde ise bu sürecin en doğru şekilde nasıl izleneceğini anlatacağım. Bu makale içeriği bir önceki makaleden farklı olarak hem SQL Server 2012 hem de SQL Server 2014 için geçerlidir.

Büyük ölçekli tablolar üzerinde rebuild işlemleri çoğu DBA’in korkulu rüyasıdır. Nedeni ise bu tarz tablolardaki index’lerin rebuild süreçleri genelde uzun zaman alır. Bu tabikide SQL Server’ın kurulu olduğu ortama göre değişiklik göstersede tablonuz disk üzerinde tutulduğundan, memory optimized table yapısı olmadığından yani tablonuz memory’ye iğnelenmediğinden süreç yinede uzun zaman alacaktır. Ne olursa olsun rebuild operasyonları doğru zamanlarda yapılması gereken operasyonlardır. Read More


SQL Server 2014’te Online Index Rebuild Geliştirmeleri

standard post
yigitaktan  -  
0 Comments  -  

Index’lerin online olarak rebuild edilme şekli ilk SQL Server 2005 ile hayata geçirilmiştir. Aslında o dönemde tam anlamıyla online rebuild işlemi beklentilerimizi karşılamamaktaydı. Örneğin SQL Server 2005/2008/2008 R2 ‘de text, ntext, image, varchar(max), nvarchar(max), varbinary(max) ve xml kolon tiplerini içeren index’leri online olarak rebuild etmeye çalıştığımızda, bu veri tipindeki kolonları içeren index’lerin online rebuild edilemeyeceği hata mesajı olarak karşımıza çıkmaktaydı. SQL Server 2012 ile birlikte LOB verileri içeren kolon tiplerine sahip index’lerin de online olarak rebuild edilebilmesine olanak sağlanmıştır. Read More


Recover Deleted Data from Transaction Log Backup File using fn_dump_dblog() function

standard post
yigitaktan  -  
0 Comments  -  

A transaction log is a physical file in which SQL Server stores a record of all the transactions performed on the database with the log file is associated. SQL Server automatically creates a transaction log for every new database. The database recovery model has to be Full or Bulk-logged when you take transaction log backup. In this article, it will be demonstrated how to recover deleted data from transaction log backup files. We will use fn_dblog() function to read the transaction log for finding the deleted data that haven’t been cleared from the active part of the transaction log. After the Transaction Log will get clear, we will try to recover deleted data from a Transaction Log backup file using fn_dump_dblog(). Read More


In-Memory OLTP: Checkpoint, Data & Delta Files

standard post
yigitaktan  -  
0 Comments  -  

In earlier versions of SQL Server, CHECKPOINT known as a process which writes dirty pages (modified pages) and Transaction Log information from memory to disk. Also it is similar to Memory Optimized Tables. If a Memory Optimized Table created with durability (SCHEMA_AND_DATA) option, the engine writes data to the Transaction Log when it is committed. In the process of CHECKPOINT fires, it moves the data from the Transaction Log to the Data and Delta files in the Checkpoint Container. Read More


Code Page Restrictions and Supported Collations in Memory-Optimized Tables

standard post
yigitaktan  -  
0 Comments  -  

In-Memory OLTP released with some collation restrictions on supported code pages for varchar/char columns such as Memory-Optimized Tables, Indexes and Natively Stored Procedures. In general, column collation is inherited from the root (database collation). Database collation setting can not be changed if it contains In-Memory OLTP objects. Read More