2010-01-06 4 views
1

J'ai un dossier que je considérais en utilisant la commande page DBCC. Voici à quoi il ressemble:Structure d'un dossier qui a une colonne de texte

Memory Dump @0x00E5C060 

00000000: 30000800 01000000 02000001 001f8000 †0...............   
00000010: 00d10700 0000009a 00000001 000000††††...............   

Slot 0 Column 0 Offset 0x4 Length 4 

col1 = 1        

col2 = [Textpointer] Slot 0 Column 1 Offset 0xf Length 16 

TextTimeStamp = 131137536   RowId = (1:154:0)  

ici col1 est de type int et col2 est de type ntext.
Je sais que les valeurs de colonne ntext sont stockées dans la page de texte.

Mais je ne sais pas comment interpréter les informations ci-dessus col2, à savoir

col2 = [Textpointer] Slot 0 Column 1 Offset 0xf Length 16 

TextTimeStamp = 131137536   RowId = (1:154:0)  

Quelqu'un peut-il me aider à comprendre cela?


Merci pour la réponse,

"col2 = [Textpointer] Slot 0 Column 1 Offset 0xf Length 16" 

00000000: 30000800 01000000 02000001 001f8000 †0............... 
00000010: 00d10700 0000009a 00000001 000000††††............... 

En cela, il est dit que la longueur de l'info est 16. Ses valeurs hexadécimales équivalentes sont:

00 00d10700 0000009a 00000001 000000††† 

je peux trouver des informations sur

TextTimeStamp = 131137536   RowId = (1:154:0)  

dans les valeurs hexadécimales ci-dessus. Mais comment puis-je trouver des informations que c'est un pointeur de texte?

Par ailleurs, dans un autre cas, je suis tombé sur [Inline Blob root] pour une valeur de type de données nvarchar.

Voilà comment il a regardé:

col6= [BLOB Inline Root] Slot 1 Column 38 Offset 0x16d Length 24 

Level = 0       Unused = 0       UpdateSeq = 1 
TimeStamp = 1969553408    
Link 0 

ici si vous remarquez la longueur est 24 contrairement à l'instance précédente (pointeur de texte) Il contient des informations supplémentaires ainsi que la séquence de mise à jour est UpdateSeq = 1 .

Comment puis-je distinguer entre les deux instances en regardant la séquence d'octets?

Répondre

Questions connexes