Ознаки
Припустімо, що у вас є база даних із файловими групами лише для читання в Microsoft SQL ServerSQL Server 2014. Під час виконання команди DBCC CHECKDB команда DBCC не може створити знімок бази даних для бази даних.
Якщо іншого підключення до бази даних немає, операція DBCC виконується без помилок. Проте з'являється таке повідомлення про помилку:
Примітка.
DBCC CHECKDB не перевірятиме узгодженість SQL Server каталогу або Service Broker, оскільки не можна було створити знімок бази даних, або тому, що було вказано WITH TABLOCK.
Якщо до бази даних є інші підключення, операція DBCC завершується помилкою, і з'являється таке повідомлення про помилку:
Примітка.
msg 5030, рівень 16, стан 12, рядок 1
Базу даних не можна було заблокувати виключно для виконання операції.
msg 7926, рівень 16, стан 1, рядок 1
Перевірку скасовано. Перевірити базу даних неможливо, оскільки не можна створити знімок бази даних, а також заблокувати базу даних або таблицю. Перегляньте Books Online, щоб дізнатися, коли така поведінка очікувана та які способи вирішення існують. Крім того, докладні відомості див. у попередніх статтях про помилки.
Спосіб усунення проблеми
Відомості про сукупний пакет оновлень
Вперше виправлено цю проблему в наступному сукупному оновленні SQL ServerSQL Server.
Рекомендація: інсталюйте останній сукупний пакет оновлень для SQL Server
Кожне нове сукупне оновлення для SQL Server містить усі виправлення та виправлення системи безпеки, які входили до попереднього сукупного пакета оновлень. Радимо завантажити та інсталювати останні сукупні оновлення для SQL Server.
Додаткові відомості
Щоб відтворити цю проблему, виконайте такі команди в SQL Server:
Примітка.
-- 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.
Стан
Корпорація Microsoft підтвердила, що це одна з проблем з продуктами Microsoft, перелічених у розділі "Застосовується до".