рдПрдордПрд╕ SQL тАЛтАЛрд╕рд░реНрд╡рд░ 2005 рдореЗрдВ рдХреНрд╖рддрд┐рдЧреНрд░рд╕реНрдд рдкреГрд╖реНрда рд╕рдВрдЦреНрдпрд╛ рджреНрд╡рд╛рд░рд╛ рдХреНрд╖рддрд┐рдЧреНрд░рд╕реНрдд рд╡рд╕реНрддреБ рдХреА рдЦреЛрдЬ рдХрд░реЗрдВ

рдЗрди рджрд┐рдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдПрдордПрд╕ SQL тАЛтАЛрд╕рд░реНрд╡рд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рд╕рдВрджреЗрд╣ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЙрдЧ рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдерд╛:
рдПрдордПрд╕рдЬреА 7105, рд▓реЗрд╡рд▓ 22, рд╕реНрдЯреЗрдЯ 9, рд▓рд╛рдЗрди 14
рдбреЗрдЯрд╛рдмреЗрд╕ ID 6, рдкреГрд╖реНрда (1: 386499), LOB рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдиреЛрдб рдХреЗ рд▓рд┐рдП рд╕реНрд▓реЙрдЯ 0 рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рд▓реЗрдирджреЗрди рдХреЗ рдХрд╛рд░рдг рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рдбреЗрдЯрд╛ рдкреГрд╖реНрда рдкрд░ рдЕрдирдХреНрдорд┐рдЯреЗрдб рдбреЗрдЯрд╛ рдкрдврд╝ рд╕рдХрддрд╛ рд╣реИред DBCC CHECKTABLE рдЪрд▓рд╛рдПрдВред

рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЖрдкрд╛рддрдХрд╛рд▓ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ DBCC CHECKDB рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рдирд┐рд╖реНрдкрд╛рджрди рддреБрд░рдВрдд рдмрд╛рдзрд┐рдд рд╣реЛ рдЧрдпрд╛:
рдПрдордПрд╕рдЬреА 8921, рд╕реНрддрд░ 16, рд░рд╛рдЬреНрдп 1, рдкрдВрдХреНрддрд┐ 13
рдЬрд╛рдБрдЪ рд╕рдорд╛рдкреНрддред рддрдереНрдпреЛрдВ рдХреЛ рдПрдХрддреНрд░ рдХрд░рддреЗ рд╕рдордп рдПрдХ рд╡рд┐рдлрд▓рддрд╛ рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ рдерд╛ред рд╕рдВрднрд╡рддрдГ рдЕрдВрддрд░рд┐рдХреНрд╖ рдпрд╛ рдПрдХ рд╕рд┐рд╕реНрдЯрдо рдЯреЗрдмрд▓ рд╕реЗ рдмрд╛рд╣рд░ рдЯреЗрдореНрдкрд░реНрдб рдЕрд╕рдВрдЧрдд рд╣реИред рдкрд┐рдЫрд▓реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред
Msg 7105, рд▓реЗрд╡рд▓ 22, рд╕реНрдЯреЗрдЯ 9, рд▓рд╛рдЗрди 13
рдбреЗрдЯрд╛рдмреЗрд╕ ID 6, рдкреГрд╖реНрда (1: 386499), LOB рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдиреЛрдб рдХреЗ рд▓рд┐рдП рд╕реНрд▓реЙрдЯ 0 рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рд▓реЗрдирджреЗрди рдХреЗ рдХрд╛рд░рдг рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рдбреЗрдЯрд╛ рдкреГрд╖реНрда рдкрд░ рдЕрдирдХреНрдорд┐рдЯреЗрдб рдбреЗрдЯрд╛ рдкрдврд╝ рд╕рдХрддрд╛ рд╣реИред DBCC CHECKTABLE рдЪрд▓рд╛рдПрдВред

DBCC CHECKALLOC рдХрдорд╛рдВрдб рдХреЛ рдПрдХ рд╕рдорд╛рди рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдмрд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╕рдм рдХреБрдЫ рдЗрд╕ рддрдереНрдп рд╕реЗ рдЬрдЯрд┐рд▓ рдерд╛ рдХрд┐ рдПрд╕рдХреНрдпреВрдПрд▓ рд╕рд░реНрд╡рд░ рд╕рдВрд╕реНрдХрд░рдг 9.0.1399 рдерд╛, рдЕрд░реНрдерд╛рддред рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрдкрдбреЗрдЯ рдХреЗ рдЖрд░рдЯреАрдПрдоред

TABLOCK рд╕рдВрдХреЗрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рд▓реЗрди-рджреЗрди рдЕрд▓рдЧрд╛рд╡ рдХреЗ рд╕реНрддрд░ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрдврд╝рд╛рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рд╕реЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реБрдЖ (рдЕрд╕реНрдерд╛рдпреА рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдкрд░реНрдпрд╛рдкреНрдд рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдерд╛ рдФрд░ DBCC CHECKALLOC рдХреЗ рд╕рд╛рде ESTIMATEONLY рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд░рд╣рд╛)ред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрд╕рдкреА рдХреЛ рдПрдХ рдХреНрд╖рддрд┐рдЧреНрд░рд╕реНрдд рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░ рдкрд░ рд░реЛрд▓ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдФрд░ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдерд╛ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд╕реНрддреБ рдереАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдРрд╕рд╛ рд▓рдЧрд╛ рдХрд┐ DBCC CHECKDB рд╕рдВрджреЗрд╢ рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ msdb.dbo.suspect_pages рдореЗрдВ рдПрдХ рд░рд┐рдХреЙрд░реНрдб рдерд╛, рд▓реЗрдХрд┐рди рдкреГрд╖реНрда рд╕рдВрдЦреНрдпрд╛ рдЙрд╕ рдПрдХ рд╕реЗ рднрд┐рдиреНрди рдереА рдЬрд┐рд╕реЗ DBCC CHECKDB рдиреЗ рдореБрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рдерд╛ред

DBCC CHECKDB рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдФрд░ DBCC CHECKTABLE рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рддрд╛рд▓рд┐рдХрд╛ рдЬрд╛рдирдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдФрд░ рдПрдХ рд▓рдВрдмреА рдЦреЛрдЬ рдХреЗ рдмрд╛рдж, рдПрдХ рдирд┐рд░реНрджреЗрд╢ рдорд┐рд▓рд╛ ред
рдЯрд┐рдкреНрдкрдгреА
рдореИрдВ рдорд╛рдлреА рдорд╛рдВрдЧрддрд╛ рд╣реВрдВ рдХрд┐ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢реЛрдВ рдореЗрдВ рдФрд░ рдХреЛрдб рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ рд╕рдВрдЦреНрдпрд╛рдПрдВ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреА рд╣реИрдВред рдореИрдВрдиреЗ рд▓реЙрдЧ рд╕реЗ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд▓рд┐рдпрд╛, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдореИрдВ рдПрдХ рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХреЛрдб рдХреЛ рджреВрд╕рд░реЗ, рд▓рд╛рдЗрд╡ рдмреЗрд╕ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реВрдВред

рд╣рдордиреЗ DBCC CHECKDB рдФрд░ рд╕рдВрджрд┐рдЧреНрдз_рдкреГрд╖реНрдареЛрдВ рд╕реЗ - рджреЛрдиреЛрдВ рдкреГрд╖реНрдареЛрдВ рдХреЗ object_id рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рд╕рдорд╕реНрдпрд╛ рдкреГрд╖реНрда рдореЗрдВ рд╕рдВрджреЗрд╣рд╛рд╕реНрдкрдж_рдкреГрд╖реНрдареЛрдВ рд╕реЗ рдереА

рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реА рдЪреАрдЬрд╝ (рдХреНрд╖рддрд┐рдЧреНрд░рд╕реНрдд рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ) DBCC PAGE (database_id, file_id, page_id, printopt) рд╣реИ:

DBCC TRACEON (3604); DBCC PAGE(5, 1, 3242342, 0) DBCC TRACEOFF (3604); 

рдпрд╛:

 DBCC PAGE(5, 1, 3242342, 0) WITH TABLERESULTS. 

рдпрджрд┐ рдЖрдк рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рд╣реИрдВ (рдпрд╛ рдЖрдк рдПрдХ рдЬреАрд╡рд┐рдд рдЖрдзрд╛рд░ рдкрд░ рдЦреЗрд▓ рд░рд╣реЗ рд╣реИрдВ), рддреЛ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЖрдкрдХреЛ рдореЗрдЯрд╛рдбреЗрдЯрд╛: рдСрдмреНрдЬреЗрдХреНрдЯрдЖрдИрдб рдлрд╝реАрд▓реНрдб рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╡рд╛рдВрдЫрд┐рдд рдСрдмреНрдЬреЗрдХреНрдЯ_рдб рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:



рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк, рд╣рдорд╛рд░реА рддрд░рд╣, рдЕрд╢реБрдн рд╣реИрдВ, рддреЛ рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЗрдЦреЗрдВрдЧреЗ:
рдореЗрдЯрд╛рдбреЗрдЯрд╛: = рдСрдлрд╝рд▓рд╛рдЗрди рдбреАрдмреА рдореЗрдВ рдЕрдиреБрдкрд▓рдмреНрдз
рдпрджрд┐ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ, рддреЛ рд╕рдм рдХреБрдЫ рдЦреЛ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдореЗрдВ m_objId рдлрд╝реАрд▓реНрдб (AllocUnitId.idObj) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдЧрд░ m_objId = 255, рдкрд░реЗрд╢рд╛рдиреА рд╣реИ, рддреЛ рд▓реЗрдЦ рдХреЛ рдмрдВрдж рдХрд░реЗрдВ рдФрд░ рдХреБрдЫ рдФрд░ рджреЗрдЦреЗрдВ (рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдЬреЛ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдбреЗрдЯрд╛ рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ, DBCC CHECKDB рдХреЛ "рд░рд┐рдХрд╡рд░реА" рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдиреЗрддреНрд░рд╣реАрди рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ)ред
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ m_objId = 9931 рд╣реИ, рдЕрд░реНрдерд╛рдд рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдм рдЖрдкрдХреЛ рдЖрд╡рдВрдЯрди рдпреВрдирд┐рдЯ рдЖрдИрдбреА рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдЖрд╡рдВрдЯрди рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдпрд╣рд╛рдВ рдорд┐рд▓ рд╕рдХрддреА рд╣реИ ):
рдЖрд╡рдВрдЯрди рдЗрдХрд╛рдИ рдЖрдИрдбреА = m_objid * 65536 + (2 ^ 56)
рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ:
рдЖрд╡рдВрдЯрди рдЗрдХрд╛рдИ рдЖрдИрдбреА = 9931 * 65536 + (2 ^ 56) = 72057594688765952

рдЗрд╕рд▓рд┐рдП, рдЖрд╡рдВрдЯрди рдЗрдХрд╛рдИ рдЖрдИрдбреА рдХреЛ рдЬрд╛рдирдХрд░, рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рд┐рд╕реНрдЯрдо рд╡реНрдпреВ sys.allocation_units рдореЗрдВ рдХреНрдпрд╛ рд╣реИ :

 SELECT * FROM sys.allocation_units WHERE allocation_unit_id = 72057594688765952 



рдФрд░ рд╡рд╣рд╛рдБ, рдорд╛рдорд▓реЗ рдореЗрдВ рдЯрд╛рдЗрдк = 1 рдпрд╛ 3 (IN_ROW_DATA, ROW_OVERFLOW_DATA), рдХреЙрд▓рдо рдХрдВрдЯреЗрдирд░_id = sys.partitions.hobt_id ("рд╣реАрдк-рдСрд░-рдмреА-рдЯреНрд░реА рдЖрдИрдбреА"), рдЕрд░реНрдерд╛рдд рдЖрдк рдЕрдиреБрд░реЛрдз рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ:

 SELECT * FROM sys.partitions WHERE hobt_id = 72057594661437440 



рдФрд░ рдпрд╣рд╛рдБ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд╣реА object_id рдФрд░ index_id рд╣реИред рдЕрдм рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ sys.objects рдФрд░ sys.indexes рдореЗрдВ рдХреНрдпрд╛ рд╣реИ, рдФрд░ рдмрд╕ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:

 SELECT OBJECT_NAME(object_id) 

рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рджреЛрдиреЛрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдФрд░ рдпрд╣рд╛рдБ, рдЧреИрд░-рдХреНрд▓рд╕реНрдЯрд░ рд╕реВрдЪрдХрд╛рдВрдХ рдХреА рдкреБрд╖реНрдЯрд┐ рд╣реБрдИ, рдЬрд┐рд╕рдХреЗ рдкреБрдирд░реНрдЧрдарди рдХреЗ рдмрд╛рдж рд╕рдм рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рд╣реЛ рдЧрдпрд╛ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдФрд░ рдХрд╣рд╛рдиреА рд╣реИ)ред

рд╕рдВрджрд░реНрдн :
DBCC рдкреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ
рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдФрд░ рдлрд┐рдХреНрд╕рд┐рдВрдЧ SQL рд╕рд░реНрд╡рд░ рдкреГрд╖реНрда рд╕реНрддрд░ рднреНрд░рд╖реНрдЯрд╛рдЪрд╛рд░
рдЖрд╡рдВрдЯрди рдЗрдХрд╛рдЗрдпрд╛рдБ рдХреНрдпрд╛ рд╣реИрдВ?
рдкреЗрдЬ рдЖрдИрдбреА рд╕реЗ рдЯреЗрдмрд▓ рдХрд╛ рдирд╛рдо рдвреВрдВрдврдирд╛
sys.allocation_units

Source: https://habr.com/ru/post/hi430824/


All Articles