29 Eylül 2010 Çarşamba

A system assertion check has failed. Check the SQL Server error log for details. Typically, an assertion failure is caused by a software bug or data c

HATA:
A system assertion check has failed. Check the SQL Server error log for details. Typically, an assertion failure is caused by a software bug or data corruption. To check for database corruption, consider running DBCC CHECKDB. If you agreed to send dumps to Microsoft during setup, a mini dump will be sent to Microsoft. An update might be available from Microsoft in the latest Service Pack or in a QFE from Technical Support.

AÇIKLAMA:
Ben bu hata ile, bir kullanıcının üretim sunucularımızdan bir tanesine aşağıdaki gibi bir sorgu gönderdiğinde karşılaştım:

SELECT TOP 100 * FROM . WHERE IN (...)

Sorgudaki IN içerisinde o kadar çok değer vardı ki, soruna neden olan buydu.

Bu sorguya ise Dump kayıt dosyalarından ulaştım. Dump dosyasının nerede olduğunu Dump mesajlarının da bulunduğu SQL Error Log'da bulabilirsiniz.

ÇÖZÜM:
Böyle durumlarda kullanıcının IN yerine Temp Tablo veya Table Variable kullanması gerekiyordu.

Hiç yorum yok: