Hai diverse domande sulla struttura interna di SQL Server.
Supponiamo che abbiamo una tabella in un database.
Le pagine SGAM e GAM tengono traccia delle estensioni condivise e uniformi all'interno di un singolo intervallo GAM (~ 4 GB) e ci aiutano a trovare il tipo appropriato di estensione durante l'allocazione di pagine / estensioni (inizialmente le prime 8 pagine sono allocate da estensioni miste e le posizioni di tali pagine sono registratore alle pagine IAM, e successivamente dalle estensioni GAM (estensioni uniformi) e queste informazioni sono memorizzate nella pagina IAM concatenata successiva).
Diciamo, le pagine per la tabella sono state allocate e le dimensioni della tabella sono più di 8 pagine e, qualche tempo dopo, le righe sono state eliminate, lasciando spazio riutilizzabile. In che modo SQL Server sa che le estensioni dispongono di spazio libero?
Le pagine contengono informazioni sulla dimensione dello spazio libero, ma è troppo tempo per controllare ogni pagina. I bit nelle pagine SGAM e GAM non ci dicono nulla a parte che l'estensione è allocata o ha alcune pagine gratuite (l'intera pagina è gratuita, non parzialmente).
Intestazione del file e pagine SGAM & GAM e IAM sono tra le prime pagine di un file. Quale struttura di dati indica effettivamente loro?