SQLServerCentral » Discuss content posted by Paul Randal » The Importance of Validating BackupsInstantForum 2016-2 FinalSQLServerCentralhttps://www.sqlservercentral.com/Forums/SQLServerCentralTue, 17 Jan 2017 08:35:12 GMT20The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1363312.aspxComments posted to this topic are about the item [B]<A HREF="/articles/Backups/93224/">The Importance of Validating Backups</A>[/B]Tue, 28 Jan 2014 07:27:40 GMTPaul RandalRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1535440.aspxGreat article, all newbie (and the seasoned pros!) should read, digest and follow the steps.
[b][i]qh[/i][/b]Tue, 28 Jan 2014 07:27:40 GMTquackhandle1975RE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1528460.aspxThank you all for your detailed information. :) appreciate it.
ShahinTue, 07 Jan 2014 06:48:02 GMTShahinRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1528457.aspx[quote][b]Shahin (1/7/2014)[/b][hr]How can I check the integrity of this restored database without using our 3rd application to read the data? or when restore process finish without any error this would means everything should work.[/quote]
There are really three levels that need to be checked. First, that the backup isn't corrupt and can be restored. Restoring as you described will do that. Second, that the data inside the database isn't corrupt according to SQL. Running dbcc checkdb on the database will confirm that. However, there could be data inside the database that the application can't handle. If you're doing routine checks don't worry about this level. While the first two levels are easy to check this one is much more difficult to do so most people don't worry about doing it routinely. If you're trying to troubleshoot an issue you may need to point the application at it somehow and test to see if the issue still happens.Tue, 07 Jan 2014 06:44:09 GMTchrisfradenburgRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1528451.aspxTo complete what Grant said, if you do a restore of a backup and get no errors all is ok.Tue, 07 Jan 2014 06:22:26 GMTMichael MeierruthRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1528447.aspxThanks for the update,
We have a 3rd party application that uses SQL 2008 R2 database, we Backup the production databases and then with a 3rd party application backup exec put them on the tape. I will restore one of these backup sets from tape to a network drive and then retore this .bak file on a developer machine. my question,
How can I check the integrity of this restored database without using our 3rd application to read the data? or when restore process finish without any error this would means everything should work.
ThanksTue, 07 Jan 2014 06:10:06 GMTShahinRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1528443.aspxWithout resorting to a third party software, you can't. The only way to access a backup is to restore it.Tue, 07 Jan 2014 06:03:28 GMTGrant FritcheyRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1528426.aspxHi Paul,
Thanks for the article,
Just one question,
How can I open the database in a backup without having to restore it?
ShahinTue, 07 Jan 2014 05:06:28 GMTShahinRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1526428.aspxThanks Sir, saving us from data loss, which is life for us, and who ever depend on us. such an article, I always admires... happy holidays.Mon, 30 Dec 2013 02:32:11 GMTjayperi 68050RE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1526238.aspxOne of the best way to validate backups - restore them onto the servers your developers are using as often as makes sense in your environment, preferably daily.Fri, 27 Dec 2013 12:13:22 GMTmarkauritRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1526180.aspxThanks for posting this Paul. It has motivated me to revise my backup/restore plans. I now restore the production backup to my test DB immediately after backup, and use CHECKSUM as well.
I'm not a reluctant DBA. But, as I wear many hats, I don't get to focus as much time on administration as I wish to. Articles like this keep me pointed in the right direction.Fri, 27 Dec 2013 08:55:49 GMTThomas AbrahamRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1526129.aspxHi Paul,
Great article! I immediately checked my backups and realized that I was already doing this because WITH CHECKSUM is the default for compressed backups ([url=http://technet.microsoft.com/en-us/library/ms186865.aspx]http://technet.microsoft.com/en-us/library/ms186865.aspx[/url]). I just wanted to point that out as many people create their backups using the maintenance plans depending on the environment.
-Derek StanleyFri, 27 Dec 2013 07:12:36 GMTSlevinRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1400105.aspx[url=http://paulbrewer.wordpress.com/2013/10/12/database-restore-automation/]This is a link to a T-SQL and a PowerShell script that can be used to automate SQL Restores. [/url]
Tue, 25 Dec 2012 15:31:55 GMTPaul BrewerRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1400103.aspxI've developed a stored procedure to automate the generation of restore scripts. http://paul.dynalias.com/SQL/_layouts/15/start.aspx#/
The procedure is actually a single SQL query, you can specify a STOPAT point and it works out the FULL, DIFF, LOG files needed and generates the necessary script. It includes a CHECKDB at the end, ignores WITH COPY_ONLY , allows overrides to restore file locations using WITH MOVE and so on. It's better than anything else available free I can find.Tue, 25 Dec 2012 15:24:54 GMTPaul BrewerRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1400071.aspxNice article.Tue, 25 Dec 2012 08:37:20 GMTNeha05RE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1382716.aspxNewbee ;
Paul this is a very good article but one common trend here is educating the masses that require these backups .
Would it be possible to providfe me with names of vitualisation tools which will aid in validating backs as well as restores.Thu, 08 Nov 2012 14:23:33 GMTSQL PGRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1366197.aspxYou must be corrupting a page that is not allocated - you need to figure out which page you're corrupting and then check it's allocation status using DBCC PAGE.
For the backup, if you corrupt the backup header then restore verifyonly will catch that, with or without checksum.Sat, 29 Sep 2012 09:16:59 GMTPaul RandalRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1366166.aspx[quote][b]Paul Randal (9/28/2012)[/b][hr]It's nothing to do with DBCC - it's the try/catch eating the errors being printed. No idea how to use that correctly - it has some weird behavior.
Nothing changes the behavior of DBCC, but you're changing the way the DBCC output is consumed.
All I said was after running DBCC, the value of @@error will be non-zero if errors were found.
[/quote]
Paul,
OK, I confirm what you say about @@error after 'dbcc checkdb'.
So now I can catch all 3 situations:
dbcc checkdb
backup database with checksum
restore verifyonly with checksum
and if something goes wrong I get an email - heaven forbid.:w00t:
One thing that still leaves me a bit puzzled is that sometimes modifying a single byte somewhere in the database (MDF file) checkdb does not detect the database to be 'corrupt' (nor does backup with checksum). Maybe it's because the page is 'inactive', so I do a shrinkfile but I can still get this phenomena to occur. If every page (8192 bytes) in the file has a checksum then modifying a single byte at random should corrupt the database. I can only assume that not all pages get checked because they are 'not important' in some deep down technical sense.
Regarding 'restore verifyonly', there seems to be no difference between having 'with checksum' and not having it. I can corrupt a backup and I get the same error message with 'with checksum' and without it. But I'm happy doing it with 'with checksum'.
I will now stop corrupting things...:-)Sat, 29 Sep 2012 00:54:18 GMTMichael MeierruthRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1366070.aspxAnother significant problem with maintenance plans, well documented, is that the 'Verify Backups' check box doesn't translate to backups WITH CHECKSUM. It actuall runs a restore verify only immediately after the backup, I don't understand why they don't use WITH CHECKSUM (when possible) if this option is enabled.
If you assume some responsibility for mature production database servers with maintenance plans that have been running for years, its difficult to make the case to management that they should all be replaced with T-SQL jobs so they can use CHECKSUM.Fri, 28 Sep 2012 12:47:05 GMTPaul BrewerRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1366068.aspx[quote][b]Paul Randal (9/28/2012)[/b][hr]It's nothing to do with DBCC - it's the try/catch eating the errors being printed. No idea how to use that correctly - it has some weird behavior.
Nothing changes the behavior of DBCC, but you're changing the way the DBCC output is consumed.
All I said was after running DBCC, the value of @@error will be non-zero if errors were found.
[/quote]
Thanks for confirming my suspicions Paul. As I said, I don't use it often enough to understand why that happens, but it looks like TRY..CATCH has trouble handling multiple errors in one go.
Michael: I ran my SP that I had posted against a broken DB, and b/c there is no TRY..CATCH involved, the Level 16 errors [b]do[/b] get dumped to the output table, which means you could then query that output table. The only reason I included the final TRY..CATCH in the SP is to handle the rare possibility that DBCC CHECKDB [b]itself[/b] fails b/c the DB errors are so severe.
RichFri, 28 Sep 2012 12:45:47 GMTRich MechaberRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1366065.aspxIt's nothing to do with DBCC - it's the try/catch eating the errors being printed. No idea how to use that correctly - it has some weird behavior.
Nothing changes the behavior of DBCC, but you're changing the way the DBCC output is consumed.
All I said was after running DBCC, the value of @@error will be non-zero if errors were found.
Fri, 28 Sep 2012 12:37:37 GMTPaul RandalRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1366062.aspx[quote][b]Michael Meierruth (9/28/2012)[/b][hr][quote][b]rmechaber (9/28/2012)[/b][hr]Did you see my post on page 3 of the comments?
Rich[/quote]
Yes, it's 200 lines of code and comments (I like those!)
But I'm comparing 1 line of my code (a single DBCC CHECKDATABSE) with 8 lines of my trivial code trying to trap an error.
Why are they getting different results in the Messages window?
Where am I going wrong?
[/quote]
Sorry Michael, I didn't read your post closely enough to realize that you were getting different results back when checking the same database. I have no idea, and I'll look forward to Paul Randal's reply.
I just tried running your code block against a Broken database I downloaded from Paul's website and compared the output from a direct run [DBCC CHECKDB('broken')] with your code block (also checking DB 'broken'). I saved the output from both runs to text files and ran them through a text comparison utility; the direct run had the following lines in the output that were missing from the TRY..CATCH attempt:
[code="plain"]Msg 8928, Level 16, State 1, Line 1
Object ID 2073058421, index ID 0, partition ID 72057594038321152, alloc unit ID 72057594042318848 (type In-row data): Page (1:143) could not be processed. See other errors for details.
Msg 8939, Level 16, State 98, Line 1
Table error: Object ID 2073058421, index ID 0, partition ID 72057594038321152, alloc unit ID 72057594042318848 (type In-row data), page (1:143). Test (IS_OFF (BUF_IOERR, pBUF->bstat)) failed. Values are 29493257 and -4.
[/code]
Rich
P.S. Add'l: I am wondering if this is an artifact of the TRY..CATCH block itself. I don't use it enough myself to know if this is related, but you might want to look [url=http://social.msdn.microsoft.com/Forums/en-AU/transactsql/thread/d676bfe7-981c-4279-b710-abbc08baadf3]here[/url] and [url=http://www.sqlmag.com/blog/puzzled-by-t-sql-blog-15/tsql/denali-t-sql-at-a-glance--throw-136849]here[/url].Fri, 28 Sep 2012 12:20:23 GMTRich MechaberRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1366053.aspx[quote][b]rmechaber (9/28/2012)[/b][hr]Did you see my post on page 3 of the comments?
Rich[/quote]
Yes, it's 200 lines of code and comments (I like those!)
But I'm comparing 1 line of my code (a single DBCC CHECKDATABSE) with 8 lines of my trivial code trying to trap an error.
Why are they getting different results in the Messages window?
Where am I going wrong?
Fri, 28 Sep 2012 11:59:00 GMTMichael MeierruthRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1366047.aspxDid you see my post on page 3 of the comments?
RichFri, 28 Sep 2012 11:48:36 GMTRich MechaberRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1366042.aspx[quote][b]Paul Randal (9/28/2012)[/b][hr]Too many ambiguities in your post and question. For instance, the 'end' of what? Page? Database? Backup file?
Can you give the exact set of steps and T-SQL, from creating the database to running the commands that do/do not fail? Only then can I explain the behavior you're seeing.
Thanks[/quote]
OK, let's do one at a time: DBCC CHECKDB('...') run on a corrupted database (via a single byte change in the physical file).
When I run the above single comand directly I get 'Level 16' errors:
[code="plain"]
DBCC results for 'A7RETE'.
Service Broker Msg 9675, State 1: Message Types analyzed: 14.
Service Broker Msg 9676, State 1: Service Contracts analyzed: 6.
Service Broker Msg 9667, State 1: Services analyzed: 3.
Service Broker Msg 9668, State 1: Service Queues analyzed: 3.
Service Broker Msg 9669, State 1: Conversation Endpoints analyzed: 0.
Service Broker Msg 9674, State 1: Conversation Groups analyzed: 0.
Service Broker Msg 9670, State 1: Remote Service Bindings analyzed: 0.
DBCC results for 'sys.sysrowsetcolumns'.
There are 3638 rows in 24 pages for object "sys.sysrowsetcolumns".
DBCC results for 'sys.sysrowsets'.
There are 431 rows in 6 pages for object "sys.sysrowsets".
DBCC results for 'sysallocunits'.
There are 510 rows in 9 pages for object "sysallocunits".
DBCC results for 'sys.sysfiles1'.
There are 2 rows in 1 pages for object "sys.sysfiles1".
DBCC results for 'sys.syshobtcolumns'.
There are 3638 rows in 27 pages for object "sys.syshobtcolumns".
DBCC results for 'sys.syshobts'.
There are 431 rows in 5 pages for object "sys.syshobts".
DBCC results for 'sys.sysftinds'.
There are 0 rows in 0 pages for object "sys.sysftinds".
DBCC results for 'sys.sysserefs'.
There are 510 rows in 2 pages for object "sys.sysserefs".
DBCC results for 'sys.sysowners'.
There are 14 rows in 1 pages for object "sys.sysowners".
DBCC results for 'sys.sysprivs'.
There are 153 rows in 1 pages for object "sys.sysprivs".
DBCC results for 'sys.sysschobjs'.
There are 1128 rows in 16 pages for object "sys.sysschobjs".
DBCC results for 'sys.syscolpars'.
There are 3181 rows in 38 pages for object "sys.syscolpars".
DBCC results for 'sys.sysnsobjs'.
There are 1 rows in 1 pages for object "sys.sysnsobjs".
DBCC results for 'sys.syscerts'.
There are 0 rows in 0 pages for object "sys.syscerts".
DBCC results for 'sys.sysxprops'.
There are 0 rows in 0 pages for object "sys.sysxprops".
DBCC results for 'sys.sysscalartypes'.
There are 27 rows in 1 pages for object "sys.sysscalartypes".
DBCC results for 'sys.systypedsubobjs'.
There are 0 rows in 0 pages for object "sys.systypedsubobjs".
DBCC results for 'sys.sysidxstats'.
There are 742 rows in 12 pages for object "sys.sysidxstats".
DBCC results for 'sys.sysiscols'.
There are 1071 rows in 7 pages for object "sys.sysiscols".
DBCC results for 'sys.sysbinobjs'.
There are 23 rows in 1 pages for object "sys.sysbinobjs".
DBCC results for 'sys.sysobjvalues'.
There are 1416 rows in 158 pages for object "sys.sysobjvalues".
DBCC results for 'sys.sysclsobjs'.
There are 14 rows in 1 pages for object "sys.sysclsobjs".
DBCC results for 'sys.sysrowsetrefs'.
There are 0 rows in 0 pages for object "sys.sysrowsetrefs".
DBCC results for 'sys.sysremsvcbinds'.
There are 0 rows in 0 pages for object "sys.sysremsvcbinds".
DBCC results for 'sys.sysxmitqueue'.
There are 0 rows in 0 pages for object "sys.sysxmitqueue".
DBCC results for 'sys.sysrts'.
There are 1 rows in 1 pages for object "sys.sysrts".
DBCC results for 'sys.sysconvgroup'.
There are 0 rows in 0 pages for object "sys.sysconvgroup".
DBCC results for 'sys.sysdesend'.
There are 0 rows in 0 pages for object "sys.sysdesend".
DBCC results for 'sys.sysdercv'.
There are 0 rows in 0 pages for object "sys.sysdercv".
DBCC results for 'sys.syssingleobjrefs'.
There are 1033 rows in 6 pages for object "sys.syssingleobjrefs".
DBCC results for 'sys.sysmultiobjrefs'.
There are 1346 rows in 12 pages for object "sys.sysmultiobjrefs".
DBCC results for 'sys.sysdbfiles'.
There are 2 rows in 1 pages for object "sys.sysdbfiles".
DBCC results for 'sys.sysguidrefs'.
There are 0 rows in 0 pages for object "sys.sysguidrefs".
DBCC results for 'sys.sysqnames'.
There are 91 rows in 1 pages for object "sys.sysqnames".
DBCC results for 'sys.sysxmlcomponent'.
There are 93 rows in 1 pages for object "sys.sysxmlcomponent".
DBCC results for 'sys.sysxmlfacet'.
There are 97 rows in 1 pages for object "sys.sysxmlfacet".
DBCC results for 'sys.sysxmlplacement'.
There are 17 rows in 1 pages for object "sys.sysxmlplacement".
DBCC results for 'sys.sysobjkeycrypts'.
There are 0 rows in 0 pages for object "sys.sysobjkeycrypts".
DBCC results for 'sys.sysasymkeys'.
There are 0 rows in 0 pages for object "sys.sysasymkeys".
DBCC results for 'sys.syssqlguides'.
There are 0 rows in 0 pages for object "sys.syssqlguides".
DBCC results for 'sys.sysbinsubobjs'.
There are 0 rows in 0 pages for object "sys.sysbinsubobjs".
DBCC results for 'tr_action'.
There are 1 rows in 1 pages for object "tr_action".
DBCC results for 'tr_processlog'.
There are 0 rows in 0 pages for object "tr_processlog".
DBCC results for 'tr_ppbackup'.
There are 0 rows in 0 pages for object "tr_ppbackup".
DBCC results for 'tr_linkheader'.
There are 141 rows in 4 pages for object "tr_linkheader".
DBCC results for 'tr_mapping'.
There are 14 rows in 1 pages for object "tr_mapping".
DBCC results for 'tr_processparamvalue'.
There are 0 rows in 0 pages for object "tr_processparamvalue".
DBCC results for 'tr_demandtypecount'.
There are 0 rows in 0 pages for object "tr_demandtypecount".
DBCC results for 'tr_resourcerole'.
There are 124 rows in 7 pages for object "tr_resourcerole".
DBCC results for 'tr_teammember'.
There are 0 rows in 0 pages for object "tr_teammember".
DBCC results for 'tr_resourcebudget'.
There are 0 rows in 0 pages for object "tr_resourcebudget".
DBCC results for 'tr_milestonetrend'.
There are 0 rows in 0 pages for object "tr_milestonetrend".
DBCC results for 'tr_approver'.
There are 0 rows in 0 pages for object "tr_approver".
DBCC results for 'tr_activityactionmap'.
There are 0 rows in 0 pages for object "tr_activityactionmap".
DBCC results for 'tr_method'.
There are 3 rows in 1 pages for object "tr_method".
DBCC results for 'tr_userfield'.
There are 43 rows in 2 pages for object "tr_userfield".
DBCC results for 'tr_currencyrate'.
There are 0 rows in 0 pages for object "tr_currencyrate".
DBCC results for 'tr_requirevalue'.
There are 0 rows in 0 pages for object "tr_requirevalue".
DBCC results for 'tr_request'.
There are 2 rows in 1 pages for object "tr_request".
DBCC results for 'tr_demandactivityvalue'.
There are 0 rows in 0 pages for object "tr_demandactivityvalue".
DBCC results for 'tr_benefittype'.
There are 0 rows in 0 pages for object "tr_benefittype".
DBCC results for 'tr_flow'.
There are 0 rows in 0 pages for object "tr_flow".
DBCC results for 'tr_costtype'.
There are 0 rows in 0 pages for object "tr_costtype".
DBCC results for 'tr_usercategory'.
There are 23 rows in 1 pages for object "tr_usercategory".
DBCC results for 'tr_activity'.
There are 0 rows in 0 pages for object "tr_activity".
DBCC results for 'tr_milestonevalue'.
There are 0 rows in 0 pages for object "tr_milestonevalue".
DBCC results for 'trx_file'.
There are 729 rows in 9 pages for object "trx_file".
DBCC results for 'tr_bucketbudget'.
There are 0 rows in 0 pages for object "tr_bucketbudget".
DBCC results for 'tr_subscription'.
There are 0 rows in 0 pages for object "tr_subscription".
DBCC results for 'tr_teamvalue'.
There are 0 rows in 0 pages for object "tr_teamvalue".
DBCC results for 'trx_taonet'.
There are 739043 rows in 27119 pages for object "trx_taonet".
DBCC results for 'tr_requestdemand'.
There are 0 rows in 0 pages for object "tr_requestdemand".
DBCC results for 'tr_link'.
There are 142 rows in 2 pages for object "tr_link".
DBCC results for 'tr_xlreport'.
There are 25 rows in 1 pages for object "tr_xlreport".
DBCC results for 'tr_resourcecharac'.
There are 55 rows in 3 pages for object "tr_resourcecharac".
DBCC results for 'trx_eventlog9'.
There are 2103 rows in 22 pages for object "trx_eventlog9".
DBCC results for 'tr_stepbudget'.
There are 0 rows in 0 pages for object "tr_stepbudget".
DBCC results for 'tr_requirement'.
There are 0 rows in 0 pages for object "tr_requirement".
DBCC results for 'trx_eventlog6'.
There are 577 rows in 6 pages for object "trx_eventlog6".
DBCC results for 'tr_budgetgraph'.
There are 1 rows in 1 pages for object "tr_budgetgraph".
DBCC results for 'tr_fiscalperiod'.
There are 0 rows in 0 pages for object "tr_fiscalperiod".
DBCC results for 'tr_benefit'.
There are 0 rows in 0 pages for object "tr_benefit".
DBCC results for 'tr_timesheetvalue'.
There are 0 rows in 0 pages for object "tr_timesheetvalue".
DBCC results for 'tr_statenode'.
There are 0 rows in 0 pages for object "tr_statenode".
DBCC results for 'tr_assignment'.
There are 0 rows in 0 pages for object "tr_assignment".
DBCC results for 'tr_xlreportsql'.
There are 35 rows in 3 pages for object "tr_xlreportsql".
DBCC results for 'tr_demandtypecodemap'.
There are 0 rows in 0 pages for object "tr_demandtypecodemap".
DBCC results for 'tr_currency'.
There are 1 rows in 1 pages for object "tr_currency".
DBCC results for 'tr_milestone'.
There are 0 rows in 0 pages for object "tr_milestone".
DBCC results for 'tr_milestonemap'.
There are 0 rows in 0 pages for object "tr_milestonemap".
DBCC results for 'tr_stepaccess'.
There are 621 rows in 6 pages for object "tr_stepaccess".
DBCC results for 'tr_budgetcostpref'.
There are 0 rows in 0 pages for object "tr_budgetcostpref".
DBCC results for 'tr_resgroup'.
There are 0 rows in 0 pages for object "tr_resgroup".
DBCC results for 'tr_demandactivitycharac'.
There are 0 rows in 0 pages for object "tr_demandactivitycharac".
DBCC results for 'tr_resource'.
There are 101 rows in 5 pages for object "tr_resource".
DBCC results for 'tr_characvalue'.
There are 1348 rows in 40 pages for object "tr_characvalue".
DBCC results for 'tr_demandactivityinfo'.
There are 0 rows in 0 pages for object "tr_demandactivityinfo".
DBCC results for 'tr_processparam'.
There are 0 rows in 0 pages for object "tr_processparam".
DBCC results for 'tr_dataread'.
There are 107 rows in 1 pages for object "tr_dataread".
DBCC results for 'tr_demandtypecharac'.
There are 0 rows in 0 pages for object "tr_demandtypecharac".
DBCC results for 'tr_timesheet'.
There are 0 rows in 0 pages for object "tr_timesheet".
DBCC results for 'tr_costexplanation'.
There are 0 rows in 0 pages for object "tr_costexplanation".
DBCC results for 'tr_comment'.
There are 0 rows in 1 pages for object "tr_comment".
DBCC results for 'tr_releasestatus'.
There are 11 rows in 1 pages for object "tr_releasestatus".
DBCC results for 'tr_alert'.
There are 724 rows in 28 pages for object "tr_alert".
DBCC results for 'tr_taskrelation'.
There are 0 rows in 1 pages for object "tr_taskrelation".
DBCC results for 'tr_bucket'.
There are 0 rows in 0 pages for object "tr_bucket".
DBCC results for 'tr_deptresource'.
There are 0 rows in 0 pages for object "tr_deptresource".
DBCC results for 'tr_teamcharac'.
There are 0 rows in 0 pages for object "tr_teamcharac".
DBCC results for 'sys.queue_messages_761105802'.
There are 0 rows in 0 pages for object "sys.queue_messages_761105802".
DBCC results for 'tr_budgetrespref'.
There are 0 rows in 0 pages for object "tr_budgetrespref".
DBCC results for 'tr_departmentaccess'.
There are 0 rows in 0 pages for object "tr_departmentaccess".
DBCC results for 'tr_demandflowinfo'.
There are 0 rows in 0 pages for object "tr_demandflowinfo".
DBCC results for 'sys.queue_messages_793105916'.
There are 0 rows in 0 pages for object "sys.queue_messages_793105916".
DBCC results for 'tr_statelink'.
There are 0 rows in 0 pages for object "tr_statelink".
DBCC results for 'tr_milestonecharac'.
There are 0 rows in 0 pages for object "tr_milestonecharac".
DBCC results for 'sys.queue_messages_825106030'.
There are 0 rows in 0 pages for object "sys.queue_messages_825106030".
DBCC results for 'tr_activitycharacmap'.
There are 0 rows in 0 pages for object "tr_activitycharacmap".
DBCC results for 'tr_riskvalue'.
There are 0 rows in 0 pages for object "tr_riskvalue".
DBCC results for 'tr_audit'.
There are 0 rows in 0 pages for object "tr_audit".
DBCC results for 'tr_timesheetcharac'.
There are 0 rows in 0 pages for object "tr_timesheetcharac".
DBCC results for 'tr_roleaccess'.
There are 311 rows in 3 pages for object "tr_roleaccess".
DBCC results for 'tr_demandtypecharacgroup'.
There are 0 rows in 0 pages for object "tr_demandtypecharacgroup".
DBCC results for 'tr_requestcalcfactor'.
There are 66 rows in 1 pages for object "tr_requestcalcfactor".
DBCC results for 'tr_system'.
There are 1 rows in 1 pages for object "tr_system".
DBCC results for 'tr_dependency'.
There are 0 rows in 0 pages for object "tr_dependency".
DBCC results for 'tr_budget'.
There are 0 rows in 0 pages for object "tr_budget".
DBCC results for 'tr_teamaccess'.
There are 0 rows in 0 pages for object "tr_teamaccess".
DBCC results for 'tr_demandtype'.
There are 0 rows in 0 pages for object "tr_demandtype".
DBCC results for 'tr_demandresgroup'.
There are 0 rows in 0 pages for object "tr_demandresgroup".
DBCC results for 'tr_requestvalue'.
There are 0 rows in 0 pages for object "tr_requestvalue".
DBCC results for 'tr_investmentallocation'.
There are 0 rows in 0 pages for object "tr_investmentallocation".
DBCC results for 'tr_step'.
There are 14 rows in 1 pages for object "tr_step".
DBCC results for 'tr_resourcecost'.
There are 0 rows in 0 pages for object "tr_resourcecost".
DBCC results for 'tr_indexerqueue'.
Msg 8951, Level 16, State 1, Line 1
Table error: table 'tr_indexerqueue' (ID 1157579162). Data row does not have a matching index row in the index 'tr_indexerqueue1' (ID 2). Possible missing or invalid keys for the index row matching:
Msg 8955, Level 16, State 1, Line 1
Data row (1:36621:29) identified by (HEAP RID = (1:36621:29)) with index values 'tkey = 21587 and tkey2 = 0 and HEAP RID = (1:36621:29)'.
Msg 8952, Level 16, State 1, Line 1
Table error: table 'tr_indexerqueue' (ID 1157579162). Index row in index 'tr_indexerqueue1' (ID 2) does not match any data row. Possible extra or invalid keys for:
Msg 8956, Level 16, State 1, Line 1
Index row (1:18399:113) with values (tkey = 21586 and tkey2 = 0 and HEAP RID = (1:36621:29)) pointing to the data row identified by (HEAP RID = (1:36621:29)).
There are 2922595 rows in 10751 pages for object "tr_indexerqueue".
CHECKDB found 0 allocation errors and 2 consistency errors in table 'tr_indexerqueue' (object ID 1157579162).
DBCC results for 'tr_demandtypemap'.
There are 0 rows in 0 pages for object "tr_demandtypemap".
DBCC results for 'tr_demandhistory'.
There are 0 rows in 0 pages for object "tr_demandhistory".
DBCC results for 'tr_rate'.
There are 0 rows in 0 pages for object "tr_rate".
DBCC results for 'tr_task'.
There are 25669 rows in 1470 pages for object "tr_task".
DBCC results for 'tr_requestinherit'.
There are 0 rows in 0 pages for object "tr_requestinherit".
DBCC results for 'trx_eventlog'.
There are 132115 rows in 1456 pages for object "trx_eventlog".
DBCC results for 'tr_characgroup'.
There are 4 rows in 1 pages for object "tr_characgroup".
DBCC results for 'trx_v_element_full'.
There are 0 rows in 0 pages for object "trx_v_element_full".
DBCC results for 'tr_riskcharac'.
There are 0 rows in 0 pages for object "tr_riskcharac".
DBCC results for 'trx_v_element'.
There are 82595 rows in 381 pages for object "trx_v_element".
DBCC results for 'trx_wsloc'.
There are 6948 rows in 51 pages for object "trx_wsloc".
DBCC results for 'tr_stepcharac'.
There are 11 rows in 1 pages for object "tr_stepcharac".
DBCC results for 'trx_wslocdata'.
There are 14761 rows in 91 pages for object "trx_wslocdata".
DBCC results for 'tr_genericresource'.
There are 0 rows in 0 pages for object "tr_genericresource".
DBCC results for 'trx_wsextdata'.
There are 50790 rows in 305 pages for object "trx_wsextdata".
DBCC results for 'trx_wsrouting'.
There are 2 rows in 1 pages for object "trx_wsrouting".
DBCC results for 'trx_wsoperation'.
There are 8 rows in 1 pages for object "trx_wsoperation".
DBCC results for 'tr_taskvalue'.
There are 334023 rows in 5420 pages for object "tr_taskvalue".
DBCC results for 'trx_wsitem'.
There are 45 rows in 1 pages for object "trx_wsitem".
DBCC results for 'tr_team'.
There are 0 rows in 0 pages for object "tr_team".
DBCC results for 'tr_prioritytype'.
There are 3 rows in 1 pages for object "tr_prioritytype".
DBCC results for 'trx_usersetting'.
There are 136 rows in 2 pages for object "trx_usersetting".
DBCC results for 'trx_wsext'.
There are 5200 rows in 49 pages for object "trx_wsext".
DBCC results for 'tr_charac'.
There are 17 rows in 1 pages for object "tr_charac".
DBCC results for 'tr_departmentvalue'.
There are 0 rows in 0 pages for object "tr_departmentvalue".
DBCC results for 'tr_statusreport'.
There are 0 rows in 0 pages for object "tr_statusreport".
DBCC results for 'tr_requestcharac'.
There are 1 rows in 1 pages for object "tr_requestcharac".
DBCC results for 'av_activity'.
There are 47973 rows in 3548 pages for object "av_activity".
DBCC results for 'av_actres'.
There are 50178 rows in 963 pages for object "av_actres".
DBCC results for 'tr_bucketcosttype'.
There are 0 rows in 0 pages for object "tr_bucketcosttype".
DBCC results for 'tr_opitem'.
There are 0 rows in 0 pages for object "tr_opitem".
DBCC results for 'av_project'.
There are 499 rows in 24 pages for object "av_project".
DBCC results for 'tr_demandtypevalue'.
There are 0 rows in 0 pages for object "tr_demandtypevalue".
DBCC results for 'tr_fountain'.
There are 0 rows in 1 pages for object "tr_fountain".
DBCC results for 'tr_statustype'.
There are 3 rows in 1 pages for object "tr_statustype".
DBCC results for 'tr_role'.
There are 18 rows in 1 pages for object "tr_role".
DBCC results for 'tr_departmentcharac'.
There are 0 rows in 0 pages for object "tr_departmentcharac".
DBCC results for 'tr_bucketvalue'.
There are 0 rows in 0 pages for object "tr_bucketvalue".
DBCC results for 'tr_deptbudget'.
There are 0 rows in 0 pages for object "tr_deptbudget".
DBCC results for 'tr_resourcetype'.
There are 0 rows in 0 pages for object "tr_resourcetype".
DBCC results for 'tr_taskresource'.
There are 0 rows in 0 pages for object "tr_taskresource".
DBCC results for 'avx_dbinfo'.
There are 2 rows in 1 pages for object "avx_dbinfo".
DBCC results for 'tr_stepvalue'.
There are 0 rows in 0 pages for object "tr_stepvalue".
DBCC results for 'tr_process'.
There are 0 rows in 0 pages for object "tr_process".
DBCC results for 'tr_execoption'.
There are 0 rows in 0 pages for object "tr_execoption".
DBCC results for 'av_respool'.
There are 1518 rows in 11 pages for object "av_respool".
DBCC results for 'av_resource'.
There are 1537 rows in 18 pages for object "av_resource".
DBCC results for 'tr_guestroleaccess'.
There are 7 rows in 1 pages for object "tr_guestroleaccess".
DBCC results for 'tr_risk'.
There are 0 rows in 0 pages for object "tr_risk".
DBCC results for 'tr_restypeassoc'.
There are 0 rows in 0 pages for object "tr_restypeassoc".
DBCC results for 'tr_allocbucketpref'.
There are 0 rows in 0 pages for object "tr_allocbucketpref".
DBCC results for 'tr_deptassociation'.
There are 0 rows in 0 pages for object "tr_deptassociation".
DBCC results for 'tr_releasefunction'.
There are 122 rows in 1 pages for object "tr_releasefunction".
DBCC results for 'tr_stepresbudget'.
There are 0 rows in 0 pages for object "tr_stepresbudget".
DBCC results for 'tr_requirecharac'.
There are 0 rows in 0 pages for object "tr_requirecharac".
DBCC results for 'tr_etl_event'.
There are 0 rows in 0 pages for object "tr_etl_event".
DBCC results for 'tr_requestaccess'.
There are 6 rows in 1 pages for object "tr_requestaccess".
DBCC results for 'tr_usersetting'.
There are 253 rows in 9 pages for object "tr_usersetting".
DBCC results for 'tr_budgetallocation'.
There are 0 rows in 0 pages for object "tr_budgetallocation".
DBCC results for 'tr_resourcevalue'.
There are 10 rows in 1 pages for object "tr_resourcevalue".
DBCC results for 'tr_budgetbenpref'.
There are 0 rows in 0 pages for object "tr_budgetbenpref".
DBCC results for 'tr_execreport'.
There are 0 rows in 0 pages for object "tr_execreport".
DBCC results for 'tr_department'.
There are 1 rows in 1 pages for object "tr_department".
DBCC results for 'tr_filter'.
There are 0 rows in 1 pages for object "tr_filter".
DBCC results for 'tr_demand'.
There are 0 rows in 0 pages for object "tr_demand".
DBCC results for 'tr_resgroupuser'.
There are 0 rows in 0 pages for object "tr_resgroupuser".
DBCC results for 'tr_taskcharac'.
There are 86744 rows in 754 pages for object "tr_taskcharac".
DBCC results for 'tr_approvalaudit'.
There are 0 rows in 0 pages for object "tr_approvalaudit".
DBCC results for 'tr_bucketcharac'.
There are 0 rows in 0 pages for object "tr_bucketcharac".
CHECKDB found 0 allocation errors and 2 consistency errors in database 'A7RETE'.
repair_rebuild is the minimum repair level for the errors found by DBCC CHECKDB (A7RETE).
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
[/code]
When I run the following code (directly or in a procedure):
[code="sql"]
declare @err int
begin try
dbcc checkdb('A7RETE')
end try
begin catch
set @err=@@error
if @err<>0 select @err
end catch
[/code]
I get the following messages with no 'Level 16' errors:
[code="plain"]
DBCC results for 'A7RETE'.
Service Broker Msg 9675, State 1: Message Types analyzed: 14.
Service Broker Msg 9676, State 1: Service Contracts analyzed: 6.
Service Broker Msg 9667, State 1: Services analyzed: 3.
Service Broker Msg 9668, State 1: Service Queues analyzed: 3.
Service Broker Msg 9669, State 1: Conversation Endpoints analyzed: 0.
Service Broker Msg 9674, State 1: Conversation Groups analyzed: 0.
Service Broker Msg 9670, State 1: Remote Service Bindings analyzed: 0.
DBCC results for 'sys.sysrowsetcolumns'.
There are 3638 rows in 24 pages for object "sys.sysrowsetcolumns".
DBCC results for 'sys.sysrowsets'.
There are 431 rows in 6 pages for object "sys.sysrowsets".
DBCC results for 'sysallocunits'.
There are 510 rows in 9 pages for object "sysallocunits".
DBCC results for 'sys.sysfiles1'.
There are 2 rows in 1 pages for object "sys.sysfiles1".
DBCC results for 'sys.syshobtcolumns'.
There are 3638 rows in 27 pages for object "sys.syshobtcolumns".
DBCC results for 'sys.syshobts'.
There are 431 rows in 5 pages for object "sys.syshobts".
DBCC results for 'sys.sysftinds'.
There are 0 rows in 0 pages for object "sys.sysftinds".
DBCC results for 'sys.sysserefs'.
There are 510 rows in 2 pages for object "sys.sysserefs".
DBCC results for 'sys.sysowners'.
There are 14 rows in 1 pages for object "sys.sysowners".
DBCC results for 'sys.sysprivs'.
There are 153 rows in 1 pages for object "sys.sysprivs".
DBCC results for 'sys.sysschobjs'.
There are 1128 rows in 16 pages for object "sys.sysschobjs".
DBCC results for 'sys.syscolpars'.
There are 3181 rows in 38 pages for object "sys.syscolpars".
DBCC results for 'sys.sysnsobjs'.
There are 1 rows in 1 pages for object "sys.sysnsobjs".
DBCC results for 'sys.syscerts'.
There are 0 rows in 0 pages for object "sys.syscerts".
DBCC results for 'sys.sysxprops'.
There are 0 rows in 0 pages for object "sys.sysxprops".
DBCC results for 'sys.sysscalartypes'.
There are 27 rows in 1 pages for object "sys.sysscalartypes".
DBCC results for 'sys.systypedsubobjs'.
There are 0 rows in 0 pages for object "sys.systypedsubobjs".
DBCC results for 'sys.sysidxstats'.
There are 742 rows in 12 pages for object "sys.sysidxstats".
DBCC results for 'sys.sysiscols'.
There are 1071 rows in 7 pages for object "sys.sysiscols".
DBCC results for 'sys.sysbinobjs'.
There are 23 rows in 1 pages for object "sys.sysbinobjs".
DBCC results for 'sys.sysobjvalues'.
There are 1416 rows in 158 pages for object "sys.sysobjvalues".
DBCC results for 'sys.sysclsobjs'.
There are 14 rows in 1 pages for object "sys.sysclsobjs".
DBCC results for 'sys.sysrowsetrefs'.
There are 0 rows in 0 pages for object "sys.sysrowsetrefs".
DBCC results for 'sys.sysremsvcbinds'.
There are 0 rows in 0 pages for object "sys.sysremsvcbinds".
DBCC results for 'sys.sysxmitqueue'.
There are 0 rows in 0 pages for object "sys.sysxmitqueue".
DBCC results for 'sys.sysrts'.
There are 1 rows in 1 pages for object "sys.sysrts".
DBCC results for 'sys.sysconvgroup'.
There are 0 rows in 0 pages for object "sys.sysconvgroup".
DBCC results for 'sys.sysdesend'.
There are 0 rows in 0 pages for object "sys.sysdesend".
DBCC results for 'sys.sysdercv'.
There are 0 rows in 0 pages for object "sys.sysdercv".
DBCC results for 'sys.syssingleobjrefs'.
There are 1033 rows in 6 pages for object "sys.syssingleobjrefs".
DBCC results for 'sys.sysmultiobjrefs'.
There are 1346 rows in 12 pages for object "sys.sysmultiobjrefs".
DBCC results for 'sys.sysdbfiles'.
There are 2 rows in 1 pages for object "sys.sysdbfiles".
DBCC results for 'sys.sysguidrefs'.
There are 0 rows in 0 pages for object "sys.sysguidrefs".
DBCC results for 'sys.sysqnames'.
There are 91 rows in 1 pages for object "sys.sysqnames".
DBCC results for 'sys.sysxmlcomponent'.
There are 93 rows in 1 pages for object "sys.sysxmlcomponent".
DBCC results for 'sys.sysxmlfacet'.
There are 97 rows in 1 pages for object "sys.sysxmlfacet".
DBCC results for 'sys.sysxmlplacement'.
There are 17 rows in 1 pages for object "sys.sysxmlplacement".
DBCC results for 'sys.sysobjkeycrypts'.
There are 0 rows in 0 pages for object "sys.sysobjkeycrypts".
DBCC results for 'sys.sysasymkeys'.
There are 0 rows in 0 pages for object "sys.sysasymkeys".
DBCC results for 'sys.syssqlguides'.
There are 0 rows in 0 pages for object "sys.syssqlguides".
DBCC results for 'sys.sysbinsubobjs'.
There are 0 rows in 0 pages for object "sys.sysbinsubobjs".
DBCC results for 'tr_action'.
There are 1 rows in 1 pages for object "tr_action".
DBCC results for 'tr_processlog'.
There are 0 rows in 0 pages for object "tr_processlog".
DBCC results for 'tr_ppbackup'.
There are 0 rows in 0 pages for object "tr_ppbackup".
DBCC results for 'tr_linkheader'.
There are 141 rows in 4 pages for object "tr_linkheader".
DBCC results for 'tr_mapping'.
There are 14 rows in 1 pages for object "tr_mapping".
DBCC results for 'tr_processparamvalue'.
There are 0 rows in 0 pages for object "tr_processparamvalue".
DBCC results for 'tr_demandtypecount'.
There are 0 rows in 0 pages for object "tr_demandtypecount".
DBCC results for 'tr_resourcerole'.
There are 124 rows in 7 pages for object "tr_resourcerole".
DBCC results for 'tr_teammember'.
There are 0 rows in 0 pages for object "tr_teammember".
DBCC results for 'tr_resourcebudget'.
There are 0 rows in 0 pages for object "tr_resourcebudget".
DBCC results for 'tr_milestonetrend'.
There are 0 rows in 0 pages for object "tr_milestonetrend".
DBCC results for 'tr_approver'.
There are 0 rows in 0 pages for object "tr_approver".
DBCC results for 'tr_activityactionmap'.
There are 0 rows in 0 pages for object "tr_activityactionmap".
DBCC results for 'tr_method'.
There are 3 rows in 1 pages for object "tr_method".
DBCC results for 'tr_userfield'.
There are 43 rows in 2 pages for object "tr_userfield".
DBCC results for 'tr_currencyrate'.
There are 0 rows in 0 pages for object "tr_currencyrate".
DBCC results for 'tr_requirevalue'.
There are 0 rows in 0 pages for object "tr_requirevalue".
DBCC results for 'tr_request'.
There are 2 rows in 1 pages for object "tr_request".
DBCC results for 'tr_demandactivityvalue'.
There are 0 rows in 0 pages for object "tr_demandactivityvalue".
DBCC results for 'tr_benefittype'.
There are 0 rows in 0 pages for object "tr_benefittype".
DBCC results for 'tr_flow'.
There are 0 rows in 0 pages for object "tr_flow".
DBCC results for 'tr_costtype'.
There are 0 rows in 0 pages for object "tr_costtype".
DBCC results for 'tr_usercategory'.
There are 23 rows in 1 pages for object "tr_usercategory".
DBCC results for 'tr_activity'.
There are 0 rows in 0 pages for object "tr_activity".
DBCC results for 'tr_milestonevalue'.
There are 0 rows in 0 pages for object "tr_milestonevalue".
DBCC results for 'trx_file'.
There are 729 rows in 9 pages for object "trx_file".
DBCC results for 'tr_bucketbudget'.
There are 0 rows in 0 pages for object "tr_bucketbudget".
DBCC results for 'tr_subscription'.
There are 0 rows in 0 pages for object "tr_subscription".
DBCC results for 'tr_teamvalue'.
There are 0 rows in 0 pages for object "tr_teamvalue".
DBCC results for 'trx_taonet'.
There are 739043 rows in 27119 pages for object "trx_taonet".
DBCC results for 'tr_requestdemand'.
There are 0 rows in 0 pages for object "tr_requestdemand".
DBCC results for 'tr_link'.
There are 142 rows in 2 pages for object "tr_link".
DBCC results for 'tr_xlreport'.
There are 25 rows in 1 pages for object "tr_xlreport".
DBCC results for 'tr_resourcecharac'.
There are 55 rows in 3 pages for object "tr_resourcecharac".
DBCC results for 'trx_eventlog9'.
There are 2103 rows in 22 pages for object "trx_eventlog9".
DBCC results for 'tr_stepbudget'.
There are 0 rows in 0 pages for object "tr_stepbudget".
DBCC results for 'tr_requirement'.
There are 0 rows in 0 pages for object "tr_requirement".
DBCC results for 'trx_eventlog6'.
There are 577 rows in 6 pages for object "trx_eventlog6".
DBCC results for 'tr_budgetgraph'.
There are 1 rows in 1 pages for object "tr_budgetgraph".
DBCC results for 'tr_fiscalperiod'.
There are 0 rows in 0 pages for object "tr_fiscalperiod".
DBCC results for 'tr_benefit'.
There are 0 rows in 0 pages for object "tr_benefit".
DBCC results for 'tr_timesheetvalue'.
There are 0 rows in 0 pages for object "tr_timesheetvalue".
DBCC results for 'tr_statenode'.
There are 0 rows in 0 pages for object "tr_statenode".
DBCC results for 'tr_assignment'.
There are 0 rows in 0 pages for object "tr_assignment".
DBCC results for 'tr_xlreportsql'.
There are 35 rows in 3 pages for object "tr_xlreportsql".
DBCC results for 'tr_demandtypecodemap'.
There are 0 rows in 0 pages for object "tr_demandtypecodemap".
DBCC results for 'tr_currency'.
There are 1 rows in 1 pages for object "tr_currency".
DBCC results for 'tr_milestone'.
There are 0 rows in 0 pages for object "tr_milestone".
DBCC results for 'tr_milestonemap'.
There are 0 rows in 0 pages for object "tr_milestonemap".
DBCC results for 'tr_stepaccess'.
There are 621 rows in 6 pages for object "tr_stepaccess".
DBCC results for 'tr_budgetcostpref'.
There are 0 rows in 0 pages for object "tr_budgetcostpref".
DBCC results for 'tr_resgroup'.
There are 0 rows in 0 pages for object "tr_resgroup".
DBCC results for 'tr_demandactivitycharac'.
There are 0 rows in 0 pages for object "tr_demandactivitycharac".
DBCC results for 'tr_resource'.
There are 101 rows in 5 pages for object "tr_resource".
DBCC results for 'tr_characvalue'.
There are 1348 rows in 40 pages for object "tr_characvalue".
DBCC results for 'tr_demandactivityinfo'.
There are 0 rows in 0 pages for object "tr_demandactivityinfo".
DBCC results for 'tr_processparam'.
There are 0 rows in 0 pages for object "tr_processparam".
DBCC results for 'tr_dataread'.
There are 107 rows in 1 pages for object "tr_dataread".
DBCC results for 'tr_demandtypecharac'.
There are 0 rows in 0 pages for object "tr_demandtypecharac".
DBCC results for 'tr_timesheet'.
There are 0 rows in 0 pages for object "tr_timesheet".
DBCC results for 'tr_costexplanation'.
There are 0 rows in 0 pages for object "tr_costexplanation".
DBCC results for 'tr_comment'.
There are 0 rows in 1 pages for object "tr_comment".
DBCC results for 'tr_releasestatus'.
There are 11 rows in 1 pages for object "tr_releasestatus".
DBCC results for 'tr_alert'.
There are 724 rows in 28 pages for object "tr_alert".
DBCC results for 'tr_taskrelation'.
There are 0 rows in 1 pages for object "tr_taskrelation".
DBCC results for 'tr_bucket'.
There are 0 rows in 0 pages for object "tr_bucket".
DBCC results for 'tr_deptresource'.
There are 0 rows in 0 pages for object "tr_deptresource".
DBCC results for 'tr_teamcharac'.
There are 0 rows in 0 pages for object "tr_teamcharac".
DBCC results for 'sys.queue_messages_761105802'.
There are 0 rows in 0 pages for object "sys.queue_messages_761105802".
DBCC results for 'tr_budgetrespref'.
There are 0 rows in 0 pages for object "tr_budgetrespref".
DBCC results for 'tr_departmentaccess'.
There are 0 rows in 0 pages for object "tr_departmentaccess".
DBCC results for 'tr_demandflowinfo'.
There are 0 rows in 0 pages for object "tr_demandflowinfo".
DBCC results for 'sys.queue_messages_793105916'.
There are 0 rows in 0 pages for object "sys.queue_messages_793105916".
DBCC results for 'tr_statelink'.
There are 0 rows in 0 pages for object "tr_statelink".
DBCC results for 'tr_milestonecharac'.
There are 0 rows in 0 pages for object "tr_milestonecharac".
DBCC results for 'sys.queue_messages_825106030'.
There are 0 rows in 0 pages for object "sys.queue_messages_825106030".
DBCC results for 'tr_activitycharacmap'.
There are 0 rows in 0 pages for object "tr_activitycharacmap".
DBCC results for 'tr_riskvalue'.
There are 0 rows in 0 pages for object "tr_riskvalue".
DBCC results for 'tr_audit'.
There are 0 rows in 0 pages for object "tr_audit".
DBCC results for 'tr_timesheetcharac'.
There are 0 rows in 0 pages for object "tr_timesheetcharac".
DBCC results for 'tr_roleaccess'.
There are 311 rows in 3 pages for object "tr_roleaccess".
DBCC results for 'tr_demandtypecharacgroup'.
There are 0 rows in 0 pages for object "tr_demandtypecharacgroup".
DBCC results for 'tr_requestcalcfactor'.
There are 66 rows in 1 pages for object "tr_requestcalcfactor".
DBCC results for 'tr_system'.
There are 1 rows in 1 pages for object "tr_system".
DBCC results for 'tr_dependency'.
There are 0 rows in 0 pages for object "tr_dependency".
DBCC results for 'tr_budget'.
There are 0 rows in 0 pages for object "tr_budget".
DBCC results for 'tr_teamaccess'.
There are 0 rows in 0 pages for object "tr_teamaccess".
DBCC results for 'tr_demandtype'.
There are 0 rows in 0 pages for object "tr_demandtype".
DBCC results for 'tr_demandresgroup'.
There are 0 rows in 0 pages for object "tr_demandresgroup".
DBCC results for 'tr_requestvalue'.
There are 0 rows in 0 pages for object "tr_requestvalue".
DBCC results for 'tr_investmentallocation'.
There are 0 rows in 0 pages for object "tr_investmentallocation".
DBCC results for 'tr_step'.
There are 14 rows in 1 pages for object "tr_step".
DBCC results for 'tr_resourcecost'.
There are 0 rows in 0 pages for object "tr_resourcecost".
DBCC results for 'tr_indexerqueue'.
There are 2922595 rows in 10751 pages for object "tr_indexerqueue".
CHECKDB found 0 allocation errors and 2 consistency errors in table 'tr_indexerqueue' (object ID 1157579162).
DBCC results for 'tr_demandtypemap'.
There are 0 rows in 0 pages for object "tr_demandtypemap".
DBCC results for 'tr_demandhistory'.
There are 0 rows in 0 pages for object "tr_demandhistory".
DBCC results for 'tr_rate'.
There are 0 rows in 0 pages for object "tr_rate".
DBCC results for 'tr_task'.
There are 25669 rows in 1470 pages for object "tr_task".
DBCC results for 'tr_requestinherit'.
There are 0 rows in 0 pages for object "tr_requestinherit".
DBCC results for 'trx_eventlog'.
There are 132115 rows in 1456 pages for object "trx_eventlog".
DBCC results for 'tr_characgroup'.
There are 4 rows in 1 pages for object "tr_characgroup".
DBCC results for 'trx_v_element_full'.
There are 0 rows in 0 pages for object "trx_v_element_full".
DBCC results for 'tr_riskcharac'.
There are 0 rows in 0 pages for object "tr_riskcharac".
DBCC results for 'trx_v_element'.
There are 82595 rows in 381 pages for object "trx_v_element".
DBCC results for 'trx_wsloc'.
There are 6948 rows in 51 pages for object "trx_wsloc".
DBCC results for 'tr_stepcharac'.
There are 11 rows in 1 pages for object "tr_stepcharac".
DBCC results for 'trx_wslocdata'.
There are 14761 rows in 91 pages for object "trx_wslocdata".
DBCC results for 'tr_genericresource'.
There are 0 rows in 0 pages for object "tr_genericresource".
DBCC results for 'trx_wsextdata'.
There are 50790 rows in 305 pages for object "trx_wsextdata".
DBCC results for 'trx_wsrouting'.
There are 2 rows in 1 pages for object "trx_wsrouting".
DBCC results for 'trx_wsoperation'.
There are 8 rows in 1 pages for object "trx_wsoperation".
DBCC results for 'tr_taskvalue'.
There are 334023 rows in 5420 pages for object "tr_taskvalue".
DBCC results for 'trx_wsitem'.
There are 45 rows in 1 pages for object "trx_wsitem".
DBCC results for 'tr_team'.
There are 0 rows in 0 pages for object "tr_team".
DBCC results for 'tr_prioritytype'.
There are 3 rows in 1 pages for object "tr_prioritytype".
DBCC results for 'trx_usersetting'.
There are 136 rows in 2 pages for object "trx_usersetting".
DBCC results for 'trx_wsext'.
There are 5200 rows in 49 pages for object "trx_wsext".
DBCC results for 'tr_charac'.
There are 17 rows in 1 pages for object "tr_charac".
DBCC results for 'tr_departmentvalue'.
There are 0 rows in 0 pages for object "tr_departmentvalue".
DBCC results for 'tr_statusreport'.
There are 0 rows in 0 pages for object "tr_statusreport".
DBCC results for 'tr_requestcharac'.
There are 1 rows in 1 pages for object "tr_requestcharac".
DBCC results for 'av_activity'.
There are 47973 rows in 3548 pages for object "av_activity".
DBCC results for 'av_actres'.
There are 50178 rows in 963 pages for object "av_actres".
DBCC results for 'tr_bucketcosttype'.
There are 0 rows in 0 pages for object "tr_bucketcosttype".
DBCC results for 'tr_opitem'.
There are 0 rows in 0 pages for object "tr_opitem".
DBCC results for 'av_project'.
There are 499 rows in 24 pages for object "av_project".
DBCC results for 'tr_demandtypevalue'.
There are 0 rows in 0 pages for object "tr_demandtypevalue".
DBCC results for 'tr_fountain'.
There are 0 rows in 1 pages for object "tr_fountain".
DBCC results for 'tr_statustype'.
There are 3 rows in 1 pages for object "tr_statustype".
DBCC results for 'tr_role'.
There are 18 rows in 1 pages for object "tr_role".
DBCC results for 'tr_departmentcharac'.
There are 0 rows in 0 pages for object "tr_departmentcharac".
DBCC results for 'tr_bucketvalue'.
There are 0 rows in 0 pages for object "tr_bucketvalue".
DBCC results for 'tr_deptbudget'.
There are 0 rows in 0 pages for object "tr_deptbudget".
DBCC results for 'tr_resourcetype'.
There are 0 rows in 0 pages for object "tr_resourcetype".
DBCC results for 'tr_taskresource'.
There are 0 rows in 0 pages for object "tr_taskresource".
DBCC results for 'avx_dbinfo'.
There are 2 rows in 1 pages for object "avx_dbinfo".
DBCC results for 'tr_stepvalue'.
There are 0 rows in 0 pages for object "tr_stepvalue".
DBCC results for 'tr_process'.
There are 0 rows in 0 pages for object "tr_process".
DBCC results for 'tr_execoption'.
There are 0 rows in 0 pages for object "tr_execoption".
DBCC results for 'av_respool'.
There are 1518 rows in 11 pages for object "av_respool".
DBCC results for 'av_resource'.
There are 1537 rows in 18 pages for object "av_resource".
DBCC results for 'tr_guestroleaccess'.
There are 7 rows in 1 pages for object "tr_guestroleaccess".
DBCC results for 'tr_risk'.
There are 0 rows in 0 pages for object "tr_risk".
DBCC results for 'tr_restypeassoc'.
There are 0 rows in 0 pages for object "tr_restypeassoc".
DBCC results for 'tr_allocbucketpref'.
There are 0 rows in 0 pages for object "tr_allocbucketpref".
DBCC results for 'tr_deptassociation'.
There are 0 rows in 0 pages for object "tr_deptassociation".
DBCC results for 'tr_releasefunction'.
There are 122 rows in 1 pages for object "tr_releasefunction".
DBCC results for 'tr_stepresbudget'.
There are 0 rows in 0 pages for object "tr_stepresbudget".
DBCC results for 'tr_requirecharac'.
There are 0 rows in 0 pages for object "tr_requirecharac".
DBCC results for 'tr_etl_event'.
There are 0 rows in 0 pages for object "tr_etl_event".
DBCC results for 'tr_requestaccess'.
There are 6 rows in 1 pages for object "tr_requestaccess".
DBCC results for 'tr_usersetting'.
There are 253 rows in 9 pages for object "tr_usersetting".
DBCC results for 'tr_budgetallocation'.
There are 0 rows in 0 pages for object "tr_budgetallocation".
DBCC results for 'tr_resourcevalue'.
There are 10 rows in 1 pages for object "tr_resourcevalue".
DBCC results for 'tr_budgetbenpref'.
There are 0 rows in 0 pages for object "tr_budgetbenpref".
DBCC results for 'tr_execreport'.
There are 0 rows in 0 pages for object "tr_execreport".
DBCC results for 'tr_department'.
There are 1 rows in 1 pages for object "tr_department".
DBCC results for 'tr_filter'.
There are 0 rows in 1 pages for object "tr_filter".
DBCC results for 'tr_demand'.
There are 0 rows in 0 pages for object "tr_demand".
DBCC results for 'tr_resgroupuser'.
There are 0 rows in 0 pages for object "tr_resgroupuser".
DBCC results for 'tr_taskcharac'.
There are 86744 rows in 754 pages for object "tr_taskcharac".
DBCC results for 'tr_approvalaudit'.
There are 0 rows in 0 pages for object "tr_approvalaudit".
DBCC results for 'tr_bucketcharac'.
There are 0 rows in 0 pages for object "tr_bucketcharac".
CHECKDB found 0 allocation errors and 2 consistency errors in database 'A7RETE'.
repair_rebuild is the minimum repair level for the errors found by DBCC CHECKDB (A7RETE).
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
[/code]
So how do I trap this error in a script or procedure?Fri, 28 Sep 2012 11:45:27 GMTMichael MeierruthRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1366025.aspxToo many ambiguities in your post and question. For instance, the 'end' of what? Page? Database? Backup file?
Can you give the exact set of steps and T-SQL, from creating the database to running the commands that do/do not fail? Only then can I explain the behavior you're seeing.
ThanksFri, 28 Sep 2012 11:01:58 GMTPaul RandalRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1365907.aspxHave been playing around with intentionally corrupting database files and database backup files to see how the various commands that have been discussed so far will behave. This is on a 1GB database.
Changing the first byte or a byte some where in the middle causes DBCC CHECKDB and BACKUP WITH CHECKSUM to fail.
Changing the last byte or a byte 'near the end' generates no errors.
This is true also of RESTORE VERIFYONLY WITH CHECKSUM. For this to generate an error I had to change a byte as far as 20% from the end. Interesting.
Now I'm trying to catch errors using this simple code.
declare @err int
begin try
--dbcc checkdb('mydatabase')
--restore verifyonly from disk='mydatabase.bak' with checksum
end try
begin catch
set @err=@@error
if @err<>0 select @err
end catch
RESTORE VERIFYONLY correctly shows error 3013.
DBCC CHECKDB does not generate any red error messages. But if you run it all by itself the output shows red error messages. Why is this?
Fri, 28 Sep 2012 08:38:00 GMTMichael MeierruthRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1365543.aspxA scratch servers the way to go, thanks :-)Thu, 27 Sep 2012 15:43:44 GMTPaul BrewerRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1365541.aspxOr to automate restoring master on a scratch server and running DBCC CHECKDB on it.Thu, 27 Sep 2012 15:41:50 GMTPaul RandalRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1365540.aspxSo the only way to verify the integrity of your master database backups on a busy production server is to use restore with verify only!Thu, 27 Sep 2012 15:34:55 GMTPaul BrewerRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1365534.aspxIt won't work because there are some structures that only exist in the master database and may cause corruption errors to be reported if master is restored as a user database and then consistency checked.Thu, 27 Sep 2012 15:24:58 GMTPaul RandalRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1365512.aspxI had to recovery a master database in production recently and used this blog as guidance, it worked an absolute treat.
http://blogs.technet.com/b/fort_sql/archive/2011/02/01/the-easiest-way-to-rebuild-the-sql-server-master-database.aspx
It's a possible approach to verifying production master, model and msdb backups maybe? Restore the backups to another, test instance to new user databases called master_live, model_live, msdb_live using WITH MOVE.
RegardsThu, 27 Sep 2012 14:46:20 GMTPaul BrewerRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1365505.aspxThanks Paul!Thu, 27 Sep 2012 14:25:14 GMTPaul RandalRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1365501.aspxThere are fantastic scripts and articles/blogs on your sqlskills website Paul. Anyone with an enquiring mind can use them as a starter for ten and extrapolate out entire features sets and learn a lot about SQL. Add to that the MCM videos and its incredible what you put out for free. Thanks, sincerely.Thu, 27 Sep 2012 14:16:58 GMTPaul BrewerRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1365492.aspx[quote][b]Paul Brewer (9/27/2012)[/b][hr]The Ola Hallengren maintenance scrips create SQL Agent jobs that use sqlcmd to instantiate the backup and maintenance procedures he has written.[/quote]
Superb! Thanks!Thu, 27 Sep 2012 13:58:04 GMTMichael MeierruthRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1365477.aspx[quote][b]Rahul The Dba (9/27/2012)[/b][hr]Hi
this one is really a needed article.
But apart from this I want to know one thing, that is I have a store procedure made by myself for (xyz thing) "sorry can't disclose it", so how can i get that patented to my name? I am from INDIA.
Hope to see some helpful steps from your end.
Thanks.[/quote]
You can only patent something original, that someone with the similar experience and knowledge would NOT be able to come up with easily. Therefore, it's extremely unlikely that you could patent a stored-proc to perform backups/restores/consistency checks. Also, the amount of 'prior art' in the area would likely preclude any possibility of you being able to claim originality. And then you'd have to pay a patent lawyer to convert the idea into patent language, and file with the relevant patent offices. It's an expensive, tortuous process that I'm glad Microsoft funded for my patents.
Give your proc away for free - you won't make money from it.Thu, 27 Sep 2012 13:24:12 GMTPaul RandalRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1365466.aspxThe Ola Hallengren maintenance scrips create SQL Agent jobs that use sqlcmd to instantiate the backup and maintenance procedures he has written. Rahul, if Ola isn't overly concerned about patents and the like, I don't think you need to be either mate. Nothing you've developed will be in the same league as his freely available procedures.Thu, 27 Sep 2012 13:07:27 GMTPaul BrewerRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1365457.aspxOh yes, getting back to my original question, is there anyone using sqlcmd.exe to backup databases? Or has this become 'obsolete'?Thu, 27 Sep 2012 12:50:14 GMTMichael MeierruthRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1365440.aspx[quote][b]Rahul The Dba (9/27/2012)[/b][hr]Hi
this one is really a needed article.
But apart from this I want to know one thing, that is I have a store procedure made by myself for (xyz thing) "sorry can't disclose it", so how can i get that patented to my name? I am from INDIA.
Hope to see some helpful steps from your end.
Thanks.[/quote]
Well, I can only assume your idea deals with backing up databases. If not, then please start a new topic.
I don't know much about patents except that the whole issue of patents has pretty much run out of control - everywhere. Not to mention Apple vs Samsung. You have now motivated me to dig into that story and exactly how the Apple patents were violated by Samsung.
But your question has raised many questions in my mind. Thus what you want to patent is not a stored procedure but an idea. This means that once your idea becomes public, anyone with some sql skills (say a million or so people) can propabily write the stored procedure that does exactly what your idea proposes. In your opinion, would this violate the patent? But what if I write a stored procedure that does the same thing, but is 10 times faster than yours. Or what if I write a process, not using an sql stored procedure, that does the same thing 50 times faster. Or what if I write something that does the same thing but is 3 times better than your idea?
In any case, in my opinion, patenting stored procedures is no way to become rich quickly. And besides, this is a forum where you share things.Thu, 27 Sep 2012 12:14:54 GMTMichael MeierruthRE: The Importance of Validating Backupshttps://www.sqlservercentral.com/Forums/FindPost1365369.aspxHi
this one is really a needed article.
But apart from this I want to know one thing, that is I have a store procedure made by myself for (xyz thing) "sorry can't disclose it", so how can i get that patented to my name? I am from INDIA.
Hope to see some helpful steps from your end.
Thanks.Thu, 27 Sep 2012 10:10:21 GMTRahul The Dba