sqlschool.gr logo

articles

Articles of SQLschool.gr Team

Explain Ghost Records in SQL Server

Antonios Chatzipavlis
Tuesday 10 August 2021

Overview

Κάθε φορά που εκτελούνται delete operations τα rows δεν διαγράφονται άμεσα αλλά χαρακτηρίζονται σαν rows προς διαγραφή και η ονομασία που έχει δοθεί σε αυτά είναι ghost(ed) records και σε αυτό το άρθρο θα δούμε τα internals τους.

Στην πραγματικότητα αυτό που γίνεται είναι στο κάθε deleted row αλλάζει η τιμή στο status bit A του row header στα bits 1-3 στην τιμή (110). Μπορείτε να δείτε την δομή του row που έχω γράψει για αυτή στο άρθρο μου αυτό The Data Row(s) structure.

Υπάρχουν αρκετοί λόγοι που γίνεται αυτό με κυρίαρχες δύο αιτίες. Η πρώτη αφορά την εύκολη και γρήγορη διαγραφή καθώς το μόνο που αλλάζει είναι ένα bit flag και σαν συνέπεια αυτού (η δεύτερη) του γρήγορου rollback σε περίπτωση ακύρωση της διαδικασίας.

When deleted

Φυσικά το ερώτημα που γεννιέται είναι πότε αυτά πραγματικά σβήνονται.

Η απάντηση είναι ότι η διαγραφή τους γίνεται μέσα από μια single-threaded διαδικασία η οποία εκτελείται αυτόματα κάθε 5 sec εάν είστε σε SQL Server 2012 και πάνω ή κάθε 10 sec αν είστε σε SQL Server 2008.

Η διαδικασία αυτή ελέγχει αρκετά πράγματα και ένα από αυτά που ελέγχει είναι τα διαθέσιμα PFS pages και συγκεκριμένα το Bit 3 που δείχνει αν υπάρχουν ghost records και μετά την κάθε σελίδα στην οποία ξέρει πόσα και ποια είναι αυτά.

Explain by example

Όπως ανέφερα και παραπάνω η διαδικασία είναι αυτόματη αλλά υπάρχει ένα trace flag το οποίο την απενεργοποιεί το οποίο είναι το 661 και το οποίο θα χρησιμοποιήσω στο παράδειγμα μου αλλά δεν προτείνεται να χρησιμοποιείται σε παραγωγικό περιβάλλον και θα το εξηγήσω παρακάτω.

Για να τα δούμε όλα αυτά (όπως συνηθίζω να κάνω) θα το κάνουμε με ένα παράδειγμα. Σε αυτό θα δημιουργήσω μια database και ένα απλό table με 1Μ rows στο οποίο θα έχω ένα clustered και ένα nonclustered index.

SQL Script

use master;
go

create database bin;
go

use bin;
go

create table T 
(
    col1 int identity primary key
,    col2 datetime2(7) default (sysdatetime())
,    col3 varchar(1000) default (replicate('a',1000))
)
go

set nocount on;
insert into T default values;
go 1000000
set nocount off;

create index idx1 on T(col2);
go

Αρχικά θα ενεργοποιήσω το trace flag 661 ώστε να μην γίνεται trigger αυτόματα η διαδικασία και θα κάνω κάποιες εγγραφές delete.

SQL Script

DBCC TRACEON (661, -1)
GO

delete from t
where col1 between 100000 and  300000;
go

Investigate pages

Αν χρησιμοποιήσουμε το DMF που εξηγώ στο άρθρο μου αυτό (In which pages (data or index) are my table data stored?) προσθέτοντας τα has_ghost_records field και κάνοντας το expression με alias pfs για να δω σε ποιο PFS ανήκει η κάθε σελίδα βάζοντας σαν filter αυτές που έχουν ghost records έχω το παρακάτω αποτέλεσμα

SQL Script

select 
         db_name(p.database_id)          as [database_name]
    ,    object_name(p.object_id)        as table_name
    ,    i.[name]                        as index_name
    ,    is_allocated
    ,    allocated_page_file_id          as [file_id]
    ,    allocated_page_page_id          as [page_id]
    ,    page_type_desc
    ,    page_level
    ,    previous_page_page_id           as previous_page_id
    ,    next_page_page_id               as next_page_id
    ,    p.has_ghost_records
    ,    (allocated_page_page_id   / 8088) * 8088  as pfs
from 
    sys.dm_db_database_page_allocations (
                            db_id()
                        ,   object_id('T')
                        ,   null
                        ,   null
                        ,   'detailed'
                                        ) as p
left outer join sys.indexes i  on i.object_id = p.object_id and i.index_id = p.index_id
where p.has_ghost_records > 0
order by  table_name , index_name, page_level desc, is_allocated desc, previous_page_page_id
Execution Results
database_name table_name index_name is_allocated file_id page_id page_type_desc page_level previous_page_id next_page_id has_ghost_records pfs
bin T PK__T__357D0D3EDA301C56 1 1 14716 DATA_PAGE 0 14715 14717 1 8088
bin T PK__T__357D0D3EDA301C56 1 1 14717 DATA_PAGE 0 14716 14718 1 8088
bin T PK__T__357D0D3EDA301C56 1 1 14718 DATA_PAGE 0 14717 14719 1 8088
bin T PK__T__357D0D3EDA301C56 1 1 14719 DATA_PAGE 0 14718 14720 1 8088
bin T PK__T__357D0D3EDA301C56 1 1 14720 DATA_PAGE 0 14719 14721 1 8088
bin T PK__T__357D0D3EDA301C56 1 1 14721 DATA_PAGE 0 14720 14722 1 8088
bin T PK__T__357D0D3EDA301C56 1 1 14722 DATA_PAGE 0 14721 14723 1 8088
bin T PK__T__357D0D3EDA301C56 1 1 14723 DATA_PAGE 0 14722 14724 1 8088
bin T PK__T__357D0D3EDA301C56 1 1 14724 DATA_PAGE 0 14723 14725 1 8088
... ... ... ... ... ... ... ... ... ... ... ...
bin T idx1 1 1 144038 INDEX_PAGE 0 144037 144039 1 137496
bin T idx1 1 1 144039 INDEX_PAGE 0 144038 144040 1 137496
bin T idx1 1 1 144040 INDEX_PAGE 0 144039 144041 1 137496
bin T idx1 1 1 144261 INDEX_PAGE 0 144260 144262 1 137496
bin T idx1 1 1 144262 INDEX_PAGE 0 144261 144263 1 137496
bin T idx1 1 1 144263 INDEX_PAGE 0 144262 144264 1 137496
... ... ... ... ... ... ... ... ... ... ... ...

Αν πάρουμε το πρώτο row από τα παραπάνω αποτελέσματα θα δούμε ότι είναι στο PFS 8088 και αν δούμε τα δεδομένα της σελίδας αυτής με την χρήση της DBCC PAGE θα δούμε ότι στο Page Alloc Status οι σελίδες 14715 – 14770 & 14772 – 14859 έχουν ghost records.

SQL Script

use bin
go
DBCC TRACEON(3604);
DBCC PAGE(0,1,8088,3);

SQL Script

DBCC execution completed. If DBCC printed error messages, contact your system administrator.

PAGE: (1:8088)


BUFFER:


BUF @0x000001587FF0D5C0

bpage = 0x0000015857940000          bPmmpage = 0x0000000000000000       bsort_r_nextbP = 0x0000000000000000
bsort_r_prevbP = 0x0000000000000000 bhash = 0x0000000000000000          bpageno = (1:8088)
bpart = 0                           ckptGen = 0x000001586C729C40        bDirtyRefCount = 0
bstat = 0xb                         breferences = 0                     berrcode = 0
bUse1 = 16071                       bstat2 = 0x8                        blog = 0x15a8a8a
bsampleCount = 0                    bIoCount = 0                        resPoolId = 0
bcputicks = 0                       bReadMicroSec = 542                 bDirtyContext = 0x0000015865D92540
bDbPageBroker = 0x0000000000000000  bdbid = 9                           bpru = 0x0000015857A58040

PAGE HEADER:


Page @0x0000015857940000

m_pageId = (1:8088)                 m_headerVersion = 1                 m_type = 11
m_typeFlagBits = 0x1                m_level = 0                         m_flagBits = 0x0
m_objId (AllocUnitId.idObj) = 99    m_indexId (AllocUnitId.idInd) = 0   Metadata: AllocUnitId = 6488064
Metadata: PartitionId = 0           Metadata: IndexId = 0               Metadata: ObjectId = 99
m_prevPage = (0:0)                  m_nextPage = (0:0)                  pminlen = 0
m_slotCnt = 1                       m_freeCnt = 2                       m_freeData = 8188
m_reservedCnt = 0                   m_lsn = (304:25176:31)              m_xactReserved = 0
m_xdesId = (0:0)                    m_ghostRecCnt = 0                   m_tornBits = -496541616
DB Frag ID = 1                      

Allocation Status

GAM (1:2) = ALLOCATED               SGAM (1:3) = NOT ALLOCATED          
PFS (1:8088) = 0x40 ALLOCATED   0_PCT_FULL                               DIFF (1:6) = CHANGED
ML (1:7) = NOT MIN_LOGGED           

PFS: Page Alloc Status  @0x0000004E3F3F8000

(1:8088)     - (1:14714)    =     ALLOCATED   0_PCT_FULL                                      
(1:14715)    - (1:14770)    =     ALLOCATED   0_PCT_FULL Has Ghost                             
(1:14771)    -              =     ALLOCATED   0_PCT_FULL                                      
(1:14772)    - (1:14859)    =     ALLOCATED   0_PCT_FULL Has Ghost                             
(1:14860)    - (1:16175)    =     ALLOCATED   0_PCT_FULL                                       


DBCC execution completed. If DBCC printed error messages, contact your system administrator.

Αν τώρα πάρουμε την πρώτη σελίδα (14715) που έχει ghost records και με την DBCC PAGE δούμε τα δεδομένα της θα παρατηρήσουμε στο page header αυτής ότι το m_ghostRecCnt = 3 που σημαίνει ότι υπάρχουν 3 ghosted records και επειδή έχω διαλέξει την τιμή 3 στη τελευταία παράμετρο της DBCC PAGE μπορώ να δω όλα το record slots όπου εκεί θα δω ότι αυτό είναι όσα έχουν στο Record Type = GHOST_DATA_RECORD.

SQL Script

use bin
go
DBCC TRACEON(3604);
DBCC PAGE(0,1,14715,3);

SQL Script

DBCC execution completed. If DBCC printed error messages, contact your system administrator.

PAGE: (1:14715)


BUFFER:


BUF @0x000001588016A8C0

bpage = 0x0000015853852000          bPmmpage = 0x0000000000000000       bsort_r_nextbP = 0x0000000000000000
bsort_r_prevbP = 0x0000000000000000 bhash = 0x0000000000000000          bpageno = (1:14715)
bpart = 0                           ckptGen = 0x0000000000000000        bDirtyRefCount = 0
bstat = 0x10b                       breferences = 0                     berrcode = 0
bUse1 = 18323                       bstat2 = 0x4                        blog = 0x1cc8a
bsampleCount = 1                    bIoCount = 0                        resPoolId = 0
bcputicks = 79                      bReadMicroSec = 906                 bDirtyContext = 0x0000015865D92500
bDbPageBroker = 0x0000000000000000  bdbid = 9                           bpru = 0x0000015857A58040

PAGE HEADER:


Page @0x0000015853852000

m_pageId = (1:14715)                m_headerVersion = 1                 m_type = 1
m_typeFlagBits = 0x0                m_level = 0                         m_flagBits = 0x0
m_objId (AllocUnitId.idObj) = 182   m_indexId (AllocUnitId.idInd) = 256 
Metadata: AllocUnitId = 72057594049855488                                
Metadata: PartitionId = 72057594043367424                                Metadata: IndexId = 1
Metadata: ObjectId = 693577509      m_prevPage = (1:14714)              m_nextPage = (1:14716)
pminlen = 16                        m_slotCnt = 7                       m_freeCnt = 921
m_freeData = 7257                   m_reservedCnt = 0                   m_lsn = (304:23016:6)
m_xactReserved = 0                  m_xdesId = (0:1167298)              m_ghostRecCnt = 3
m_tornBits = -83244486              DB Frag ID = 1                      

Allocation Status

GAM (1:2) = ALLOCATED               SGAM (1:3) = NOT ALLOCATED          
PFS (1:8088) = 0x48 ALLOCATED   0_PCT_FULL                               DIFF (1:6) = CHANGED
ML (1:7) = NOT MIN_LOGGED           

Slot 0 Offset 0x60 Length 1023

Record Type = PRIMARY_RECORD        Record Attributes =  NULL_BITMAP VARIABLE_COLUMNS
Record Size = 1023                  
Memory Dump @0x0000004E3F1F8060

0000000000000000:   30001000 9c860100 8405dcc5 60e1420b 03000001  0...œ†..„.ÜÅ`áB.....
0000000000000014:   00ff0361 61616161 61616161 61616161 61616161  .ÿ.aaaaaaaaaaaaaaaaa
0000000000000028:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000003C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000050:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000064:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000078:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000008C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000A0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000B4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000C8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000DC:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000F0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000104:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000118:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000012C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000140:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000154:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000168:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000017C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000190:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001A4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001B8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001CC:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001E0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001F4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000208:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000021C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000230:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000244:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000258:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000026C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000280:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000294:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002A8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002BC:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002D0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002E4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002F8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000030C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000320:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000334:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000348:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000035C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000370:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000384:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000398:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003AC:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003C0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003D4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003E8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003FC:   616161                                        aaa    

Slot 0 Column 1 Offset 0x4 Length 4 Length (physical) 4

col1 = 99996                        

Slot 0 Column 2 Offset 0x8 Length 8 Length (physical) 8

col2 = 2021-08-16 11:32:43.6391300  

Slot 0 Column 3 Offset 0x17 Length 1000 Length (physical) 1000

col3 = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

Slot 0 Offset 0x0 Length 0 Length (physical) 0

KeyHashValue = (7d352cab799c)       
Slot 1 Offset 0x45f Length 1023

Record Type = PRIMARY_RECORD        Record Attributes =  NULL_BITMAP VARIABLE_COLUMNS
Record Size = 1023                  
Memory Dump @0x0000004E3F1F845F

0000000000000000:   30001000 9d860100 972cdcc5 60e1420b 03000001  0....†..—,ÜÅ`áB.....
0000000000000014:   00ff0361 61616161 61616161 61616161 61616161  .ÿ.aaaaaaaaaaaaaaaaa
0000000000000028:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000003C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000050:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000064:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000078:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000008C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000A0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000B4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000C8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000DC:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000F0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000104:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000118:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000012C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000140:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000154:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000168:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000017C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000190:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001A4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001B8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001CC:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001E0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001F4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000208:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000021C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000230:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000244:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000258:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000026C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000280:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000294:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002A8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002BC:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002D0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002E4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002F8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000030C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000320:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000334:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000348:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000035C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000370:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000384:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000398:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003AC:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003C0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003D4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003E8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003FC:   616161                                        aaa    

Slot 1 Column 1 Offset 0x4 Length 4 Length (physical) 4

col1 = 99997                        

Slot 1 Column 2 Offset 0x8 Length 8 Length (physical) 8

col2 = 2021-08-16 11:32:43.6401303  

Slot 1 Column 3 Offset 0x17 Length 1000 Length (physical) 1000

col3 = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

Slot 1 Offset 0x0 Length 0 Length (physical) 0

KeyHashValue = (8479473c9c90)       
Slot 2 Offset 0x85e Length 1023

Record Type = PRIMARY_RECORD        Record Attributes =  NULL_BITMAP VARIABLE_COLUMNS
Record Size = 1023                  
Memory Dump @0x0000004E3F1F885E

0000000000000000:   30001000 9e860100 972cdcc5 60e1420b 03000001  0...ž†..—,ÜÅ`áB.....
0000000000000014:   00ff0361 61616161 61616161 61616161 61616161  .ÿ.aaaaaaaaaaaaaaaaa
0000000000000028:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000003C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000050:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000064:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000078:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000008C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000A0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000B4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000C8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000DC:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000F0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000104:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000118:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000012C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000140:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000154:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000168:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000017C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000190:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001A4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001B8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001CC:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001E0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001F4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000208:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000021C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000230:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000244:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000258:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000026C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000280:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000294:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002A8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002BC:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002D0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002E4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002F8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000030C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000320:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000334:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000348:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000035C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000370:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000384:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000398:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003AC:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003C0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003D4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003E8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003FC:   616161                                        aaa    

Slot 2 Column 1 Offset 0x4 Length 4 Length (physical) 4

col1 = 99998                        

Slot 2 Column 2 Offset 0x8 Length 8 Length (physical) 8

col2 = 2021-08-16 11:32:43.6401303  

Slot 2 Column 3 Offset 0x17 Length 1000 Length (physical) 1000

col3 = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

Slot 2 Offset 0x0 Length 0 Length (physical) 0

KeyHashValue = (644d69b3582c)       
Slot 3 Offset 0xc5d Length 1023

Record Type = PRIMARY_RECORD        Record Attributes =  NULL_BITMAP VARIABLE_COLUMNS
Record Size = 1023                  
Memory Dump @0x0000004E3F1F8C5D

0000000000000000:   30001000 9f860100 972cdcc5 60e1420b 03000001  0...Ÿ†..—,ÜÅ`áB.....
0000000000000014:   00ff0361 61616161 61616161 61616161 61616161  .ÿ.aaaaaaaaaaaaaaaaa
0000000000000028:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000003C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000050:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000064:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000078:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000008C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000A0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000B4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000C8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000DC:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000F0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000104:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000118:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000012C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000140:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000154:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000168:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000017C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000190:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001A4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001B8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001CC:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001E0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001F4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000208:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000021C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000230:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000244:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000258:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000026C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000280:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000294:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002A8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002BC:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002D0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002E4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002F8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000030C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000320:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000334:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000348:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000035C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000370:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000384:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000398:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003AC:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003C0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003D4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003E8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003FC:   616161                                        aaa    

Slot 3 Column 1 Offset 0x4 Length 4 Length (physical) 4

col1 = 99999                        

Slot 3 Column 2 Offset 0x8 Length 8 Length (physical) 8

col2 = 2021-08-16 11:32:43.6401303  

Slot 3 Column 3 Offset 0x17 Length 1000 Length (physical) 1000

col3 = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

Slot 3 Offset 0x0 Length 0 Length (physical) 0

KeyHashValue = (9d010224bd20)       
Slot 4 Offset 0x105c Length 1023

Record Type = GHOST_DATA_RECORD     Record Attributes =  NULL_BITMAP VARIABLE_COLUMNS
Record Size = 1023                  
Memory Dump @0x0000004E3F1F905C

0000000000000000:   3c001000 a0860100 972cdcc5 60e1420b 03000001  <... †..—,ÜÅ`áB.....
0000000000000014:   00ff0361 61616161 61616161 61616161 61616161  .ÿ.aaaaaaaaaaaaaaaaa
0000000000000028:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000003C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000050:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000064:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000078:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000008C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000A0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000B4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000C8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000DC:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000F0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000104:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000118:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000012C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000140:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000154:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000168:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000017C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000190:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001A4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001B8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001CC:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001E0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001F4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000208:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000021C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000230:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000244:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000258:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000026C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000280:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000294:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002A8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002BC:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002D0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002E4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002F8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000030C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000320:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000334:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000348:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000035C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000370:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000384:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000398:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003AC:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003C0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003D4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003E8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003FC:   616161                                        aaa    

Slot 4 Column 1 Offset 0x4 Length 4 Length (physical) 4

col1 = 100000                       

Slot 4 Column 2 Offset 0x8 Length 8 Length (physical) 8

col2 = 2021-08-16 11:32:43.6401303  

Slot 4 Column 3 Offset 0x17 Length 1000 Length (physical) 1000

col3 = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

Slot 4 Offset 0x0 Length 0 Length (physical) 0

KeyHashValue = (8dec1ed25f57)       
Slot 5 Offset 0x145b Length 1023

Record Type = GHOST_DATA_RECORD     Record Attributes =  NULL_BITMAP VARIABLE_COLUMNS
Record Size = 1023                  
Memory Dump @0x0000004E3F1F945B

0000000000000000:   3c001000 a1860100 1454dcc5 60e1420b 03000001  <...¡†...TÜÅ`áB.....
0000000000000014:   00ff0361 61616161 61616161 61616161 61616161  .ÿ.aaaaaaaaaaaaaaaaa
0000000000000028:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000003C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000050:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000064:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000078:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000008C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000A0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000B4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000C8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000DC:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000F0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000104:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000118:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000012C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000140:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000154:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000168:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000017C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000190:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001A4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001B8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001CC:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001E0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001F4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000208:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000021C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000230:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000244:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000258:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000026C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000280:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000294:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002A8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002BC:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002D0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002E4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002F8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000030C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000320:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000334:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000348:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000035C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000370:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000384:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000398:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003AC:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003C0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003D4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003E8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003FC:   616161                                        aaa    

Slot 5 Column 1 Offset 0x4 Length 4 Length (physical) 4

col1 = 100001                       

Slot 5 Column 2 Offset 0x8 Length 8 Length (physical) 8

col2 = 2021-08-16 11:32:43.6411412  

Slot 5 Column 3 Offset 0x17 Length 1000 Length (physical) 1000

col3 = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

Slot 5 Offset 0x0 Length 0 Length (physical) 0

KeyHashValue = (74a07545ba5b)       
Slot 6 Offset 0x185a Length 1023

Record Type = GHOST_DATA_RECORD     Record Attributes =  NULL_BITMAP VARIABLE_COLUMNS
Record Size = 1023                  
Memory Dump @0x0000004E3F1F985A

0000000000000000:   3c001000 a2860100 1454dcc5 60e1420b 03000001  <...¢†...TÜÅ`áB.....
0000000000000014:   00ff0361 61616161 61616161 61616161 61616161  .ÿ.aaaaaaaaaaaaaaaaa
0000000000000028:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000003C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000050:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000064:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000078:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000008C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000A0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000B4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000C8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000DC:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000000F0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000104:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000118:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000012C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000140:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000154:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000168:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000017C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000190:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001A4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001B8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001CC:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001E0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000001F4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000208:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000021C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000230:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000244:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000258:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000026C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000280:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000294:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002A8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002BC:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002D0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002E4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000002F8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000030C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000320:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000334:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000348:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
000000000000035C:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000370:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000384:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
0000000000000398:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003AC:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003C0:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003D4:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003E8:   61616161 61616161 61616161 61616161 61616161  aaaaaaaaaaaaaaaaaaaa
00000000000003FC:   616161                                        aaa    

Slot 6 Column 1 Offset 0x4 Length 4 Length (physical) 4

col1 = 100002                       

Slot 6 Column 2 Offset 0x8 Length 8 Length (physical) 8

col2 = 2021-08-16 11:32:43.6411412  

Slot 6 Column 3 Offset 0x17 Length 1000 Length (physical) 1000

col3 = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

Slot 6 Offset 0x0 Length 0 Length (physical) 0

KeyHashValue = (94945bca7ee7)       


DBCC execution completed. If DBCC printed error messages, contact your system administrator.


Investigate Transaction Log

Ενδιαφέρον έχει να δούμε και το transaction log με την χρήση της fn_dblog (απλά να πω ότι σε παραγωγικές μεγάλες βάσεις αυτό απαιτεί πόρους)

SQL Script

use bin
go
select 
        operation            as operation
    ,    context                as context
    ,    [transaction id]    as transaction_id
    ,    [page id]            as [file:pageidhex]
    ,    allocunitid            as account_id
    ,    [slot id]            as slot_id
    ,    convert(int,convert(varbinary,'0x' + right([page id], 8),1)) as page_id
from fn_dblog(null,null) 
where context = 'lcx_mark_as_ghost';
go
Transaction log results
operation context transaction_id [file:pageidhex] account_id slot_id page_id
LOP_DELETE_ROWS LCX_MARK_AS_GHOST 0000:0011cfc2 0001:0000397b 72057594049855488 4 14715
LOP_DELETE_ROWS LCX_MARK_AS_GHOST 0000:0011cfc2 0001:0000397b 72057594049855488 5 14715
LOP_DELETE_ROWS LCX_MARK_AS_GHOST 0000:0011cfc2 0001:0000397b 72057594049855488 6 14715
LOP_DELETE_ROWS LCX_MARK_AS_GHOST 0000:0011cfc2 0001:0000397c 72057594049855488 0 14716
LOP_DELETE_ROWS LCX_MARK_AS_GHOST 0000:0011cfc2 0001:0000397c 72057594049855488 1 14716
LOP_DELETE_ROWS LCX_MARK_AS_GHOST 0000:0011cfc2 0001:0000397c 72057594049855488 2 14716
LOP_DELETE_ROWS LCX_MARK_AS_GHOST 0000:0011cfc2 0001:0000397c 72057594049855488 3 14716
LOP_DELETE_ROWS LCX_MARK_AS_GHOST 0000:0011cfc2 0001:0000397c 72057594049855488 4 14716
LOP_DELETE_ROWS LCX_MARK_AS_GHOST 0000:0011cfc2 0001:0000397c 72057594049855488 5 14716
LOP_DELETE_ROWS LCX_MARK_AS_GHOST 0000:0011cfc2 0001:0000397c 72057594049855488 6 14716
LOP_DELETE_ROWS LCX_MARK_AS_GHOST 0000:0011cfc2 0001:0000397d 72057594049855488 0 14717
LOP_DELETE_ROWS LCX_MARK_AS_GHOST 0000:0011cfc2 0001:0000397d 72057594049855488 1 14717
LOP_DELETE_ROWS LCX_MARK_AS_GHOST 0000:0011cfc2 0001:0000397d 72057594049855488 2 14717
LOP_DELETE_ROWS LCX_MARK_AS_GHOST 0000:0011cfc2 0001:0000397d 72057594049855488 3 14717
LOP_DELETE_ROWS LCX_MARK_AS_GHOST 0000:0011cfc2 0001:0000397d 72057594049855488 4 14717
LOP_DELETE_ROWS LCX_MARK_AS_GHOST 0000:0011cfc2 0001:0000397d 72057594049855488 5 14717
LOP_DELETE_ROWS LCX_MARK_AS_GHOST 0000:0011cfc2 0001:0000397d 72057594049855488 6 14717
LOP_DELETE_ROWS LCX_MARK_AS_GHOST 0000:0011cfc2 0001:0000397e 72057594049855488 0 14718
LOP_DELETE_ROWS LCX_MARK_AS_GHOST 0000:0011cfc2 0001:0000397e 72057594049855488 1 14718
LOP_DELETE_ROWS LCX_MARK_AS_GHOST 0000:0011cfc2 0001:0000397e 72057594049855488 2 14718
LOP_DELETE_ROWS LCX_MARK_AS_GHOST 0000:0011cfc2 0001:0000397e 72057594049855488 3 14718
LOP_DELETE_ROWS LCX_MARK_AS_GHOST 0000:0011cfc2 0001:0000397e 72057594049855488 4 14718
LOP_DELETE_ROWS LCX_MARK_AS_GHOST 0000:0011cfc2 0001:0000397e 72057594049855488 5 14718
LOP_DELETE_ROWS LCX_MARK_AS_GHOST 0000:0011cfc2 0001:0000397e 72057594049855488 6 14718
LOP_DELETE_ROWS LCX_MARK_AS_GHOST 0000:0011cfc2 0001:0000397f 72057594049855488 0 14719

Αν κοιτάξουμε καλύτερα τα αποτελέσματα θα δούμε ότι μπορούμε να δούμε την σελίδα που περιέχει τα ghost records καθώς επίσης και το slot που αυτό είναι και αν κοιτάξουμε και το παραπάνω από αποτέλεσμα με την DBCC PAGE θα δούμε ότι έχουμε την ίδια πληροφορία.

Αν γυρίσουμε στην κανονική κατάσταση κλείνοντας το trace flag και περιμένουμε μερικά δευτερόλεπτα θα δούμε ότι πλέον δεν θα έχουμε ghost records αν εκτελέσουμε ξανά φυσικά τα παραπάνω βήματα.

Reset to normal state

Αν γυρίσουμε στην κανονική κατάσταση κλείνοντας το trace flag και περιμένουμε μερικά δευτερόλεπτα θα δούμε ότι πλέον δεν θα έχουμε ghost records αν εκτελέσουμε ξανά φυσικά τα παραπάνω βήματα.

SQL Script

DBCC TRACEOFF (661, -1)
GO

Monitoring ghost records

Φυσικά και δεν χρειάζεται να κάνουμε όλα τα προηγούμενα για να παρακολουθήσουμε τα ghost records. Η παραπάνω αναφορά ήταν αποκλειστικά για να δείξω τα internals.

Αν θέλουμε να βλέπουμε αν υπάρχουν ghost records αυτό μπορούμε να το κάνουμε με το παρακάτω query.

SQL Script

set transaction isolation level read uncommitted
select 
    db_name(database_id) as dbname
,    object_name(object_id) as obj_name
,    record_count
,    index_type_desc
,    ghost_record_count
from sys.dm_db_index_physical_stats(db_id(), object_id('t'), null, null , 'detailed') 
where index_level = 0

Example

SQL Script

DBCC TRACEON (661, -1)
GO

delete from t
where col1 between 1 and  20;
go
set transaction isolation level read uncommitted
select 
    db_name(database_id) as dbname
,    object_name(object_id) as obj_name
,    record_count
,    index_type_desc
,    ghost_record_count
from sys.dm_db_index_physical_stats(db_id(), object_id('t'), null, null , 'detailed') 
where index_level = 0;
go

DBCC TRACEOFF (661, -1)
GO

Στο παραπάνω παράδειγμα σβήνω 20 γραμμές και θα δω αυτές στο αποτέλεσμα

dbname obj_name record_count index_type_desc ghost_record_count
bin T 997978 CLUSTERED INDEX 20
bin T 997978 NONCLUSTERED INDEX 20

Trace Flag 661

Για τους σκοπούς των παραδειγμάτων του άρθρου αυτού ενεργοποίησα το TF661. Στην ουσία αυτό σταματάει την αυτόματη διαδικασία καθαρισμού των ghost records. Αυτό το trace flag σε καμία περίπτωση δεν είναι από αυτά που πρέπει να έχουμε σταθερά ενεργοποιημένα στο SQL Server instance μας. Η μόνη περίπτωση που θα μας οδηγήσει σε αυτό είναι αρκετά ακραία και θα πρέπει να είμαστε 1000% σίγουροι ότι η αυτόματη διαδικασία καθαρισμού των ghost records μα δημιουργεί πρόβλημα. Δεν θέλω να γράψω περισσότερα για αυτό καθώς στο product documentation λέει σαφέστατα το πότε και ποιες είναι οι προϋποθέσεις χρήσης του.

Summary

Σε αυτό το άρθρο είδαμε το τι είναι τα ghost records και πως internally ο SQL Server χειρίζεται αυτά. Η γνώση αυτή μπορεί να φαίνεται μεμονωμένα όχι τόσο σημαντική όμως είναι αρκετά καθώς μπορεί να βοηθήσει στην αντιμετώπιση προβλημάτων απόδοσης αλλά και καταστροφής

Antonios Chatzipavlis

Antonios Chatzipavlis

Antonios is a Data Solutions Consultant and Trainer. He has been working in IT since 1988. In his career, he has worked as senior developer, IT Manager, Solutions Architect and IT Consultant. Since 1995 he has been devoted on new technologies and software development tools, mainly by Microsoft, either by training company staff and colleagues or assisting them in design, development and implementation as a consultant or chief developer. He has focused in Databases and Data Science since 1995. He specialized in Microsoft SQL Server since version 6.0 in areas like SQL Server Internals, Database Design and Development, Business Intelligence and in 2010 he has started working with Azure Data Platform, NoSQL databases, Big Data Technologies and Machine Learning. He is an active member of many IT communities in Greece, answering colleagues' questions and writing articles in his web site. He is the owner of SQLschool.gr which is a community portal with a lot of information about Microsoft SQL Server. He has been a Microsoft Certified Trainer (MCT) since 2000. Microsoft honored him as MVP on Data Platform due to his activities in SQL Server since 2010. He holds a large number of Microsoft Certifications and Microsoft SQL Server Certifications since version 6.5.

Episode

First look: SQL Database in Microsoft Fabric

image

More Episodes...

Tip

What's New in SQL Server 2022 - Episodes

More Tips...

Become a member

If you want to receive updates from us become a member to our community.

Connect

Explore

Learn


sqlschool.gr © 2010-2024 All rights reserved

This site uses cookies for operational and analytics purposes only. By continuing to browse this site, you agree to their use.