เจกเฉˆเจกเจฒเจพเจ• เจ…เจคเฉ‡ เจฒเจพเจ• เจตเจฟเฉฑเจš เจกเจฟเจธเฉ€เจซเจฐ เจ•เฉเฉฐเจœเฉ€ เจ…เจคเฉ‡ เจชเฉฐเจจเจพ เจ‰เจกเฉ€เจ• เจธเจฐเฉ‹เจค

เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจฌเจฒเฉŒเจ• เจ•เฉ€เจคเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฐเจฟเจชเฉ‹เจฐเจŸ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹ เจœเจพเจ‚ SQL เจธเจฐเจตเจฐ เจฆเฉเจ†เจฐเจพ เจธเจฎเฉ‡เจ‚-เจธเจฎเฉ‡เจ‚ 'เจคเฉ‡ เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเฉ‡ เจกเฉˆเฉฑเจกเจฒเจพเจ• เจ—เฉเจฐเจพเจซเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจšเฉ€เจœเจผเจพเจ‚ เจฆเจพ เจธเจพเจนเจฎเจฃเจพ เจ•เจฐเจจเจพ เจชเจตเฉ‡เจ—เจพ:

waitresource="PAGE: 6:3:70133"

waitresource=โ€œKEY: 6:72057594041991168 (ce52f92a058c)โ€œ

เจ•เจˆ เจตเจพเจฐ, เจ‰เจธ เจตเจฟเจธเจผเจพเจฒ XML เจตเจฟเฉฑเจš เจนเฉ‹เจฐ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจนเฉ‹เจตเฉ‡เจ—เฉ€ เจœเจฟเจธเจฆเจพ เจคเฉเจธเฉ€เจ‚ เจ…เจงเจฟเจเจจ เจ•เจฐเจฆเฉ‡ เจนเฉ‹ (เจกเฉˆเฉฑเจกเจฒเจพเจ• เจ—เฉเจฐเจพเจซเจพเจ‚ เจตเจฟเฉฑเจš เจธเจฐเฉ‹เจคเจพเจ‚ เจฆเฉ€ เจ‡เฉฑเจ• เจธเฉ‚เจšเฉ€ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจตเจธเจคเฉ‚ เจ…เจคเฉ‡ เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจฆเฉ‡ เจจเจพเจฎ เจฒเฉฑเจญเจฃ เจตเจฟเฉฑเจš เจฎเจฆเจฆ เจ•เจฐเจฆเฉ€ เจนเฉˆ), เจชเจฐ เจนเจฎเฉ‡เจธเจผเจพ เจจเจนเฉ€เจ‚เฅค

เจ‡เจน เจŸเฉˆเจ•เจธเจŸ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฎเจเจฃ เจตเจฟเฉฑเจš เจคเฉเจนเจพเจกเฉ€ เจฎเจฆเจฆ เจ•เจฐเฉ‡เจ—เจพเฅค

เจธเจพเจฐเฉ€ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจœเฉ‹ เจ‡เฉฑเจฅเฉ‡ เจนเฉˆ เจ‡เฉฐเจŸเจฐเจจเฉˆเฉฑเจŸ 'เจคเฉ‡ เจตเฉฑเจ–-เจตเฉฑเจ– เจฅเจพเจตเจพเจ‚ 'เจคเฉ‡ เจนเฉˆ, เจ‡เจน เจฌเจธ เจฌเจนเฉเจค เจนเฉ€ เจตเฉฐเจกเฉ€ เจ—เจˆ เจนเฉˆ! เจฎเฉˆเจ‚ เจ‡เจธ เจธเจญ เจจเฉ‚เฉฐ เจ‡เจ•เฉฑเจ เฉ‡ เจฐเฉฑเจ–เจฃเจพ เจšเจพเจนเฉเฉฐเจฆเจพ เจนเจพเจ‚, DBCC PAGE เจคเฉ‹เจ‚ hobt_id เจคเฉฑเจ• เจ—เฉˆเจฐ-เจฆเจธเจคเจพเจตเฉ‡เจœเจผเฉ€ %%physloc%% เจ…เจคเฉ‡ %%lockres%% เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจคเฉฑเจ•เฅค

เจชเจนเจฟเจฒเจพเจ‚, เจ†เจ“ เจชเฉ‡เจœ เจฒเจพเจ• 'เจคเฉ‡ เจ‰เจกเฉ€เจ• เจ•เจฐเจจ เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจ•เจฐเฉ€เจ, เจ…เจคเฉ‡ เจซเจฟเจฐ KEY เจฒเจพเจ• 'เจคเฉ‡ เจšเฉฑเจฒเฉ€เจเฅค

1) waitresource="PAGE: 6:3:70133" = Database_Id: FileId: PageNumber

เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจกเฉ€ เจฌเฉ‡เจจเจคเฉ€ PAGE เจฒเจพเจ• 'เจคเฉ‡ เจ‰เจกเฉ€เจ• เจ•เจฐ เจฐเจนเฉ€ เจนเฉˆ, เจคเจพเจ‚ SQL เจธเจฐเจตเจฐ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‰เจธ เจชเฉฐเจจเฉ‡ เจฆเจพ เจชเจคเจพ เจฆเฉ‡เจตเฉ‡เจ—เจพเฅค

"เจชเฉ‡เจœ: 6:3:70133" เจจเฉ‚เฉฐ เจคเฉ‹เฉœเจฆเจฟเจ†เจ‚ เจธเจพเจจเฉ‚เฉฐ เจฎเจฟเจฒเจฆเจพ เจนเฉˆ:

  • เจกเจพเจŸเจพเจฌเฉ‡เจธ_เจ†เจˆเจกเฉ€ = 6
  • data_file_id = 3
  • เจชเฉฐเจจเจพ_เจจเฉฐเจฌเจฐ = 70133

1.1) เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ_เจ†เจˆเจกเฉ€ เจจเฉ‚เฉฐ เจกเฉ€เจ•เฉเจฐเจฟเจชเจŸ เจ•เจฐเฉ‹

เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฆเจพ เจจเจพเจฎ เจฒเฉฑเจญเฉ‹:

SELECT 
    name 
FROM sys.databases 
WHERE database_id=6;
GO

เจ‡เจน เจœเจจเจคเจ• เจนเฉˆ เจกเฉ€เจฌเฉ€ เจตเจพเจˆเจกเจตเจฐเจฒเจก เจ†เจฏเจพเจคเจ• เจฎเฉ‡เจฐเฉ‡ SQL เจธเจฐเจตเจฐ 'เจคเฉ‡.

1.2) เจกเฉ‡เจŸเจพ เจซเจพเจˆเจฒ เจฆเจพ เจจเจพเจฎ เจฒเฉฑเจญ เจฐเจฟเจนเจพ เจนเฉˆ - เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจฆเจฟเจฒเจšเจธเจชเฉ€ เจฐเฉฑเจ–เจฆเฉ‡ เจนเฉ‹

เจ…เจธเฉ€เจ‚ เจŸเฉ‡เจฌเจฒ เจฆเจพ เจจเจพเจฎ เจฒเฉฑเจญเจฃ เจฒเจˆ เจ…เจ—เจฒเฉ‡ เจชเฉœเจพเจ… เจตเจฟเฉฑเจš data_file_id เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจœเจพ เจฐเจนเฉ‡ เจนเจพเจ‚เฅค เจคเฉเจธเฉ€เจ‚ เจนเฉเจฃเฉ‡ เจนเฉ€ เจ…เจ—เจฒเฉ‡ เจชเฉœเจพเจ… 'เจคเฉ‡ เจœเจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจชเจฐ เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจซเจพเจˆเจฒ เจจเจพเจฎ เจตเจฟเฉฑเจš เจฆเจฟเจฒเจšเจธเจชเฉ€ เจฐเฉฑเจ–เจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจ‡เจธ เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจตเจฟเฉฑเจš data_file_id เจจเฉ‚เฉฐ เจฌเจฆเจฒ เจ•เฉ‡, เจฒเฉฑเจญเฉ‡ เจ—เจ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฆเฉ‡ เจธเฉฐเจฆเจฐเจญ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจšเจฒเจพ เจ•เฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจฒเฉฑเจญ เจธเจ•เจฆเฉ‡ เจนเฉ‹:

USE WideWorldImporters;
GO
SELECT 
    name, 
    physical_name
FROM sys.database_files
WHERE file_id = 3;
GO

WideWorldImporters เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจตเจฟเฉฑเจš เจ‡เจน WWI_UserData เจจเจพเจฎ เจฆเฉ€ เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจนเฉˆ เจ…เจคเฉ‡ เจฎเฉˆเจ‚ เจ‡เจธเจจเฉ‚เฉฐ C:MSSQLDATAWideWorldImporters_UserData.ndf เจตเจฟเฉฑเจš เจฐเฉ€เจธเจŸเฉ‹เจฐ เจ•เจฐ เจฆเจฟเฉฑเจคเจพ เจนเฉˆเฅค (เจ“เจน, เจคเฉเจธเฉ€เจ‚ เจฎเฉˆเจจเฉ‚เฉฐ เจธเจฟเจธเจŸเจฎ เจกเจฐเจพเจˆเจต 'เจคเฉ‡ เจซเจพเจˆเจฒเจพเจ‚ เจชเจพเจ‰เจ‚เจฆเฉ‡ เจนเฉ‹เจ เจซเฉœเจฟเจ†! เจจเจนเฉ€เจ‚! เจ‡เจน เจธเจผเจฐเจฎเจจเจพเจ• เจนเฉˆ)เฅค

1.3) DBCC PAGE เจคเฉ‹เจ‚ เจตเจธเจคเฉ‚ เจฆเจพ เจจเจพเจฎ เจชเฉเจฐเจพเจชเจค เจ•เจฐเฉ‹

เจนเฉเจฃ เจ…เจธเฉ€เจ‚ เจœเจพเจฃเจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจกเฉ‡เจŸเจพเจซเจพเจ‡เจฒ 70133 เจตเจฟเฉฑเจš เจชเฉฐเจจเจพ #3 เจตเจฐเจฒเจกเจตเจพเจˆเจก เจ‡เจฎเจชเฉ‹เจฐเจŸเจฐ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ เจฌเจฟเจจเจพเจ‚ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเฉ€ DBCC เจชเฉ‡เจœ เจ…เจคเฉ‡ เจŸเจฐเฉ‡เจธ เจซเจฒเฉˆเจ— 3604 เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ‡เจธ เจชเฉฐเจจเฉ‡ เจฆเฉ€เจ†เจ‚ เจธเจฎเฉฑเจ—เจฐเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเจพเจ‚เฅค
เจจเฉ‹เจŸ: เจฎเฉˆเจ‚ เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจธเจฐเจตเจฐ 'เจคเฉ‡ เจ•เจฟเจคเฉ‡ เจฐเฉ€เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเฉ€ เจ•เจพเจชเฉ€ 'เจคเฉ‡ DBCC PAGE เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ เจชเจธเฉฐเจฆ เจ•เจฐเจฆเจพ เจนเจพเจ‚, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน เจ—เฉˆเจฐ-เจฆเจธเจคเจพเจตเฉ‡เจœเจผเฉ€ เจธเจฎเฉฑเจ—เจฐเฉ€ เจนเฉˆเฅค เจ•เฉเจ เจฎเจพเจฎเจฒเจฟเจ†เจ‚ เจตเจฟเฉฑเจš, เจ‰เจน เจ‡เฉฑเจ• เจกเฉฐเจช เจฆเจพ เจจเจคเฉ€เจœเจพ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ (เจฒเจ—เจญเจ— เจ…เจจเฉเจตเจพเจฆเจ• - เจฒเจฟเฉฐเจ•, เจฌเจฆเจ•เจฟเจธเจฎเจคเฉ€ เจจเจพเจฒ, เจ•เจฟเจคเฉ‡ เจตเฉ€ เจจเจนเฉ€เจ‚ เจœเจพเจ‚เจฆเจพ, เจชเจฐ url เจฆเฉเจ†เจฐเจพ เจจเจฟเจฐเจฃเจพ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจ…เจธเฉ€เจ‚ เจซเจฟเจฒเจŸเจฐ เจ•เฉ€เจคเฉ‡ เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจ•เจฐ เจฐเจนเฉ‡ เจนเจพเจ‚).

/* This trace flag makes DBCC PAGE output go to our Messages tab
instead of the SQL Server Error Log file */
DBCC TRACEON (3604);
GO
/* DBCC PAGE (DatabaseName, FileNumber, PageNumber, DumpStyle)*/
DBCC PAGE ('WideWorldImporters',3,70133,2);
GO

เจจเจคเฉ€เจœเจฟเจ†เจ‚ เจคเฉฑเจ• เจธเจ•เฉเจฐเฉ‹เจฒ เจ•เจฐเจ•เฉ‡, เจคเฉเจธเฉ€เจ‚ เจ†เจฌเจœเฉˆเจ•เจŸ_เจ†เจˆเจกเฉ€ เจ…เจคเฉ‡ เจ‡เฉฐเจกเฉˆเจ•เจธ_เจ†เจˆเจกเฉ€ เจฒเฉฑเจญ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค
เจกเฉˆเจกเจฒเจพเจ• เจ…เจคเฉ‡ เจฒเจพเจ• เจตเจฟเฉฑเจš เจกเจฟเจธเฉ€เจซเจฐ เจ•เฉเฉฐเจœเฉ€ เจ…เจคเฉ‡ เจชเฉฐเจจเจพ เจ‰เจกเฉ€เจ• เจธเจฐเฉ‹เจค
เจฒเจ—เจญเจ— เจนเฉ‹ เจ—เจฟเจ†! เจนเฉเจฃ เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจฆเฉ‡ เจจเจพเจฒ เจธเจพเจฐเจฃเฉ€ เจ…เจคเฉ‡ เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจฆเฉ‡ เจจเจพเจฎ เจฒเฉฑเจญ เจธเจ•เจฆเฉ‡ เจนเฉ‹:

USE WideWorldImporters;
GO
SELECT 
    sc.name as schema_name, 
    so.name as object_name, 
    si.name as index_name
FROM sys.objects as so 
JOIN sys.indexes as si on 
    so.object_id=si.object_id
JOIN sys.schemas AS sc on 
    so.schema_id=sc.schema_id
WHERE 
    so.object_id = 94623380
    and si.index_id = 1;
GO

เจ…เจคเฉ‡ เจ‡เฉฑเจฅเฉ‡ เจ…เจธเฉ€เจ‚ เจฆเฉ‡เจ–เจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจฒเจพเจ• 'เจคเฉ‡ เจ‰เจกเฉ€เจ• Sales.OrderLines เจŸเฉ‡เจฌเจฒ เจฆเฉ‡ PK_Sales_OrderLines เจธเฉ‚เจšเจ•เจพเจ‚เจ• 'เจคเฉ‡ เจธเฉ€เฅค

เจจเฉ‹เจŸ: SQL เจธเจฐเจตเจฐ 2014 เจ…เจคเฉ‡ เจ‡เจธเจคเฉ‹เจ‚ เจ‰เฉฑเจชเจฐ, เจตเจธเจคเฉ‚ เจฆเจพ เจจเจพเจฎ เจ—เฉˆเจฐ-เจฆเจธเจคเจพเจตเฉ‡เจœเจผเฉ€ DMO sys.dm_db_database_page_allocations เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจตเฉ€ เจฒเฉฑเจญเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจชเจฐ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจตเจฟเฉฑเจš เจนเจฐ เจชเฉฐเจจเฉ‡ เจฆเฉ€ เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจ•เจฐเจจเฉ€ เจชเจตเฉ‡เจ—เฉ€, เจœเฉ‹ เจ•เจฟ เจตเฉฑเจกเฉ‡ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฒเจˆ เจฌเจนเฉเจค เจตเจงเฉ€เจ† เจจเจนเฉ€เจ‚ เจฒเฉฑเจ—เจฆเจพ, เจ‡เจธเจฒเจˆ เจฎเฉˆเจ‚ DBCC PAGE เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€เฅค

1.4) เจ•เฉ€ เจฌเจฒเฉŒเจ• เจ•เฉ€เจคเฉ‡ เจชเฉฐเจจเฉ‡ 'เจคเฉ‡ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจตเฉ‡เจ–เจฃเจพ เจธเฉฐเจญเจต เจนเฉˆ?

เจจเฉ‚เจ‰, เจนเจพเจ‚เฅค เจชเจฐ... เจ•เฉ€ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฏเจ•เฉ€เจจ เจนเฉˆ เจ•เจฟ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจธเจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ?
เจ‡เจน เจ›เฉ‹เจŸเฉ€เจ†เจ‚ เจฎเฉ‡เจœเจผเจพเจ‚ 'เจคเฉ‡ เจตเฉ€ เจนเฉŒเจฒเฉ€ เจนเฉˆเฅค เจชเจฐ เจ‡เจน เจฌเจนเฉเจค เจตเจงเฉ€เจ† เจนเฉˆ, เจ‡เจธ เจฒเจˆ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจนเฉเจฃ เจคเฉฑเจ• เจชเฉœเฉเจน เจฒเจฟเจ† เจนเฉˆ...เจ†เจ“ %%physloc%% เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจ•เจฐเฉ€เจ!

%%physloc%% เจœเจพเจฆเฉ‚ เจฆเจพ เจ‡เฉฑเจ• เจ—เฉˆเจฐ-เจฆเจธเจคเจพเจตเฉ‡เจœเจผเฉ€ เจŸเฉเจ•เฉœเจพ เจนเฉˆ เจœเฉ‹ เจนเจฐเฉ‡เจ• เจเจ‚เจŸเจฐเฉ€ เจฒเจˆ เจ‡เฉฑเจ• เจญเฉŒเจคเจฟเจ• ID เจตเจพเจชเจธ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจคเฉเจธเฉ€เจ‚ เจตเจฐเจค เจธเจ•เจฆเฉ‡ เจนเฉ‹ SQL เจธเจฐเจตเจฐ 2008 เจ…เจคเฉ‡ เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš sys.fn_PhysLocFormatter เจฆเฉ‡ เจจเจพเจฒ %%physloc%%.

เจนเฉเจฃ เจœเจฆเฉ‹เจ‚ เจ…เจธเฉ€เจ‚ เจœเจพเจฃเจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจ…เจธเฉ€เจ‚ Sales.OrderLines เจตเจฟเฉฑเจš เจชเฉฐเจจเฉ‡ เจจเฉ‚เฉฐ เจฌเจฒเฉŒเจ• เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจพเจ‚, เจ…เจธเฉ€เจ‚ เจ‡เจธ เจธเจพเจฐเจฃเฉ€ เจตเจฟเฉฑเจš เจธเจพเจฐเฉ‡ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเจพเจ‚, เจœเฉ‹ เจ•เจฟ เจชเฉฐเจจเจพ #3 'เจคเฉ‡ เจกเฉ‡เจŸเจพ เจซเจพเจˆเจฒ #70133 เจตเจฟเฉฑเจš เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ€ เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจจเจพเจฒ:

Use WideWorldImporters;
GO
SELECT 
    sys.fn_PhysLocFormatter (%%physloc%%),
    *
FROM Sales.OrderLines (NOLOCK)
WHERE sys.fn_PhysLocFormatter (%%physloc%%) like '(3:70133%'
GO

เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจฎเฉˆเจ‚ เจ•เจฟเจนเจพ, เจ‡เจน เจ›เฉ‹เจŸเฉ‡ เจŸเฉ‡เจฌเจฒเจพเจ‚ 'เจคเฉ‡ เจตเฉ€ เจนเฉŒเจฒเฉ€ เจนเฉˆ. เจฎเฉˆเจ‚ เจฌเฉ‡เจจเจคเฉ€ เจตเจฟเฉฑเจš NOLOCK เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจฟเจ† เจนเฉˆ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ…เจœเฉ‡ เจตเฉ€ เจ•เฉ‹เจˆ เจ—เจพเจฐเฉฐเจŸเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆ เจ•เจฟ เจœเจฟเจธ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจ…เจธเฉ€เจ‚ เจฆเฉ‡เจ–เจฃเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจพเจ‚ เจ‰เจน เจฌเจฟเจฒเจ•เฉเจฒ เจ‰เจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚ เจนเฉˆ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจฒเฉŒเจ• เจฆเฉ€ เจ–เฉ‹เจœ เจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจธเฉ€ - เจ‡เจธ เจฒเจˆ เจ…เจธเฉ€เจ‚ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจขเฉฐเจ— เจจเจพเจฒ เจ—เฉฐเจฆเฉ‡ เจฐเฉ€เจกเจฟเฉฐเจ— เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚เฅค
เจชเจฐ, เจนเฉ‚เจฐเฉ‡, เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจฎเฉˆเจจเฉ‚เฉฐ 25 เจ•เจคเจพเจฐเจพเจ‚ เจตเจพเจชเจธ เจ•เจฐเจฆเฉ€ เจนเฉˆ เจœเจฟเจธ เจฒเจˆ เจธเจพเจกเฉ€ เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจฒเฉœเฉ€ เจ—เจˆ เจธเฉ€เฅค
เจกเฉˆเจกเจฒเจพเจ• เจ…เจคเฉ‡ เจฒเจพเจ• เจตเจฟเฉฑเจš เจกเจฟเจธเฉ€เจซเจฐ เจ•เฉเฉฐเจœเฉ€ เจ…เจคเฉ‡ เจชเฉฐเจจเจพ เจ‰เจกเฉ€เจ• เจธเจฐเฉ‹เจค
PAGE เจฒเจพเจ• เจฌเจพเจฐเฉ‡ เจ•เจพเจซเจผเฉ€ เจนเฉˆเฅค เจ‰เจฆเฉ‹เจ‚ เจ•เฉ€ เจœเฉ‡ เจ…เจธเฉ€เจ‚ KEY เจฒเจพเจ• เจฆเฉ€ เจ‰เจกเฉ€เจ• เจ•เจฐ เจฐเจนเฉ‡ เจนเจพเจ‚?

2) waitresource="KEY: 6:72057594041991168 (ce52f92a058c)" = Database_Id, HOBT_Id (เจฎเฉˆเจœเจฟเจ• เจนเฉˆเจธเจผ เจœเจฟเจธเจจเฉ‚เฉฐ %%lockres%% เจจเจพเจฒ เจกเฉ€เจ•เฉเจฐเจฟเจชเจŸ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจธเฉฑเจšเจฎเฉเฉฑเจš เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹)

เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจกเฉ€ เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจ‡เฉฐเจกเฉˆเจ•เจธ เจเจ‚เจŸเจฐเฉ€ 'เจคเฉ‡ เจฒเจพเจ• เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจ†เจชเจฃเฉ‡ เจ†เจช เจฒเจพเจ• เจนเฉ‹ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจคเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจฌเจฟเจฒเจ•เฉเจฒ เจตเฉฑเจ–เจฐเฉ€ เจ•เจฟเจธเจฎ เจฆเจพ เจชเจคเจพ เจฎเจฟเจฒเจฆเจพ เจนเฉˆเฅค
โ€œ6:72057594041991168 (ce52f92a058c)โ€ เจจเฉ‚เฉฐ เจญเจพเจ—เจพเจ‚ เจตเจฟเฉฑเจš เจคเฉ‹เฉœเจฆเจฟเจ†เจ‚, เจธเจพเจจเฉ‚เฉฐ เจฎเจฟเจฒเจฆเจพ เจนเฉˆ:

  • เจกเจพเจŸเจพเจฌเฉ‡เจธ_เจ†เจˆเจกเฉ€ = 6
  • hobt_id = 72057594041991168
  • เจฎเฉˆเจœเจฟเจ• เจนเฉˆเจธเจผ = (ce52f92a058c)

2.1) เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ_เจ†เจˆเจกเฉ€ เจจเฉ‚เฉฐ เจกเฉ€เจ•เฉเจฐเจฟเจชเจŸ เจ•เจฐเฉ‹

เจ‡เจน เจฌเจฟเจฒเจ•เฉเจฒ เจ‰เจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเจฟเจตเฉ‡เจ‚ เจ‰เจชเจฐเฉ‹เจ•เจค เจ‰เจฆเจพเจนเจฐเจฃ เจฆเฉ‡ เจจเจพเจฒ! เจ…เจธเฉ€เจ‚ เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฆเจพ เจจเจพเจฎ เจฒเฉฑเจญเจฆเฉ‡ เจนเจพเจ‚:

SELECT 
    name 
FROM sys.databases 
WHERE database_id=6;
GO

เจฎเฉ‡เจฐเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, เจ‡เจน เจ‰เจนเฉ€ เจนเฉˆ เจกเฉ€เจฌเฉ€ เจตเจพเจˆเจกเจตเจฐเจฒเจก เจ†เจฏเจพเจคเจ•.

2.2) hobt_id เจจเฉ‚เฉฐ เจกเฉ€เจ•เฉเจฐเจฟเจชเจŸ เจ•เจฐเฉ‹

เจฒเฉฑเจญเฉ‡ เจ—เจ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฆเฉ‡ เจธเฉฐเจฆเจฐเจญ เจตเจฟเฉฑเจš, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เฉเจ เจœเฉ‹เฉœเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ sys.partitions เจฆเฉ€ เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจœเฉ‹ เจธเจพเจฐเจฃเฉ€ เจ…เจคเฉ‡ เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจฆเฉ‡ เจจเจพเจฎ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจตเจฟเฉฑเจš เจฎเจฆเจฆ เจ•เจฐเฉ‡เจ—เจพ ...

USE WideWorldImporters;
GO
SELECT 
    sc.name as schema_name, 
    so.name as object_name, 
    si.name as index_name
FROM sys.partitions AS p
JOIN sys.objects as so on 
    p.object_id=so.object_id
JOIN sys.indexes as si on 
    p.index_id=si.index_id and 
    p.object_id=si.object_id
JOIN sys.schemas AS sc on 
    so.schema_id=sc.schema_id
WHERE hobt_id = 72057594041991168;
GO

เจ‡เจน เจฎเฉˆเจจเฉ‚เฉฐ เจฆเฉฑเจธเจฆเจพ เจนเฉˆ เจ•เจฟ เจฌเฉ‡เจจเจคเฉ€ PK_Application_Countries เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ Application.Countries เจฒเจพเจ• 'เจคเฉ‡ เจ‰เจกเฉ€เจ• เจ•เจฐ เจฐเจนเฉ€ เจธเฉ€เฅค

2.3) เจนเฉเจฃ เจ•เฉเจ %% เจฒเจพเจ•เจฐเฉ‡เจธ%% เจœเจพเจฆเฉ‚ เจฒเจˆ - เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจ‡เจน เจชเจคเจพ เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹ เจ•เจฟ เจ•เจฟเจนเฉœเฉ€ เจเจ‚เจŸเจฐเฉ€ เจฒเจพเจ• เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€

เจœเฉ‡เจ•เจฐ เจฎเฉˆเจ‚ เจธเฉฑเจšเจฎเฉเฉฑเจš เจ‡เจน เจœเจพเจฃเจจเจพ เจšเจพเจนเฉเฉฐเจฆเจพ เจนเจพเจ‚ เจ•เจฟ เจ•เจฟเจธ เจ•เจคเจพเจฐ 'เจคเฉ‡ เจฒเจพเจ• เจฆเฉ€ เจฒเฉ‹เฉœ เจธเฉ€, เจคเจพเจ‚ เจฎเฉˆเจ‚ เจ–เฉเจฆ เจŸเฉ‡เจฌเจฒ เจคเฉ‹เจ‚ เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจ•เจฐเจ•เฉ‡ เจชเจคเจพ เจฒเจ—เจพ เจธเจ•เจฆเจพ เจนเจพเจ‚เฅค เจ…เจธเฉ€เจ‚ เจฎเฉˆเจœเจฟเจ• เจนเฉˆเจธเจผ เจจเจพเจฒ เจฎเฉ‡เจฒ เจ–เจพเจ‚เจฆเฉ€ เจเจ‚เจŸเจฐเฉ€ เจฒเฉฑเจญเจฃ เจฒเจˆ เจ—เฉˆเจฐ-เจฆเจธเจคเจพเจตเฉ‡เจœเจผเฉ€ %% lockres%% เจซเฉฐเจ•เจธเจผเจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚เฅค
เจจเฉ‹เจŸ เจ•เจฐเฉ‹ เจ•เจฟ เจ‡เจน เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจชเฉ‚เจฐเฉ€ เจธเจพเจฐเจฃเฉ€ เจจเฉ‚เฉฐ เจธเจ•เฉˆเจจ เจ•เจฐเฉ‡เจ—เฉ€, เจ…เจคเฉ‡ เจตเฉฑเจกเฉ€เจ†เจ‚ เจŸเฉ‡เจฌเจฒเจพเจ‚ 'เจคเฉ‡ เจ‡เจน เจฌเจฟเจฒเจ•เฉเจฒ เจตเฉ€ เจฎเจœเจผเฉ‡เจฆเจพเจฐ เจจเจนเฉ€เจ‚ เจนเฉ‹ เจธเจ•เจฆเจพ:

SELECT
    *
FROM Application.Countries (NOLOCK)
WHERE %%lockres%% = '(ce52f92a058c)';
GO

เจฎเฉˆเจ‚ NOLOCK (เจŸเจตเจฟเฉฑเจŸเจฐ 'เจคเฉ‡ เจ•เจฒเฉŒเจธ เจ…เจธเจšเฉ‡เจจเจฌเจฐเจจเจฐ เจฆเฉ€ เจธเจฒเจพเจน 'เจคเฉ‡) เจ•เจฟเจ‰เจ‚เจ•เจฟ เจคเจพเจฒเฉ‡ เจ‡เฉฑเจ• เจธเจฎเฉฑเจธเจฟเจ† เจนเฉ‹ เจธเจ•เจฆเฉ‡ เจนเจจเฅค เจ…เจธเฉ€เจ‚ เจธเจฟเจฐเจซเจผ เจ‡เจน เจฆเฉ‡เจ–เจฃเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจนเฉเจฃ เจ‰เฉฑเจฅเฉ‡ เจ•เฉ€ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจน เจจเจนเฉ€เจ‚ เจ•เจฟ เจœเจฆเฉ‹เจ‚ เจŸเฉเจฐเจพเจ‚เจœเฉˆเจ•เจธเจผเจจ เจธเจผเฉเจฐเฉ‚ เจนเฉ‹เจ‡เจ† เจธเฉ€ เจคเจพเจ‚ เจ‰เฉฑเจฅเฉ‡ เจ•เฉ€ เจธเฉ€ - เจฎเฉˆเจจเฉ‚เฉฐ เจจเจนเฉ€เจ‚ เจฒเฉฑเจ—เจฆเจพ เจ•เจฟ เจกเฉ‡เจŸเจพ เจ‡เจ•เจธเจพเจฐเจคเจพ เจธเจพเจกเฉ‡ เจฒเจˆ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจนเฉˆเฅค
เจตเฉ‹เจ‡เจฒเจพ, เจ‰เจน เจฐเจฟเจ•เจพเจฐเจก เจœเจฟเจธ เจฒเจˆ เจ…เจธเฉ€เจ‚ เจฒเฉœเจฟเจ† เจธเฉ€!
เจกเฉˆเจกเจฒเจพเจ• เจ…เจคเฉ‡ เจฒเจพเจ• เจตเจฟเฉฑเจš เจกเจฟเจธเฉ€เจซเจฐ เจ•เฉเฉฐเจœเฉ€ เจ…เจคเฉ‡ เจชเฉฐเจจเจพ เจ‰เจกเฉ€เจ• เจธเจฐเฉ‹เจค

เจฎเจพเจจเจคเจพเจตเจพเจ‚ เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจชเฉœเฉเจนเจจเจพ

เจฎเฉˆเจจเฉ‚เฉฐ เจฏเจพเจฆ เจจเจนเฉ€เจ‚ เจนเฉˆ เจ•เจฟ เจ‡เจนเจจเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจšเฉ€เจœเจผเจพเจ‚ เจฆเจพ เจตเจฐเจฃเจจ เจชเจนเจฟเจฒเจพเจ‚ เจ•เจฟเจธเจจเฉ‡ เจ•เฉ€เจคเจพ เจธเฉ€, เจชเจฐ เจ‡เฉฑเจฅเฉ‡ เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเฉ€ เจšเฉ€เจœเจผเจพเจ‚ เจฌเจพเจฐเฉ‡ เจฆเฉ‹ เจชเฉ‹เจธเจŸเจพเจ‚ เจนเจจ เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเจธเฉฐเจฆ เจ† เจธเจ•เจฆเฉ€เจ†เจ‚ เจนเจจ:

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹