KB3099548 - 修正:當您在 SQL Server 2014 中使用 DBCC CHECKDB 時無法建立資料庫快照集

Applies To
SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

症狀

假設您在 Microsoft SQL Server 2014 中有一個包含唯讀檔案群組的資料庫。 當您在資料庫上執行 DBCC CHECKDB 時,DBCC 命令無法為資料庫建立資料庫快照集。

如果資料庫沒有其他連線,DBCC 作業會完成而不會發生錯誤。 不過,您收到下列錯誤訊息:

注意

DBCC CHECKDB 不會檢查 SQL Server 目錄或 Service Broker 的一致性,因為無法建立資料庫快照集,或因為指定了 WITH TABLOCK。

如果資料庫有其他連線,DBCC 作業會失敗,並收到下列錯誤訊息:

注意

Msg 5030, Level 16, State 12, Line 1
無法以獨佔方式鎖定資料庫以執行作業。
Msg 7926, Level 16, State 1, Line 1
檢查陳述式已中止。 無法檢查資料庫,因為無法建立資料庫快照集,且無法鎖定資料庫或資料表。 如需有關此行為的預期發生時機和可用的因應措施的詳細資訊,請參閱《線上叢書》。 另請參閱先前的錯誤以取得更多詳細資料。

解決方式

累積更新資訊

此問題已先在下列 SQL Server 累積更新中修正。

建議:安裝最新的 SQL Server 累積更新

SQL Server 的每個新累積更新都包含所有 Hotfix 和先前累積更新的所有安全性修正程式。 我們建議您下載並安裝 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 產品中的問題。