Bu makalede query options bölümünde bulunan kavramların ne işe yaradığını görmüş olacağız. Ekran resimleriyle her kavramın ne olduğunu açıklayarak gerekirse örneklerle işlemlerimize koyulalım.
Aşağıdaki resimde çerçeve içerisine alınmış bölümde Query Options bölümüne açabiliriz.

İlgili query options ayarlarını görmek için aşağıdaki komut kullanılmaktadır.
DBCC USEROPTIONS

Şimdi Execution ve Result bölümlerini kısa bir şekilde açıklayalım.

General sekmesinde bulunan kavramları açıklayalım:
- SET ROWCOUNT: Kaç satır sonra sorgunun durdurulacağını belirler (0 = sınırsız).
- SET TEXTSIZE: Dönen metin verilerinin maksimum boyutu (varsayılan 2GB).
- Execution Time-out: Sorgunun maksimum çalışma süresi (0 = sınırsız).
- Batch separator: T-SQL batch’leri ayırmak için kullanılan ifade (örneğin
GO
).
Batch separator kısmında GO ifadesi yerine YU yazarsak sorgumuz sorunsuz çalışmaktadır.

Advanced kavramların ne işe yaradığını detaylı bir şekilde görelim.

- SET TRANSACTION ISOLATION LEVEL:Sorgularda default olan isolation level belirlenir. Sayfamızda bulunan isolation makalesinde detaylı bir şekilde bakılabilir.
- SET DEADLOCK_PRIORITY:Deadlock önceliği belirlenmektedir.
- SET LOCK_TIMEOUT: Kilit bekleme süresi belirtilmektedir. Default olarak sınırsızdır.
- SET STATISTICS TIME/IO: Sorgumuzun cpu ve disk-memory anlamında istatistik değerlerini göstermektedir.
- SET XACT_ABORT ON: Hata durumunda transaction’ı otomatik rollback yapar.
- SET NOCOUNT: “XX rows affected” mesajlarını gizler.
- SET PARSEONLY: Sorguyu sadece syntax kontrolü için çalıştırır.
- SET SHOWPLAN_TEXT: Sorgularımızın execution plan yapısını hiyerarşi yapısında göstermektedir.
SET NOCOUNT ifadesi seçilerek aşağıdaki mesajlar gizlenebilir.


SET SHOWPLAN_TEXT yapısını seçerek sorgumuzun aşağıdaki plan hiyerarşisini görmekteyiz.

ANSI kavramların ne işe yaradığını detaylı bir şekilde görelim.

- SET ANSI_NULLS: NULL karşılaştırmalarını standart modda çalıştırır. Bu ifadenin tam tersi null ifadelerin gelmemesini sağlar.
- SET QUOTED_IDENTIFIER: Köşeli parantez ([]) kullanımını açar/kapar.
- SET ANSI_PADDING: VARCHAR’da boşlukları korur.
Results bölümünde bulunan Grid sekmesine değinelim.

Include the query in the result set: Sorgu metnini sonuç gridinin üstünde gösterir (raporlama için kullanışlı).

Include column headers when copying or saving the results:Kopyalama/Excel’e aktarma yaparken sütun başlıklarını dahil eder.
Discard results after execution: Sonuçları bellekte tutmaz (büyük veri setlerinde performans avantajı sağlar). Sadece kaç satır döndüğünü yazmaktadır.
Display results in a separate tab:Sonuçları yeni bir sekmede açar (sorgu penceresi ile sonuçları ayırır).
Maximum Characters Retrieved
- Non-XML data: 65535 karakter (uzun metinlerde kırpma yapar).
- XML data: 2 MB (büyük XML’lerin tamamını getirir).
Results bölümünde bulunan Text sekmesine değinelim.

Metin tabanlı sonuç görüntüleme ayarları:
- Output format
- Sonuçların metin formatında nasıl gösterileceğini belirler:
- Column aligned: Sütunlu hizalama (okunabilirlik için ideal).
- Comma delimited: CSV formatı (Excel’e aktarım için).
- Tab delimited: Tab ayraçlı (veri analiz araçları için).
- Sonuçların metin formatında nasıl gösterileceğini belirler:
- Custom delimiter
- Özel ayraç belirleme (örneğin
|
pipe karakteri).
- Özel ayraç belirleme (örneğin
- Include column headers in the result set
- Sütun başlıklarını metin çıktısına ekler.
- Right align numeric values
- Sayısal değerleri sağa hizalı gösterir (raporlarda profesyonel görünüm).
- Scroll as results are received
- Sonuçlar gelirken otomatik kaydırma yapar (büyük veri setlerinde kullanışlı).
- Maximum number of characters displayed in each column
- Her sütunda gösterilecek maksimum karakter sayısı (varsayılan: 256).
Results bölümünde bulunan Multiserver sekmesine değinelim.

Birden fazla sunucuda çalıştırılan sorguların sonuçlarını yönetme:
- Add login name to the results
- Hangi kullanıcının sorguyu çalıştırdığını sonuçlara ekler (denetim için).
- Add server name to the results
- Sonuçlara sunucu adını ekler (farklı sunucuların çıktılarını ayırt etmek için).
- Merge results
- Tüm sunucuların sonuçlarını tek bir tabloda birleştirir (karşılaştırma yapmayı kolaylaştırır).
Bu makalede query options bölümündeki kavramları görmüş olduk. Başka makalede görüşmek dileğiyle..
Onlar, siz birbirinizi namaza çağırdığınızda onu alay ve oyun (konusu) edinirler. Bu, gerçekten onların akıl erdirmeyen bir topluluk olmalarındandır. Maide Suresi, 58. Ayet