SQL Server'de DBCC komutu çalıştırıldıktan sonra hata günlüğüne 17053 ve 926 hataları kaydedilebilir

Bu makalede, SQL Server'da bir DBCC komut çalıştırdığınızda bildirilebilen 17053 ve hata 926 tanıtılır ve temel alınan 112, 665 veya 1450 işletim sistemi (OS) hatalarının sorun giderme adımları sağlanır.

Özgün ürün sürümü: SQL Server
Özgün KB numarası: 926070

Belirtiler

Microsoft SQL Server'da aşağıdaki DBCC komutlardan birini çalıştırırsınız:

  • DBCC CHECKDB
  • DBCC CHECKALLOC
  • DBCC CHECKTABLE
  • DBCC CHECKCATALOG
  • DBCC CHECKFILEGROUP

Komut başarısız olabilir ve istemci uygulama çıkışında ve SQL Server hata günlüğünde 17053, 926 ve diğer hata iletileriyle karşılaşabilirsiniz.

Hata

Hata 926, veritabanının şüpheli olarak işaretlendiğini gösterir. Bu hata iletisi, gerçek veritabanına değil iç anlık görüntüye başvurur. Veritabanının durumu çevrimiçi ve veritabanı işlevseldir.

Hata 17053, temel işletim sistemi hatasını açıklamak için kullanılan bir SQL Server hatasıdır. İç anlık görüntü için kullanılan dosyaların adını içerir. Hata iletisi sorunun gerçek nedenini gösterir.

Aşağıdaki bölümlerde, alabileceğiniz ayrıntılı hata iletileri gösterilir. Bu hata iletileriyle ilgili daha fazla açıklama için Daha fazla bilgi bölümüne bakın.

İşletim sistemi hatası 112 - yeterli disk alanı yok

Temel alınan işletim sistemi hatası 112,"Diskte yeterli alan yok" hata iletileri SQL Server hata günlüğüne kaydedilebilir.

2022-09-01 17:33:24.48 spid54 35 transactions rolled forward in database 'ProductionData' (11). This is an informational message only. No user action is required.
2022-09-01 17:35:39.16 spid54 4 transactions rolled back in database 'ProductionData' (11). This is an informational message only. No user action is required.
2022-09-01 17:36:31.76 spid53 Error: 17053, Severity: 16, State: 1.
2022-09-01 17:36:31.76 spid53 E:\SQLData\ProductionData.mdf:MSSQL_DBCC11: Operating system error 112(There is not enough space on the disk.) encountered.
2022-09-01 17:36:31.76 spid53 Error: 17053, Severity: 16, State: 1.
2022-09-01 17:36:31.76 spid53 E:\SQLData\ProductionData.mdf:MSSQL_DBCC11: Operating system error 112(There is not enough space on the disk.) encountered.
2022-09-01 17:36:31.77 spid53 Error: 17053, Severity: 16, State: 1.
2022-09-01 17:36:31.77 spid53 E:\SQLData\ProductionData.mdf:MSSQL_DBCC11: Operating system error 112(There is not enough space on the disk.) encountered.
2022-09-01 17:36:31.80 spid54 DBCC CHECKDB (ProductionData) executed by DomainName\UserName found 0 errors and repaired 0 errors. Elapsed time: 0 hours 3 minutes 19 seconds.
2022-09-01 17:36:31.90 spid53 Error: 17053, Severity: 16, State: 1.
2022-09-01 17:36:31.90 spid53 E:\SQLData\ProductionData.mdf:MSSQL_DBCC11: Operating system error 112(There is not enough space on the disk.) encountered.
2022-09-01 17:36:31.90 spid53 Error: 17053, Severity: 16, State: 1.
2022-09-01 17:36:31.90 spid53 E:\SQLData\ProductionData.mdf:MSSQL_DBCC11: Operating system error 112(There is not enough space on the disk.) encountered.
2022-09-01 17:36:32.30 spid54 Error: 926, Severity: 21, State: 6.
2022-09-01 17:36:32.30 spid54 Database 'ProductionData' cannot be opened. It has been marked SUSPECT by recovery. See the SQL Server errorlog for more information.

Bazı durumlarda aşağıdaki hata iletisini alabilirsiniz:

Msg 5128, Level 17, State 2, Line 6
Write to sparse file `E:\CreateFile\ProductionData.mdf:MSSQL_DBCC11` failed due to lack of disk space.

Bu gibi durumlarda, komutları çalıştıran DBCC istemci uygulaması uygulama sonuç kümesinde aşağıdaki girdileri gösterebilir:

DBCC results for 'ProductionData'.
CHECKDB found 0 allocation errors and 0 consistency errors in database 'ProductionData'.
Msg 926, Level 21, State 6, Line 1
Database 'ProductionData' cannot be opened. It has been marked SUSPECT by recovery. See the SQL Server errorlog for more information.
Msg 0, Level 20, State 0, Line 0
A severe error occurred on the current command. The results, if any, should be discarded.

Komutların DBCC kullandığı iç veritabanı anlık görüntüsü hiç oluşturulamadıysa, istemci uygulamasında komutları veren DBCC aşağıdaki hataları alırsınız:

Msg 1823, Level 16, State 1, Line 1
A database snapshot cannot be created because it failed to start.

Msg 7928, Level 16, State 1, Line 1
The database snapshot for online checks could not be created. Either the reason is given in a previous error or one of the underlying volumes does not support sparse files or alternate streams. Attempting to get exclusive access to run checks offline.

Msg 5030, Level 16, State 12, Line 1
The database could not be exclusively locked to perform the operation.

Msg 7926, Level 16, State 1, Line 1
Check statement aborted. The database could not be checked as a database snapshot could not be created and the database or table could not be locked. See Books Online for details of when this behavior is expected and what workarounds exist. Also see previous errors for more details.

Msg 5106, Level 17, State 2, Line 1
Write to sparse file 'E:\Data\LogFUllTest_Data.mdf:MSSQL_DBCC10' failed due to lack of disk space.

İşletim sistemi hatası 665 - dosya sistemi sınırlaması, işletim sistemi hatası 1450 -yetersiz sistem kaynakları

İç veritabanı anlık görüntüsü 1450 veya 665 hatalarıyla çalışıyorsa, SQL Server hata günlüğünde fark edebilirsiniz:

2008-05-21 13:03:45.67 spid500 272 transactions rolled forward in database 'MYDATABASE' (12). This is an informational message only. No user action is required.
2008-05-21 13:03:45.84 spid500 2 transactions rolled back in database 'MYDATABASE' (12). This is an informational message only. No user action is required.
2008-05-21 13:03:46.97 spid500 Recovery completed for database MYDATABASE (database ID 12) in 5 second(s) (analysis 602 ms, redo 3954 ms, undo 105 ms.) This is an informational message only. No user action is required.
2008-05-21 13:36:48.25 spid480 The operating system returned error 665(The requested operation could not be completed due to a file system limitation) to SQL Server during a write at offset 0x00001b35138000 in file 'I:\MSSQL\DATA\mscrm_data1.ndf:MSSQL_DBCC12'.
2008-05-21 13:36:48.26 spid480 Error: 17053, Severity: 16, State: 1.
2008-05-21 13:36:48.26 spid480 C:\MSSQL\DATA\MyDatabase.mdf:MSSQL_DBCC12: Operating system error 665(The requested operation could not be completed due to a file system limitation) encountered.
2008-05-21 13:36:48.27 spid480 The operating system returned error 665(The requested operation could not be completed due to a file system limitation) to SQL Server during a write at offset 0x00001b35138000 in file 'C:\MSSQL\DATA\MyDatabase.mdf:MSSQL_DBCC12'.
2008-05-21 13:36:48.27 spid480 Error: 17053, Severity: 16, State: 1.
2008-05-21 13:36:48.27 spid480 C:\MSSQL\DATA\MyDatabase.mdf:MSSQL_DBCC12: Operating system error 665(The requested operation could not be completed due to a file system limitation) encountered.
2008-05-21 13:36:48.37 spid480 The operating system returned error 665(The requested operation could not be completed due to a file system limitation) to SQL Server during a write at offset 0x00001b35138000 in file 'C:\MSSQL\DATA\MyDatabase.mdf:MSSQL_DBCC12'.
2008-05-21 13:36:48.37 spid480 Error: 17053, Severity: 16, State: 1.
2008-05-21 13:36:48.37 spid480 C:\MSSQL\DATA\MyDatabase.mdf:MSSQL_DBCC12: Operating system error 665(The requested operation could not be completed due to a file system limitation) encountered.
2008-05-21 13:36:48.37 spid500 DBCC CHECKDB (MYDATABASE) executed by DomainName\UserName found 0 errors and repaired 0 errors. Elapsed time: 0 hours 33 minutes 16 seconds. Internal database snapshot has split point LSN = 0000759c:002547bc:0040 and first LSN = 0000759c:0023696d:0049. This is an informational message only. No user action is required.

Daha fazla bilgi

  • Bu hata iletileri farklı etkin oturumlardan (SPID) alınır. SPID 54 komutu yürüten oturum kimliğidir DBCC . SPID 53 kullanıcı işlemini yürüten oturum kimliğidir.
  • Bu hata iletileri, işlemleri ileriye aktarma ve işlemleri geri döndürme işlemlerini gösterir. İletiler, komut yürütmenin ilk aşamasında DBCC oluşturulur. Bir DBCC komut çalıştırdığınızda DBCC , komut ilk olarak bir iç anlık görüntü oluşturmaya çalışır. Anlık görüntü oluşturulduğunda, anlık görüntüyü tutarlı bir duruma getirmek için bu anlık görüntüye karşı veritabanı kurtarma gerçekleştirilir. Hata iletileri bu etkinliği yansıtır.
  • İç veritabanı anlık görüntüsü, gerçek veritabanıyla aynı adı kullanır. Bu nedenle, bu hata iletileri veritabanının adını içerir.
  • Hata günlüğü iletisi tamamlandı olduğunu DBCC CHECKDB belirtse de, bunun anormal bir sonlandırma olarak kabul edilmesi gerekir. Veritabanının DBCC CHECKDB tutarlılığını değerlendirmek için tamamlanana kadar komutunu yeniden çalıştırmanız gerekir. Bu durumlarda, hangi nesnelerin denetlenip temiz olarak bildirildiğini anlamak için istemciye geri gönderilen komutun DBCC CHECKDB çıkışına bakın.

Neden

SQL Server komutlar iç DBCC salt okunur veritabanı anlık görüntülerini kullanır. Daha fazla bilgi için bkz. DBCC CHECKDB, SQL Server 2014'le başlayan bir iç anlık görüntü veritabanını nasıl oluşturur? Bu veritabanı anlık görüntüleri, ilgili veritabanı veri dosyalarının bulunduğu sürücüde oluşturulur. Veritabanı anlık görüntüleri, komutların çalıştırıldığı DBCC veritabanındaki veri değişiklikleriyle orantılı olarak büyür. kullanıcı veritabanında işlem etkinliği devam ederse, komutlar tarafından DBCC oluşturulan iç veritabanı anlık görüntüleri büyümeye devam edebilir ve disk alanı sorunlarıyla karşılaşabilir. Bkz. Veritabanı Anlık Görüntüleri için Disk Alanı Gereksinimleri. Veritabanı anlık görüntü dosyaları ve gerçek veri dosyaları aynı disk sürücüsünde bulunduğundan, her iki dosya kümesi de disk alanı için rekabette bulunur. Bu durumda uygulama işlemleri veya kullanıcı işlemleri tercih edilir. tarafından DBCC kullanılan iç veritabanı anlık görüntüsü şüpheli olarak işaretlenir. Bu nedenle komutlar DBCC hata oluşturur ve tamamlayamaz.

İç veritabanı anlık görüntüsüne yazma işlemleri yetersiz disk alanı nedeniyle başarısız olabilir. İşletim sistemi hatası 665 gibi diğer sorunlar da benzer sorunlara yol açabilir ve iç veritabanı anlık görüntüsünü şüpheli duruma getirebilirsiniz.

Çözüm

Karşılamış olabileceğiniz sorunlardan birine karşılık gelen çözüm bölümünü kullanın:

İşletim sistemi hatası 112

17053 numaralı SQL Server hatanın içinde oluşan 112 işletim sistemi hatasını çözmek için şu alternatiflerden birini veya daha fazlasını kullanın:

  • Veritabanı anlık görüntüsü oluşturabilmek DBCC CHECKDB için veritabanının bulunduğu sürücüde boş disk alanı oluşturun.
  • İç anlık görüntü oluşturulmasını önlemek için WITH TABLOCK komutunu çalıştırınDBCC CHECKDB.
  • Kullanılabilirlik Grupları, Günlük Gönderimi, Yedekleme/Geri Yükleme veya çoğaltma SQL Server gibi bir çoğaltma teknolojisi kullanın ve veritabanının bir kopyasını başka bir sunucuda oluşturun. Ardından bu DBCC CHECKDB sunucuda komutunu çalıştırın.

İşletim sistemi hataları 665 ve 1450

Hata 17053'te oluşan 665 veya 1450 işletim sistemi hatalarını çözmek için, SQL Server dosyalar için 665 ve 1450 işletim sistemi hatalarında sağlanan çözümlerden birini veya daha fazlasını kullanın.