Spero che qualcuno possa indicarmi la giusta direzione su questo. Ecco i miei allenamenti finora.
SELECT * FROM sys.identity_columnsè una vista di sistema che fornisce "last_value" ma la definizione per quella vista utilizza una funzione interna, IdentityProperty(colName, 'LastValue')quindi è un vicolo cieco (non estraendolo da una tabella di sistema).
Ovunque (ho guardato) su Internet suggerisce di usare i DBCC IDENT_...comandi per scoprire il valore, ma questo mi lascia ancora nell'oscurità su dove è effettivamente memorizzato.
Quindi, sono arrivato a cercare le singole pagine con DBCC PAGE(TestDB,1,1325,3)contro il mio cablaggio di test db e usando il RESEEDcomando per ridimensionare tra i valori 10 e 12.
Nel fare questo, ho notato che i valori esadecimali sul IAM: Header, IAM: Single Page Allocationse IAM: Extent Alloc Status Slot 1tutto è cambiato. (E realizzato che cambiano periodicamente comunque insieme al valore bUse1 che cambia anche in modo incrementale da solo).
Quindi un altro vicolo cieco e sono completamente senza idee. Dove altro posso cercare?
Sto eseguendo SQL Server 2014. Ho una sete insaziabile di conoscenza interna e devo ancora imbattermi in qualcosa di così sfuggente. Ha attirato la mia attenzione perché in teoria, (un valore assoluto) è memorizzato da qualche parte e dovrebbe (probabilmente) essere localizzabile. Nella mia ricerca di scoprire posizioni di dati / metadati memorizzati internamente, questo particolare valore mi sembra particolarmente sfuggente. Sto indovinando / sperando che qualcuno venga e me lo dica, puoi farcela DBCC PAGEma stavo guardando nel posto sbagliato.