May 13, 2011 at 8:03 am
I am running trace on a database. Once trace is complete I see bunch of time outs. So I ran dbcc page statement for 1:1209901 in test database:
DBCC PAGE('test',1,1209901,3) WITH TABLERESULTS
GO
and I am seeing lot of lines where object column(second column) says Memory Dump. here is a sample of what I see:
Slot 0 Offset 0x60 Length 74Memory Dump @0x0000000037DBC0600000000000000000: 30003f00 07000000 8060fe06 00000000 02010000 †0.?......`..........
Slot 0 Offset 0x60 Length 74Memory Dump @0x0000000037DBC0600000000000000014: 50413030 32313534 31bd7f5a 16605e51 4992c992 †PA0021541..Z.`^QI...
Slot 0 Offset 0x60 Length 74Memory Dump @0x0000000037DBC0600000000000000028: 83772319 f8010000 00000000 00000000 e065513b †.w#..............eQ;
Slot 0 Offset 0x60 Length 74Memory Dump @0x0000000037DBC060000000000000003C: 00000107 00a20100 4a003b08 1400†††††††††††††††........J.;...
Slot 0 Offset 0x60 Length 74Slot 0 Column 0 Offset 0x46 Length 4UNIQUIFIER1312827
How do I go about tackling this issue?
May 14, 2011 at 11:26 am
Have you checked out the logs?
For better, quicker answers on T-SQL questions, click on the following...
http://www.sqlservercentral.com/articles/Best+Practices/61537/
For better answers on performance questions, click on the following...
http://www.sqlservercentral.com/articles/SQLServerCentral/66909/
May 14, 2011 at 2:23 pm
sqlstar2011 (5/13/2011)
How do I go about tackling this issue?
If you've run the trace as you say you have, then you have a list of the queries that are causing the timeouts. Now, you can mess around with indexes and server optimizations until you're blue in the face and, unless you really get lucky (for example: finding a very low cardinality index and removing it so you don't have to tolerate its page/extent splits), won't have any success in preventing the timeouts.
99.9% of the time, there is one and only one way to fix such problems... rewrite the code so that it's truly set based.
--Jeff Moden
Change is inevitable... Change for the better is not.
May 14, 2011 at 2:34 pm
I'm kinda curious as to why you ran DBCC Page. What that returns is the contents of the data page. Other than the object id and index id (which are in the header) there's little else of value in there.
Now, you have the trace so you have the statements that are timing out, so you need to optimise them. The contents of a particular data page are of little to no use in that. Check that the queries can use indexes, check that you have indexes optimal for the queries
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability
May 16, 2011 at 5:22 am
The memory dump is simply the internal binary representation of the row - the raw data as it is stored on the page. In the DBCC PAGE output in the format you specified, it is followed by the column values as cracked from the dump.
Eddie Wuerch
MCM: SQL
Viewing 5 posts - 1 through 4 (of 4 total)
You must be logged in to reply to this topic. Login to reply