Aracılığıyla paylaş


Veritabanı Altyapısı hata önem dereceleri

Şunlar için geçerlidir: SQL Server

SQL Server Veritabanı Altyapısı tarafından bir hata oluştuğunda, hatanın önem derecesi SQL Server tarafından karşılaşılan sorunun türünü gösterir.

Önem derecesi düzeyleri

Aşağıdaki tabloda SQL Server Veritabanı Altyapısı tarafından oluşturulan hataların önem düzeyleri listelenmiştir ve açıklanmaktadır.

Önem derecesi düzeyi Description
0-9 Durum bilgilerini döndüren bilgi iletilerini veya ciddi olmayan hataları bildirin. Veritabanı Altyapısı, 0 ile 9 arasında önem dereceleriyle sistem hataları oluşturmaz.
10 Durum bilgilerini döndüren bilgi iletilerini veya ciddi olmayan hataları bildirir. Uyumluluk nedeniyle, Veritabanı Altyapısı hata bilgilerini çağıran uygulamaya döndürmeden önce önem derecesi 10'un önem derecesini 0'a dönüştürür.
11-16 Kullanıcı tarafından düzeltilebilen hataları belirtin.
11 Verilen nesnenin veya varlığın mevcut olmadığını gösterir.
12 Özel sorgu ipuçları nedeniyle kilitleme kullanmayan sorgular için özel önem derecesi. Bazı durumlarda bu deyimler tarafından gerçekleştirilen okuma işlemleri tutarsız verilere neden olabilir çünkü tutarlılığı garanti etmek için kilitler alınmaz.
13 İşlem kilitlenme hatalarını gösterir.
14 İzin reddedildi gibi güvenlikle ilgili hataları gösterir.
15 Transact-SQL komutundaki söz dizimi hatalarını gösterir.
16 Kullanıcı tarafından düzeltilebilen genel hataları gösterir.
17-19 Kullanıcı tarafından düzeltilemedi yazılım hatalarını belirtin. Sistem yöneticinize sorunu bildirin.
17 Deyiminin SQL Server'ın kaynaklarının (veritabanı için bellek, kilitler veya disk alanı gibi) yetersiz çalışmasına veya sistem yöneticisi tarafından ayarlanan bir sınırı aşmasına neden olduğunu gösterir.
18 Veritabanı Altyapısı yazılımında bir sorun olduğunu gösterir, ancak deyimi tamamlanır ve Veritabanı Altyapısı örneğine bağlantı korunur. Önem düzeyi 18 olan bir ileti her gerçekleştiğinde sistem yöneticisi bilgilendirilmelidir.
19 Yapılandırılamayan Veritabanı Altyapısı sınırının aşıldığını ve geçerli toplu işlem sonlandırıldığını gösterir. Önem düzeyi 19 veya daha yüksek olan hata iletileri geçerli toplu işlemin yürütülmesini durdurur. Önem derecesi 19 hataları nadirdir ve sistem yöneticisi veya birincil destek sağlayıcınız tarafından düzeltilmelidir. Önem derecesi 19 olan bir ileti gönderildiğinde sistem yöneticinize başvurun. Önem derecesi 19 ile 25 arasında olan hata iletileri hata günlüğüne yazılır.
20-24 Sistem sorunlarını gösterir ve önemli hatalardır; başka bir deyişle, bir deyimi veya toplu işlemi çalıştıran Veritabanı Altyapısı görevi artık çalışmıyordur. Görev, ne olduğu hakkındaki bilgileri kaydeder ve sonra sonlandırır. Çoğu durumda, Veritabanı Altyapısı örneğine uygulama bağlantısı da sonlandırabilir. Bu durumda, soruna bağlı olarak uygulama yeniden bağlanamayabilir.

Bu aralıktaki hata iletileri, veritabanındaki verilere erişen tüm işlemleri etkileyebilir ve bir veritabanının veya nesnenin zarar gördüğünü gösterebilir. Önem derecesi 19 ile 24 arasında olan hata iletileri hata günlüğüne yazılır.
20 Bir deyiminin bir sorunla karşılaştığını gösterir. Sorun yalnızca geçerli görevi etkilediğinden, veritabanının kendisi zarar görmüş olabilir.
21 Geçerli veritabanındaki tüm görevleri etkileyen bir sorunla karşılaşıldığını, ancak veritabanının zarar görmüş olma olasılığının yüksek olmadığını gösterir.
22 İletide belirtilen tablo veya dizinin bir yazılım veya donanım sorunundan zarar gördüğünü gösterir.

Önem derecesi 22 hataları nadiren oluşur. Bir nesne oluşursa, veritabanındaki diğer nesnelerin de zarar görmüş olup olmadığını belirlemek için komutunu çalıştırın DBCC CHECKDB . Sorun diskin kendisinde değil yalnızca arabellek önbelleğinde olabilir. Bu durumda, Veritabanı Altyapısı örneğinin yeniden başlatılması sorunu giderir. Çalışmaya devam etmek için Veritabanı Altyapısı örneğine yeniden bağlanmanız gerekir. Aksi takdirde, sorunu onarmak için kullanın DBCC . Bazı durumlarda veritabanını geri yüklemeniz gerekebilir.

Veritabanı Altyapısı örneğinin yeniden başlatılması sorunu düzeltmezse, sorun disktedir. Bazen hata iletisinde belirtilen nesneyi yok etmek sorunu çözer. Örneğin, ileti Veritabanı Altyapısı örneğinin bir kümelenmemiş dizinde 0 uzunluğunda bir satır bulduğunu bildirirse, dizini silin ve yeniden derleyin.
23 Bir donanım veya yazılım sorunu nedeniyle tüm veritabanının bütünlüğünün söz konusu olduğunu gösterir.

Önem derecesi 23 hataları nadiren oluşur. Bir hasar oluşursa, hasarın kapsamını belirlemek için çalıştırın DBCC CHECKDB . Sorun diskin kendisinde değil yalnızca önbellekte olabilir. Bu durumda, Veritabanı Altyapısı örneğinin yeniden başlatılması sorunu giderir. Çalışmaya devam etmek için Veritabanı Altyapısı örneğine yeniden bağlanmanız gerekir. Aksi takdirde, sorunu onarmak için kullanın DBCC . Bazı durumlarda veritabanını geri yüklemeniz gerekebilir.
yirmi dört Medya hatasını gösterir. Sistem yöneticisinin veritabanını geri yüklemesi gerekebilir. Donanım satıcınızı da aramanız gerekebilir.

Kullanıcı tanımlı hata iletisi önem derecesi

Katalog görünümüne önem dereceleri 1 ile 25 arasında olan kullanıcı tanımlı hata iletileri eklemek için sys.messages kullanabilirsinizsp_addmessage. Bu kullanıcı tanımlı hata iletileri tarafından RAISERRORkullanılabilir. Daha fazla bilgi için bkz. sp_addmessage.

RAISERROR 1 ile 25 arasında önem derecelerine sahip kullanıcı tanımlı hata iletileri oluşturmak için kullanılabilir. RAISERROR katalog görünümünde depolanan kullanıcı tanımlı bir hata iletisine sys.messages başvurabilir veya dinamik olarak bir ileti oluşturabilir. RAISERROR bir hata oluşturduğunda içinde sys.messages kullanıcı tanımlı bir hata iletisi kullandığında, tarafından RAISERROR belirtilen önem derecesi içinde sys.messagesbelirtilen önem derecesini geçersiz kılar. Daha fazla bilgi için bkz . RAISERROR.

Hata önem derecesi ve TRY... TUTMAK

Yapı TRY...CATCH , veritabanı bağlantısını sonlandırmadan önem derecesi 10'dan büyük olan tüm yürütme hatalarını yakalar.

Önem derecesi 0'dan 10'a kadar olan hatalar bilgilendiren iletilerdir ve yürütmenin CATCH bir TRY...CATCH yapı bloğundan atlamasına neden olmaz.

Genellikle önem derecesi 20 ile 25 arasında olan veritabanı bağlantısını sonlandıran hatalar, bağlantı sonlandırıldığında yürütme durdurulduğundan CATCH blok tarafından işlenmez.

Daha fazla bilgi için bkz . TRY... YAKALA.

Hata önem derecesini alma

Sistem ERROR_SEVERITY işlevi, bir TRY...CATCH yapı bloğunun çalıştırılmasına neden olan hatanın CATCH önem derecesini almak için kullanılabilir. ERROR_SEVERITYbir bloğun CATCH kapsamı dışında çağrılırsa döndürürNULL. Daha fazla bilgi için bkz. ERROR_SEVERITY.