we've been having this ancient database with old accounting data running in suspect mode since as long as I can remember (I started working here a year ago), and finally I had some time on my hands so I thought I'd try to get it online again. However I'm running in to problems:
DBCC CHECKDB (myDBName) gives this error:
Msg 926, Level 14, State 1, Line 1
Database 'myDBName' cannot be opened. It has been marked SUSPECT by recovery. See the SQL Server errorlog for more information.
Running sp_helpdb only does not display the suspect database and sp_helpdb 'myDBName' gives this error even though I'm a system administrator:
No permission to access database 'myDBName'.
It's possible that I might be able to dig up a backup but that would be quite tedious. Is it possible to bring the database to a state where I'm able to do a CHECKDB at least...?
--
Lumbago
"Real programmers don't document, if it was hard to write it should be hard to understand"
We recently migrated our production server from SQL 2005 (Standard) on Win2003(32-bit) to SQL2012 (Standard; v11.0.3000) on Win2008-R2(64bit). Single-server Dell R510 with 1.2TB storage. Everything went smoothly; the only nagging issue remaining is failure of our maintenance jobs. I tracked the issue down to failure of DBCC CHECKDB. Specifically, the error is:Executed as user: NT SERVICESQLSERVERAGENT. The database could not be exclusively locked to perform the operation. [SQLSTATE 42000] (Error 5030) 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 lockedI have Googled this issue and read extensively. For instance, informative blogs (albeit dated) such as these by Paul Randal (Managing
CheckDB by default takes an internal DB snapshot to get the consistent, point-in-time view of the DB that it needs. If that snapshot creation fails, then it will try to get an exclusive database lock before proceeding (same as if you had executed DBCC CHECKDB WITH TABLOCK). The root problem is not that the lock could not be obtained, it's that the internal database snapshot could not be created. msdn.microsoft.com/en-us/library/ms188796.aspx details the specific situations when an internal database snapshot is not created and table locking is attempted.Â
 I have verified the SQLSERVERAGENT service account has full permissions on the SQLDATA directory where the databases reside and has full permissions on each database within the directory. Just for giggles, I created a job (run as SQLSERVERAGENT) that creates and then deletes a text file in the SQLDATA directory. It runs fine.
Also testedI get the snapshot creation error when manually running DBCC CHECKDB against any of our databases and when executing under a variety of administrator accounts that are members of the SQL sysadmin role and the Domain Admins security group (the Domain Admins is a member of the local Administrators group that has full permissions on all SQL directories/folders).
Additionally, the databases in question are small (200MB to 6GB) and the disk has plenty of elbow room (978GB free on 1.22TB RAID5 array) to create the internal database snapshots. CHECKDB doesn't surface an error message that is detailed enough to determine the precise cause of the error. Any example successfully running DBCC CHECKDB on the SQL2012 (Standard) on a Win2008 R2 (64-bit) server.
So I've got this vendor-supplied database for a third-party application. Let's just say the database name rhymes with "MQManage".
For some reason the vendor elected to set up the database with Auto Shrink turned on (eeww) and to set up a job that runs DBCC CHECKDB() every 15 minutes (eeww). I'm working on resolving both of those issues right now. In the meantime, I'm getting sporadic messages from Microsoft Operations Manager (MOM) telling me that the database is suspect. The really odd thing is that there is nothing in the SQL Server error log, Windows event log, or anywhere I can find that says the database went suspect. The database isn't suspect, and there was no operator intervention.
So something is causing MOM to get a false positive here. Just on this one database on this one server.
1. How to fix these errors? 2. Are the records in the DB still good? 3. How to prevent this happening again?
The database server is running Windows 2000 sp4 and SQL 2000 sp3. It's running on the RAID5 in MS Cluster environment.
I really appreciate your assistance. Thank you.
The error message samples are:
Msg 8974, Sev 16: Text node referenced by more than one node. Object ID 837578022, text, ntext, or image node page (1:130912), slot 27, text ID 25207869603840 is pointed to by page (1:1392667), slot 2 and by page (1:1210230), slot 10. [SQLSTATE 42000] Msg 8961, Sev 16: Table error: Object ID 837578022. The text, ntext, or image node at page (1:130912), slot 30, text ID 25199404974080 does not match its reference from page (1:131226), slot 17. [SQLSTATE 42000] Msg 8974, Sev 16: Text node referenced by more than one node. Object ID 837578022, text, ntext, or image node page (1:130912), slot 30, text ID 25254380437504 is pointed to by page (1:1392667), slot 4 and by page (1:131226), slot 17. [SQLSTATE 42000] Msg 8964, Sev 16: Table error: Object ID 837578022. The text, ntext, or image node at page (1:134162), slot 23, text ID 25204615217152 is not referenced. [SQLSTATE 42000]
Msg 8990, Sev 16: CHECKDB found 0 allocation errors and 211 consistency errors in table 'TABLE_ONE' (object ID 837578022). [SQLSTATE 01000] Msg 2536, Sev 16: DBCC results for 'TABLE_TWO'. [SQLSTATE 01000]
Msg 8974, Sev 16: Text node referenced by more than one node. Object ID 853578079, text, ntext, or image node page (1:129320), slot 38, text ID 25496001314816 is pointed to by page (1:239021), slot 101 and by page (1:487008), slot 100. [SQLSTATE 42000] Msg 8961, Sev 16: Table error: Object ID 853578079. The text, ntext, or image node at page (1:129320), slot 39, text ID 25199327903744 does not match its reference from page (1:487008), slot 101. [SQLSTATE 42000] Msg 8974, Sev 16: Text node referenced by more than one node. Object ID 853578079, text, ntext, or image node page (1:129320), slot 39, text ID 25496001642496 is pointed to by page (1:239021), slot 102 and by page (1:487008), slot 101. [SQLSTATE 42000] Msg 8964, Sev 16: Table error: Object ID 853578079. The text, ntext, or image node at page (1:136454), slot 1, text ID 25031875559424 is not referenced. [SQLSTATE 42000] Msg 8964, Sev 16: Table error: Object ID 853578079. The text, ntext, or image node at page (1:136454), slot 2, text ID 25031875887104 is not referenced. [SQLSTATE 42000]
Msg 8964, Sev 16: Table error: Object ID 853578079. The text, ntext, or image node at page (1:136603), slot 2, text ID 25031875231744 is not referenced. [SQLSTATE 42000] Msg 8928, Sev 16: Object ID 853578079, index ID 255: Page (1:137476) could not be processed. See other errors for details. [SQLSTATE 42000] Msg 8939, Sev 16: Table error: Object ID 853578079, index ID 255, page (1:137476). Test (m_freeCnt == freeCnt) failed. Values are 357 and 525. [SQLSTATE 42000]
Msg 2593, Sev 16: There are 1972569 rows in 14051 pages for object 'TABLE_TWO'. [SQLSTATE 01000] Msg 8990, Sev 16: CHECKDB found 0 allocation errors and 166 consistency errors in table 'TABLE_TWO' (object ID 853578079). [SQLSTATE 01000]"
I want to automate the dbcc checkdb process. I create a temp table called #CheckDbTbl and run the following command:
INSERT INTO #CheckDBTbl dbcc checkdb(MyDbName) with tableresults
I plan to send myself an email if any problems are found.
Does anyone know what Error numbers or Levels or anything else I should look for in the #CheckDBTbl that will tell me a problem exists? Right now I'm only checking for: Level >= 16.
[Microsoft SQL-DMO (ODBC SQLState: 42000)] Error 8999: [Microsoft][ODBC SQL Server Driver][SQL Server]Database tempdb allocation errors prevent further CHECKDB processing.
I get this error above when running a Checkdb on tempDB I haven't found out any fixes yet. I bounced the server service and the job runs, but after 2 days it fails again. Any ideas?
When running DBCC CHECKDB with Repair_Rebuild option in sigle use mode I get 16 consistency error. the error message is always on object ID 2. Can someone tell what is Object ID 2 and what can be done to re-reference what is not referenced? The log follow!
Thanks!
Msg 8964, Sev 16: Table error: Object ID 2. The text, ntext, or image node at page (1:2027787), slot 8, text ID 37039898624 is not referenced. [SQLSTATE 42000] Msg 8964, Sev 16: Table error: Object ID 2. The text, ntext, or image node at page (1:2027787), slot 10, text ID 37039964160 is not referenced. [SQLSTATE 42000] Msg 8964, Sev 16: Table error: Object ID 2. The text, ntext, or image node at page (1:2027787), slot 12, text ID 37040029696 is not referenced. [SQLSTATE 42000] Msg 8964, Sev 16: Table error: Object ID 2. The text, ntext, or image node at page (1:2027787), slot 13, text ID 37040095232 is not referenced. [SQLSTATE 42000] Msg 8964, Sev 16: Table error: Object ID 2. The text, ntext, or image node at page (1:4142208), slot 6, text ID 35910909952 is not referenced. [SQLSTATE 42000] Msg 2536, Sev 16: DBCC results for 'Datawarehouse'. [SQLSTATE 01000] Msg 2536, Sev 16: DBCC results for 'sysobjects'. [SQLSTATE 01000] Msg 2593, Sev 16: There are 1377 rows in 30 pages for object 'sysobjects'. [SQLSTATE 01000] Msg 2536, Sev 16: DBCC results for 'sysindexes'. [SQLSTATE 01000] Msg 8923, Sev 16: The repair level on the DBCC statement caused this repair to be bypassed. [SQLSTATE 01000] Msg 8923, Sev 16: The repair level on the DBCC statement caused this repair to be bypassed. [SQLSTATE 01000] Msg 8923, Sev 16: The repair level on the DBCC statement caused this repair to be bypassed. [SQLSTATE 01000] Msg 8923, Sev 16: The repair level on the DBCC statement caused this repair to be bypassed. [SQLSTATE 01000] Msg 8964, Sev 16: Table error: Object ID 2. The text, ntext, or image node at page (1:4142208), slot 8, text ID 35910975488 is not referenced. [SQLSTATE 42000] Msg 8964, Sev 16: Table error: Object ID 2. The text, ntext, or image node at page (1:4142208), slot 10, text ID 35911041024 is not referenced. [SQLSTATE 42000] Msg 8964, Sev 16: Table error: Object ID 2. The text, ntext, or image node at page (1:4142208), slot 11, text ID 35911106560 is not referenced. [SQLSTATE 42000] Msg 8964, Sev 16: Table error: Object ID 2. The text, ntext, or image node at page (1:4142208), slot 12, text ID 35911172096 is not referenced. [SQLSTATE 42000] Msg 8964, Sev 16: Table error: Object ID 2. The text, ntext, or image node at page (1:4142208), slot 14, text ID 35911237632 is not referenced. [SQLSTATE 42000] Msg 8964, Sev 16: Table error: Object ID 2. The text, ntext, or image node at page (1:7691690), slot 1, text ID 37040160768 is not referenced. [SQLSTATE 42000] Msg 8964, Sev 16: Table error: Object ID 2. The text, ntext, or image node at page (1:7691690), slot 3, text ID 37040226304 is not referenced. [SQLSTATE 42000] Msg 8964, Sev 16: Table error: Object ID 2. The text, ntext, or image node at page (1:7691691), slot 1, text ID 37040291840 is not referenced. [SQLSTATE 42000] Msg 8923, Sev 16: The repair level on the DBCC statement caused this repair to be bypassed. [SQLSTATE 01000] Msg 8923, Sev 16: The repair level on the DBCC statement caused this repair to be bypassed. [SQLSTATE 01000] Msg 8923, Sev 16: The repair level on the DBCC statement caused this repair to be bypassed. [SQLSTATE 01000] Msg 8923, Sev 16: The repair level on the DBCC statement caused this repair to be bypassed. [SQLSTATE 01000] Msg 8923, Sev 16: The repair level on the DBCC statement caused this repair to be bypassed. [SQLSTATE 01000] Msg 8923, Sev 16: The repair level on the DBCC statement caused this repair to be bypassed. [SQLSTATE 01000] Msg 8923, Sev 16: The repair level on the DBCC statement caused this repair to be bypassed. [SQLSTATE 01000] Msg 8923, Sev 16: The repair level on the DBCC statement caused this repair to be bypassed. [SQLSTATE 01000] Msg 8923, Sev 16: The repair level on the DBCC statement caused this repair to be bypassed. [SQLSTATE 01000] Msg 8964, Sev 16: Table error: Object ID 2. The text, ntext, or image node at page (1:7691691), slot 2, text ID 37040357376 is not referenced. [SQLSTATE 42000] Msg 8964, Sev 16: Table error: Object ID 2. The text, ntext, or image node at page (1:7699783), slot 1, text ID 35911303168 is not referenced. [SQLSTATE 42000] Msg 8964, Sev 16: Table error: Object ID 2. The text, ntext, or image node at page (1:7792736), slot 2, text ID 35911368704 is not referenced. [SQLSTATE 42000] Msg 8923, Sev 16: The repair level on the DBCC statement caused this repair to be bypassed. [SQLSTATE 01000] Msg 8923, Sev 16: The repair level on the DBCC statement caused this repair to be bypassed. [SQLSTATE 01000] Msg 8923, Sev 16: The repair level on the DBCC statement caused this repair to be bypassed. [SQLSTATE 01000] Msg 2593, Sev 16: There are 3487 rows in 218 pages for object 'sysindexes'. [SQLSTATE 01000] Msg 8990, Sev 16: CHECKDB found 0 allocation errors and 16 consistency errors in table 'sysindexes' (object ID 2). [SQLSTATE 01000]
When I run either "DBCC CHECKDB WITH NO_INFOMSGS" or using "check database integrity" in maintenance plan, I always got an error below:
The In-row data RSVD page count for object "tablename", index ID 0, partition ID 76911687696384, alloc unit ID 76911687696384 (type In-row data) is incorrect. Run DBCC UPDATEUSAGE. CHECKDB found 0 allocation errors and 1 consistency errors in table 'tablename' (object ID 1173579219). CHECKDB found 0 allocation errors and 1 consistency errors in database 'dbname'.
I have a database that is being restored to another instance of SQL server 2000 sp4 by attatching the mdf and ldf files. I then run EXEC sp_change_users_login to sync the users. When I try to run some delete commands on the new restored database I get 'Fatal error 8908'
I then run a DBCC CHECKDB on the database and told to run it again with REPAIR_ALLOW_DATA_LOSS
I have noticed that when I create a new databse and restore a .bak over this the delete commands work.
Am I correct in thinking that I can get rid of the corruption on the original database by creating a new database then restoring a valid .bak backup on this new database.
I've read the bad news in other post but hopefully I misunderstood them. We have a database on an old sql 2000 server which had a data drive failure. The last backup is a year old. They told me they stopped doing backups because nothing was going to change. Well, changes were made to structures and stored procedures on the production (only) server and they want to try to recover the database. Should I bother opening a support call with MS? I'm embarred to even post the question but you never know. The database is currently in emergency mode. I can't see any of the user tables or stored procedures in Mangement Studio.
Msg 8966, Level 16, State 1, Line 1
Could not read and latch page (1:17913) with latch type SH. sysobjects failed.
During the night I run a checkdb that reported a error in tempdb, log down in post for more info. Table error: Object ID 1109769969, index ID 0, partition ID 72057595983888384, alloc unit ID 72057596039200768 (type LOB data). The off-row data node at page (6:459), slot 0, text ID 296853831680 is not referenced. If run a checkdb know it€™s not finding any problem. I€™m bit confused what to do restart the server to get new tempdb? I check with for SQL Server 2005 Books Online for the €œMSSQLSERVER_8974€? error, it tells me to look after a €œLook for Hardware Failure€?. In the sql server log its stands that its have found 82 errors DBCC CHECKDB (tempdb) executed by AIR5MSSQLService found 82 errors and repaired 0 errors. Elapsed time: 0 hours 0 minutes 3 seconds. Directly after this a stackdump are generated. Somewhere in the middle of my dbcc script. After the i get the result of the next databases. DBCC CHECKDB (model) executed by AIR5MSSQLService found 0 errors and repaired 0 errors. Elapsed time: 0 hours 0 minutes 0 seconds. This is compress version of the log of dbcc job NEW COMPONENT OUTPUT Microsoft(R) Server Maintenance Utility (Unicode) Version 9.0.3042 Report was generated on "FLEFSE". Maintenance Plan: UnderhÃ¥ll Duration: 00:12:55 Status: Warning: One or more tasks failed.. Details: Check Database Integrity (FLEFSE) Execute TSQL on Local server connection Execution time out: 1800 Task start: 2007-12-05T02:00:01. Task end: 2007-12-05T02:12:57. Failed-1073548784) Executing the query "DECLARE AllDatabases CURSOR LOCAL FAST_FORWARD READ_ONLY FOR SELECT name FROM sys.databases WHERE state_desc='ONLINE' OPEN AllDatabases DECLARE @DBNameVar NVARCHAR(128) DECLARE @Statement NVARCHAR(300) FETCH NEXT FROM AllDatabases INTO @DBNameVar WHILE (@@FETCH_STATUS = 0) BEGIN PRINT N'CHECKING DATABASE ' + @DBNameVar SET @Statement = N'USE ' + @DBNameVar + CHAR(13) + N'DBCC CHECKDB (' + @DBNameVar + N')' EXEC sp_executesql @Statement PRINT CHAR(13) + CHAR(13) FETCH NEXT FROM AllDatabases INTO @DBNameVar END CLOSE AllDatabases DEALLOCATE AllDatabases " failed with the following error: "Table error: Object ID 1109769969, index ID 0, partition ID 72057595983888384, alloc unit ID 72057596039200768 (type LOB data). The off-row data node at page (6:459), slot 0, text ID 296853831680 is not referenced. Table error: Object ID 1109769969, index ID 0, partition ID 72057595983888384, alloc unit ID 72057596039200768 (type LOB data). The off-row data node at page (6:459), slot 1, text ID 296853897216 is not referenced. ... to ... Table error: Object ID 1109769969, index ID 0, partition ID 72057595983888384, alloc unit ID 72057596039200768 (type LOB data). The off-row data node at page (6:459), slot 81, text ID 296871985152 is not referenced. CHECKING DATABASE master DBCC results for 'master'. .... removed lines ... CHECKDB found 0 allocation errors and 0 consistency errors in database 'master'. DBCC results for 'mssqlsystemresource'. .... removed lines ... CHECKDB found 0 allocation errors and 0 consistency errors in database 'mssqlsystemresource'. DBCC execution completed. If DBCC printed error messages, contact your system administrator. CHECKING DATABASE tempdb DBCC results for 'tempdb'. .... removed lines ... CHECKDB found 0 allocation errors and 82 consistency errors in table '#4225BEF1' (object ID 1109769969). .... removed lines ... CHECKDB found 0 allocation errors and 82 consistency errors in database 'tempdb'. repair_allow_data_loss is the minimum repair level for the errors found by DBCC CHECKDB (tempdb). DBCC execution completed. If DBCC printed error messages, contact your system administrator. CHECKING DATABASE model DBCC results for 'model'. .... removed lines ... CHECKDB found 0 allocation errors and 0 consistency errors in database 'model'. DBCC execution completed. If DBCC printed error messages, contact your system administrator. CHECKING DATABASE msdb DBCC results for 'msdb'. .... removed lines ... CHECKDB found 0 allocation errors and 0 consistency errors in database 'msdb'. DBCC execution completed. If DBCC printed error messages, contact your system administrator. CHECKING DATABASE ReportServer DBCC results for 'ReportServer'. .... removed lines ... CHECKDB found 0 allocation errors and 0 consistency errors in database 'ReportServer'. DBCC execution completed. If DBCC printed error messages, contact your system administrator. CHECKING DATABASE ReportServerTempDB DBCC results for 'ReportServerTempDB'. .... removed lines ... CHECKDB found 0 allocation errors and 0 consistency errors in database 'ReportServerTempDB'. DBCC execution completed. If DBCC printed error messages, contact your system administrator. CHECKING DATABASE caisqlp DBCC results for 'caisqlp'. .... removed lines ... CHECKDB found 0 allocation errors and 0 consistency errors in database 'caisqlp'. DBCC execution completed. If DBCC printed error messages, contact your system administrator. CHECKING DATABASE BKALKYL DBCC results for 'BKALKYL'. .... removed lines ... CHECKDB found 0 allocation errors and 0 consistency errors in database 'BKALKYL'. DBCC execution completed. If DBCC printed error messages, contact your system administrator. CHECKING DATABASE distribution DBCC results for 'distribution'. .... removed lines ... CHECKDB found 0 allocation errors and 0 consistency errors in database 'distribution'. DBCC execution completed. If DBCC printed error messages, contact your system administrator. CHECKING DATABASE DMVstatsDB DBCC results for 'DMVstatsDB'. .... removed lines ... CHECKDB found 0 allocation errors and 0 consistency errors in database 'DMVstatsDB'. DBCC execution completed. If DBCC printed error messages, contact your system administrator. CHECKING DATABASE BALDATA DBCC results for 'BALDATA'. .... removed lines ... CHECKDB found 0 allocation errors and 0 consistency errors in database 'BALDATA'. DBCC execution completed. If DBCC printed error messages, contact your system administrator. CHECKING DATABASE VirtualCenterDB DBCC results for 'VirtualCenterDB'. .... removed lines ... CHECKDB found 0 allocation errors and 0 consistency errors in database 'VirtualCenterDB'. DBCC execution completed. If DBCC printed error messages, contact your system administrator. CHECKING DATABASE BINGE01 DBCC results for 'BINGE01'. .... removed lines ... CHECKDB found 0 allocation errors and 0 consistency errors in database 'BINGE01'. DBCC execution completed. If DBCC printed error messages, contact your system administrator. CHECKING DATABASE BMATINK DBCC results for 'BMATINK'. .... removed lines ... CHECKDB found 0 allocation errors and 0 consistency errors in database 'BMATINK'. DBCC execution completed. If DBCC printed error messages, contact your system administrator. CHECKING DATABASE BORDE01 DBCC results for 'BORDE01'. .... removed lines ... CHECKDB found 0 allocation errors and 0 consistency errors in database 'BORDE01'. DBCC execution completed. If DBCC printed error messages, contact your system administrator. CHECKING DATABASE BSTATISTIK DBCC results for 'BSTATISTIK'. .... removed lines ... CHECKDB found 0 allocation errors and 0 consistency errors in database 'BSTATISTIK'. DBCC execution completed. If DBCC printed error messages, contact your system administrator. CHECKING DATABASE MPSmartDB DBCC results for 'MPSmartDB'. .... removed lines ... CHECKDB found 0 allocation errors and 0 consistency errors in database 'MPSmartDB'. DBCC execution completed. If DBCC printed error messages, contact your system administrator. CHECKING DATABASE SmarTeamPilot DBCC results for 'SmarTeamPilot'. .... removed lines ... CHECKDB found 0 allocation errors and 0 consistency errors in database 'SmarTeamPilot'. DBCC execution completed. If DBCC printed error messages, contact your system administrator. CHECKING DATABASE STATISTIK DBCC results for 'STATISTIK'. .... removed lines ... CHECKDB found 0 allocation errors and 0 consistency errors in database 'STATISTIK'. DBCC execution completed. If DBCC printed error messages, contact your system administrator. CHECKING DATABASE VBAS DBCC results for 'VBAS'. .... removed lines ... CHECKDB found 0 allocation errors and 0 consistency errors in database 'VBAS'. DBCC execution completed. If DBCC printed error messages, contact your system administrator. CHECKING DATABASE MDataMM_0F DBCC results for 'MDataMM_0F'. .... removed lines ... CHECKDB found 0 allocation errors and 0 consistency errors in database 'MDataMM_0F'. DBCC execution completed. If DBCC printed error messages, contact your system administrator. CHECKING DATABASE DLDB DBCC results for 'DLDB'. .... removed lines ... CHECKDB found 0 allocation errors and 0 consistency errors in database 'DLDB'. DBCC execution completed. If DBCC printed error messages, contact your system administrator. CHECKING DATABASE ILDB DBCC results for 'ILDB'. .... removed lines ... CHECKDB found 0 allocation errors and 0 consistency errors in database 'ILDB'. DBCC execution completed. If DBCC printed error messages, contact your system administrator.
". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly. Command:USE master; GO SET NOCOUNT ON; GO DECLARE AllDatabases CURSOR LOCAL FAST_FORWARD READ_ONLY FOR SELECT name FROM sys.databases WHERE state_desc=''ONLINE'' OPEN AllDatabases DECLARE @DBNameVar NVARCHAR(128) DECLARE @Statement NVARCHAR(300) FETCH NEXT FROM AllDatabases INTO @DBNameVar WHILE (@@FETCH_STATUS = 0) BEGIN PRINT N''CHECKING DATABASE '' + @DBNameVar SET @Statement = N''USE '' + @DBNameVar + CHAR(13) + N''DBCC CHECKDB ('' + @DBNameVar + N'')'' EXEC sp_executesql @Statement PRINT CHAR(13) + CHAR(13) FETCH NEXT FROM AllDatabases INTO @DBNameVar END CLOSE AllDatabases DEALLOCATE AllDatabases GO SET NOCOUNT OFF; GO
This is the top of the stack-dump ===================================================================== BugCheck Dump =====================================================================
This file is generated by Microsoft SQL Server version 9.00.3042.00 upon detection of fatal unexpected error. Please return this file, the query or program that produced the bugcheck, the database and the error log, and any other pertinent information with a Service Request.
Computer type is AT/AT COMPATIBLE. Current time is 02:00:08 12/05/07. 8 Unknown CPU 9., 2333 Mhz processor (s). Windows NT 5.2 Build 3790 CSD Service Pack 2.
Memory MemoryLoad = 98% Total Physical = 8189 MB Available Physical = 163 MB Total Page File = 9795 MB Available Page File = 1527 MB Total Virtual = 8388607 MB Available Virtual = 8373732 MB
DBCC RESULTS --------------------
... lines removed .... **Dump thread - spid = 107, PSS = 0x00000000EE497BC0, EC = 0x00000000EE497BD0 ***Stack Dump being sent to C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLLOGSQLDump0009.txt * ******************************************************************************* * * BEGIN STACK DUMP: * 12/05/07 02:00:08 spid 107 * * DBCC database corruption * * Input Buffer 510 bytes - * DECLARE AllDatabases CURSOR LOCAL FAST_FORWARD READ_ONLY FOR * SELECT name FROM sys.databases WHERE state_desc='ONLINE' OPEN AllDatab * ases DECLARE @DBNameVar NVARCHAR(128) DECLARE @Statement NVARCHAR(30 * 0) FETCH NEXT FROM AllDatabases INTO @DBNameVar WHILE (@@FETCH_STATU * S = 0) BEGIN PRINT N'CHECKING DATABASE ' + @DBNameVar SET @Stat * ement = N'USE ' + @DBNameVar + CHAR(13) + N'DBCC CHECKDB (' + @DB * NameVar + N')' EXEC sp_executesql @Statement PRINT CHAR(13) + C * HAR(13) FETCH NEXT FROM AllDatabases INTO @DBNameVar END CLOSE A * llDatabases DEALLOCATE AllDatabases * * ******************************************************************************* * ------------------------------------------------------------------------------- * Short Stack Dump PSS @0x00000000EE497BC0 -----------------------
My DBCC script looks like this USE master; GO SET NOCOUNT ON; GO DECLARE AllDatabases CURSOR LOCAL FAST_FORWARD READ_ONLY FOR SELECT name FROM sys.databases WHERE state_desc='ONLINE' OPEN AllDatabases DECLARE @DBNameVar NVARCHAR(128) DECLARE @Statement NVARCHAR(300) FETCH NEXT FROM AllDatabases INTO @DBNameVar WHILE (@@FETCH_STATUS = 0) BEGIN PRINT N'CHECKING DATABASE ' + @DBNameVar SET @Statement = N'USE ' + @DBNameVar + CHAR(13) + N'DBCC CHECKDB (' + @DBNameVar + N')' EXEC sp_executesql @Statement PRINT CHAR(13) + CHAR(13) FETCH NEXT FROM AllDatabases INTO @DBNameVar END CLOSE AllDatabases DEALLOCATE AllDatabases GO SET NOCOUNT OFF; GO
In earlier versions of SQL Server, it was recommended that DBCC statements be made a regular part of a database backup strategy. It was recommended that databases be checked before being backed up. In SQL Server 7.0, this is no longer necessary.
Are integrity checks really no longer necessary in SQL Server 7? I have a third-party book in which the author states that he still does them anyway. Should I continue to do DBCC CHECKDB?
Also, I am using database maintenance plans for several SQL Servers. When the integrity checks are performed will it log any errors in the output log generated during the execution of the maintenance plan? The logs I receive look like the following:
[2] Database CPMCC_GL: Check Data and Index Linkage...
** Execution Time: 0 hrs, 39 mins, 54 secs **
If an error is detected would it be recorded here, or is this just a log to let me know that the checks were performed?
Our supplyer of application we use say that dbcc checkdb or dbcc newalloc can give corrupt database (use version 6.5). I wonders about this statement. Are ther some how have explanation about this
Let me start off by saying that under normal circumstance I would just restore from the last good backup. However in this case it appears as though the last good backup was sometime last August ... arg! After much yelling at the person responsible I've been attempting to get my blood pressure below 200 and see what data is recoverable.
First off, this was a RAID5 system that failed 1 drive. Secondly, before we got someone in there to replace said drive it failed a second drive and the system went down. We managed to massage the system back online but it appears that there is some corruption as a result which is no surprise.
I've done DB repairs in the past and it hasn't been too bad, but this time it is looking a little gnarly.
I've kicked everyone off the server and tried starting SQLServer several different ways.
I tried starting the service normally and then flagging the bad DB into single user mode with "ALTER DATABASE foo SET SINGLE_USER". I then did a select * from sysdatabases to make sure it took, which it did. I also tried starting the whole SQLServer in single user mode from the command line, "SQLServr -m".
I can run "DBCC CHECKDB('foo')" and I get a long ugly list of allocation errors. I posted it to a link as the 1349 lines returned is a little long: http://chrisnet.net/sqlbad/dbcc_checkdb.txt
But when I attempt to bite the bullet and destroy data in an attempt to put things back together with: "DBCC CHECKDB('foo', REPAIR_ALLOW_DATA_LOSS) WITH ALL_ERRORMSGS" I get: Server: Msg 7919, Level 16, State 2, Line 1 Repair statement not processed. Database needs to be in single user mode. DBCC execution completed. If DBCC printed error messages, contact your system administrator.
But yet the database is in single user mode, according to everything I check check on. Is this just SQL's way of telling me the corruption is too severe to be repaired? No output is displayed in the shell cmd window like it is for a successful DBCC either (when running sqlservr -m).
When I try to delete a job from Enterprise Manager Console I get the following error: Erro 644: Could not find the index entry for RID '163bd10000010000' in index page (1:553), index ID 0 database 'msdb'
Oh and this is on MSDE.
Here is my complete output of DBCC CHECKDB DBCC results for 'msdb'. DBCC results for 'sysobjects'. There are 280 rows in 6 pages for object 'sysobjects'. DBCC results for 'sysindexes'. There are 143 rows in 6 pages for object 'sysindexes'. DBCC results for 'syscolumns'. There are 1567 rows in 26 pages for object 'syscolumns'. DBCC results for 'systypes'. There are 26 rows in 1 pages for object 'systypes'. DBCC results for 'syscomments'. There are 357 rows in 108 pages for object 'syscomments'. DBCC results for 'sysfiles1'. There are 2 rows in 1 pages for object 'sysfiles1'. DBCC results for 'syspermissions'. There are 116 rows in 1 pages for object 'syspermissions'. DBCC results for 'sysusers'. There are 13 rows in 1 pages for object 'sysusers'. DBCC results for 'sysproperties'. There are 0 rows in 0 pages for object 'sysproperties'. DBCC results for 'sysdepends'. There are 1635 rows in 8 pages for object 'sysdepends'. DBCC results for 'sysreferences'. There are 12 rows in 1 pages for object 'sysreferences'. DBCC results for 'sysfulltextcatalogs'. There are 0 rows in 0 pages for object 'sysfulltextcatalogs'. DBCC results for 'sysfulltextnotify'. There are 0 rows in 0 pages for object 'sysfulltextnotify'. DBCC results for 'sysfilegroups'. There are 1 rows in 1 pages for object 'sysfilegroups'. DBCC results for 'backupset'. There are 1045 rows in 44 pages for object 'backupset'. DBCC results for 'sysjobschedules'. There are 7 rows in 1 pages for object 'sysjobschedules'. DBCC results for 'syscategories'. There are 19 rows in 1 pages for object 'syscategories'. DBCC results for 'systargetservers'. There are 0 rows in 0 pages for object 'systargetservers'. DBCC results for 'backupfile'. There are 1451 rows in 24 pages for object 'backupfile'. DBCC results for 'systargetservergroups'. There are 0 rows in 0 pages for object 'systargetservergroups'. DBCC results for 'systargetservergroupmembers'. There are 0 rows in 0 pages for object 'systargetservergroupmembers'. DBCC results for 'restorehistory'. There are 1 rows in 1 pages for object 'restorehistory'. DBCC results for 'sysalerts'. There are 9 rows in 1 pages for object 'sysalerts'. DBCC results for 'sysoperators'. There are 0 rows in 0 pages for object 'sysoperators'. DBCC results for 'sysnotifications'. There are 0 rows in 0 pages for object 'sysnotifications'. DBCC results for 'restorefile'. There are 2 rows in 1 pages for object 'restorefile'. DBCC results for 'systaskids'. There are 0 rows in 0 pages for object 'systaskids'. DBCC results for 'syscachedcredentials'. There are 0 rows in 0 pages for object 'syscachedcredentials'. DBCC results for 'restorefilegroup'. There are 1 rows in 1 pages for object 'restorefilegroup'. DBCC results for 'logmarkhistory'. There are 0 rows in 0 pages for object 'logmarkhistory'. DBCC results for 'sysdtscategories'. There are 3 rows in 1 pages for object 'sysdtscategories'. DBCC results for 'sysdtspackages'. There are 0 rows in 0 pages for object 'sysdtspackages'. DBCC results for 'sysdtspackagelog'. There are 0 rows in 0 pages for object 'sysdtspackagelog'. DBCC results for 'sysdtssteplog'. Server: Msg 8935, Level 16, State 1, Line 1 Table error: Object ID 2073058421, index ID 1. The previous link (1:343) on page (1:371) does not match the previous page (1:382) that the parent (1:300), slot 32 expects for this page. Server: Msg 8978, Level 16, State 1, Line 1 Table error: Object ID 2073058421, index ID 1. Page (1:371) is missing a reference from previous page (1:343). Possible chain linkage problem. There are 0 rows in 0 pages for object 'sysdtssteplog'. DBCC results for 'sysdtstasklog'. There are 0 rows in 0 pages for object 'sysdtstasklog'. DBCC results for 'sysdbmaintplans'. There are 4 rows in 1 pages for object 'sysdbmaintplans'. DBCC results for 'sysdbmaintplan_jobs'. There are 4 rows in 1 pages for object 'sysdbmaintplan_jobs'. DBCC results for 'sysdbmaintplan_databases'. There are 12 rows in 1 pages for object 'sysdbmaintplan_databases'. DBCC results for 'sysdbmaintplan_history'. There are 724 rows in 23 pages for object 'sysdbmaintplan_history'. DBCC results for 'log_shipping_primaries'. There are 0 rows in 0 pages for object 'log_shipping_primaries'. DBCC results for 'log_shipping_secondaries'. There are 0 rows in 0 pages for object 'log_shipping_secondaries'. DBCC results for 'mswebtasks'. There are 0 rows in 0 pages for object 'mswebtasks'. DBCC results for 'sqlagent_info'. There are 0 rows in 0 pages for object 'sqlagent_info'. DBCC results for 'sysdownloadlist'. There are 0 rows in 0 pages for object 'sysdownloadlist'. DBCC results for 'backupmediaset'. There are 1045 rows in 11 pages for object 'backupmediaset'. DBCC results for 'sysjobhistory'. Server: Msg 8935, Level 16, State 1, Line 1 Table error: Object ID 2073058421, index ID 1. The previous link (1:382) on page (1:564) does not match the previous page (1:371) that the parent (1:300), slot 33 expects for this page. There are 626 rows in 208 pages for object 'sysjobhistory'. CHECKDB found 0 allocation errors and 3 consistency errors in table 'sysjobhistory' (object ID 2073058421). DBCC results for 'sysjobs'. There are 7 rows in 1 pages for object 'sysjobs'. DBCC results for 'backupmediafamily'. There are 1045 rows in 20 pages for object 'backupmediafamily'. DBCC results for 'sysjobservers'. There are 7 rows in 1 pages for object 'sysjobservers'. DBCC results for 'sysjobsteps'. There are 9 rows in 1 pages for object 'sysjobsteps'. CHECKDB found 0 allocation errors and 3 consistency errors in database 'msdb'. repair_rebuild is the minimum repair level for the errors found by DBCC CHECKDB (msdb ). DBCC execution completed. If DBCC printed error messages, contact your system administrator.
every few days i'm getting an error in the application log , eventID 824, saying 'SQL Server detected a logical consistency-based i/o error; incorrect checksum. it then recommends completing a full database consistency check (dbcc checkdb).
i have run the dbcc checkdb ('databasename') and it is returning an error msg of:
Msg 8697, Level 16, State 215, Line 1 An internal error occurred in DBCC which prevented further processing Msg 8921, Level 16, State 1, Line 1 Check terminated. A failure was detected while collecting facts. Possibly tempdb out of space or a system table is inconsistent. Check previous errors
i have oodles of disk space left. any ideas on where to go from here.
I have huge database on prod. One time I tried to run DBCC CHECKDB, it took more than a day. My question is can I created a snapshot of the prod database on the same server and run DBCC CHECKDB on the Snapshot DB? will doing this interfere production database? I don’t have option to make copy of the database on a test server and run it there.
I followed the advice of Paul Randal, but Im stumped as I am not able to determin what the corruption issues are. This is SQL 2000 and the database is a Solomon database that was recently upgraded to 6.5. the error I get when running the DBCC checkdb is as follows:
Server: Msg 8966, Level 16, State 1, Line 1 Could not read and latch page (1:18645) with latch type SH. sysindexes failed. DBCC execution completed. If DBCC printed error messages, contact your system administrator.
DBCC execution completed. If DBCC printed error messages, contact your system administrator. DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Now, the bad news. I am a bit of a novice and have picked this up from someone who left my company. It appears the latch error has been around for some time and only reared up when I instituted a new back up system that runs a dbcc check befor backing up. I don't think I have any clean backups.
Hi I want to suspect database stop server first I try to rename C:Program Files (x86)Microsoft SQL ServerMSSQL.1MSSQLDatamsdbdata.mdf to msdbdata.sav and then start the server use command to check: SELECT status & 256 FROM master.dbo.sysdatabases WHERE name = database_name if the result is 256,it means the msdb is suspect,but the result is 0,it same as the normal status do you know how to set database suspect with this way, or do you know other way to suspect databse. absolutely,I could re-back my server noraml with your way Thanks
In my environment, there is maintenance plan configured on one of the server and while running DBCC checkdb on a database of size around 200GB, log file usage of tempdb is increasing and causing the maintenance job to fail.
What can I do to make the maintenance job run successfully, size of the tempdb database is only 50GB and recovery model is set to simple. It cannot be increased as the mount point on which it is residing is 50GB.
I have a few extremely large databases in SQL Server 6.5 sp3 (soon to be 5a - but we won't talk about that!!) NT 4.0 sp4 (about 10 GIG each). I don't have a big window of down-time in order to do any maintenance. Does anyone know of a way to be able to run dbcc checkdb or other dbcc's that I can run to verify the database yet complete within a reasonable amount of time? The last time dbcc checkdb was run, it was started Friday night and still not complete Sunday night. Over a weekend, I may have up to a 24 hour maintenance window.
Any suggestions would be appreciated. Thanks! Toni
Hai , When I ran DBCC CHECK DB of userdatabase, its reporting along with usual messages as Descriptor for system table '8' in database '8' not found in the descriptor hash table. I could'nt understand being familiar error encounterd . Any one will appreciate for the help
I recently took over a SQL server with 300 MB of data. I am relatively new to SQL 6.5 and have been reading that DBCC checkdb and checkalloc should be run at least once per week. Apparently the person before me never ran any of those checks. Is not running the database consistency checks for so long going to present a problem? has anyone run into problems when running those checks? Any advise is greatly appreciated.
I ran "dbcc checkdb(MCMSdb) with no_infomsgs" and I get the following: Server: Msg 8946, Level 16, State 12, Line 2 Table error: Allocation page (1:274992) has invalid PFS_PAGE page header values. Type is 0. Check type, object ID and page ID on the page.
What cane be done to correct this problem? Can this error prevent a user from connecting to the database?
I ran checkdb and found 4 error message on the db.. it seen like same object.. can anyone tell me what it is.. and how can i fix it? thanks !!!!
1. Server: Msg 8976, Level 16, State 1, Line 35 Table error: Object ID 2094630505, index ID 1. Page (1:809859) was not seen in the scan although its parent (1:77885) and previous (1:809767) refer to it. Check any previous errors. 2. Server: Msg 8978, Level 16, State 1, Line 35 Table error: Object ID 2094630505, index ID 1. Page (1:809860) is missing a reference from previous page (1:809859). Possible chain linkage problem. 3. Server: Msg 8976, Level 16, State 1, Line 35 Table error: Object ID 2094630505, index ID 1. Page (1:1453795) was not seen in the scan although its parent (1:1453347) and previous (1:1453796) refer to it. Check any previous errors. 4. Server: Msg 8978, Level 16, State 1, Line 35 Table error: Object ID 2094630505, index ID 1. Page (1:1453801) is missing a reference from previous page (1:1453795). Possible chain linkage problem.
Does anybody know if the results of DBCC CHECKDB are stored anywhere? If yes, where? Also, if you don't select "attempt to repair minor problems" option when you set up the maintenance plan, will SQL Server let you know about any errors Integrity check encounters? If yes, where the erros can be found?
in the SQL 6.5 documentation it says when running the DBCC CHECKDB, you should make the database read Only or DBO use only. Do you guys know if SQL 6.5 locks rows while this runs? In SQL 7.0/2000 it only locks the schema.
I am using windows nt40 and sql server 6.5 on a DEC ALPHA and accidentlly started a dbcc checkdb. Is it possible to stop the process with out damaging the database?
When running dbcc checkdb from my workstation(nt) I recieve some of the output and then I get "Connection Broken" this is on a 6.5 machine with the service pack 5, what could be causing my ODBC connection to drop during the proccess of running checkdb?
How can I make the dbcc checkdb fail so I can get the errors displayed in the report log? DBCC Checkdb is the step in the integrity job that I run once a month. What I am trying to do is when the dbcc checkdb fails for any reason, I want to get notified so I can correct the problem. I don't want to use repair fast or any other repair parameters that you can select when you run dbcc checkdb function because most of my dbs are 24x7.