Belirtiler
Microsoft SQL Server 2014 'da salt okunur dosya grupları içeren bir veritabanınız olduğunu varsayalım. Veritabanında DBCC CHECKDB 'yi çalıştırdığınızda, DBCC komutu veritabanı için bir veritabanı anlık görüntüsü oluşturamaz. Veritabanıyla başka bir bağlantı yoksa, DBCC işlemi hatasız tamamlanmıştır. Ancak, aşağıdaki hata iletisini alırsınız:
Veritabanı anlık görüntüsü oluşturulemediğinden veya TABLOCK belirtildiğinden, DBCC CHECKDB SQL Server kataloğunu veya hizmet Aracısı tutarlılığını denetlemeyecek.
Veritabanına başka bağlantılar varsa, DBCC işlemi başarısız olur ve aşağıdaki hata iletisini alırsınız:
İleti 5030, düzey 16, durum 12, satır 1Veritabanını, işlemi gerçekleştirmek için özel olarak kilitedilemedi. İleti 7926, düzey 16, durum 1, satır 1Check deyimi iptal edildi. Veritabanı, veritabanı anlık görüntüsü oluşturumadığından ve veritabanı veya tablo kilitlenemediğinden kontrol edilemedi. Bu davranışın ne zaman beklendiğine ve hangi geçici çözümlerin var olduğunu öğrenmek için Books Online 'a bakın. Daha fazla ayrıntı için önceki hatalara de bakın.
Çözüm
Toplu güncelleştirme bilgileri
Sorun ilk olarak SQL Server 'ın aşağıdaki toplu güncelleştirmesinde giderilmiştir.
Her bir SQL Server toplu güncelleştirmesi, önceki toplu güncelleştirmeyle birlikte gelen tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. En son SQL Server güncelleştirmelerini indirip yüklemenizi öneririz:
Ek Bilgi
Bu sorunu yeniden oluşturmak için, SQL Server 'da aşağıdaki komutları uygulayın:
-- Open a new query that is named conn1, and then create a new database. CREATE DATABASE DbTest GO -- Add a new file group. ALTER DATABASE DbTest ADD FILEGROUP FGTest GO -- Add a file to the new file group. ALTER DATABASE DbTest ADD FILE (NAME=DbTest_Data2, FILENAME=''C:\temp\DbTest_Data2.ndf') TO FILEGROUP FGTest GO -- Change the file group to read-only. ALTER DATABASE DbTest MODIFY FILEGROUP FGTest READONLY GO -- Run the DBCC CHECK command in the conn1 query. DBCC CHECKDB (DbTest) -- The DBCC CHECK command runs correctly. However, you may receive the following message: "DBCC CHECKDB will not check SQL Server catalog or Service Broker consistency because a database snapshot could not be created or because WITH TABLOCK was specified." -- Open a new query window that is named conn2, and then set the database as DbTest. This action opens a connection to the DbTest database. -- Return to the conn1 query, and run the DBCC command again. DBCC CHECKDB (DbTest) -- Notice the error message that is mentioned in the "Symptoms" section.
Durum
Microsoft bu sorunun "Uygulandığı öğe" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.