• This problem occurs if the following conditions are true:

    * At least one other connection is using the database against which you run the DBCC CHECK command.

    * The database contains at least one file group that is marked as read-only.

    Starting with SQL Server 2005, DBCC CHECK commands create and use an internal database snapshot for consistency purposes when the command performs any checks. If a read-only file group exists in the database, the internal database snapshot is not created. To continue to perform the checks, the DBCC CHECK command tries to acquire an EX database lock. If other users are connected to this database, this attempt to acquire an EX lock fails. Therefore, you receive an error message.

    To resolve this problem, follow these steps instead of running the DBCC CHECK command against the database:

    1. Create a database snapshot of the database for which you want to perform the checks. For more information about how to create a database snapshot, see the "How to: Create a Database Snapshot (Transact-SQL)" topic in SQL Server 2005 Books Online.

    2. Run the DBCC CHECK command against the database snapshot.

    3. Drop the database snapshot after the DBCC CHECK command is completed.

    Ref: http://support.microsoft.com/kb/928518

    SQL Database Recovery Expert 🙂