Saya berharap seseorang dapat mengarahkan saya ke arah yang benar untuk hal ini. Inilah pekerjaan saya sejauh ini.
SELECT * FROM sys.identity_columns
adalah tampilan sistem yang memberikan "last_value" tetapi definisi untuk tampilan itu menggunakan fungsi internal IdentityProperty(colName, 'LastValue')
- jadi itu jalan buntu (tidak menariknya dari tabel sistem di sana).
Di mana-mana (saya telah melihat) di internet menyarankan menggunakan DBCC IDENT_...
perintah untuk mengungkap nilai tetapi itu masih membuat saya dalam kegelapan di mana itu sebenarnya disimpan.
Jadi, saya tiba di mencari halaman individual dengan DBCC PAGE(TestDB,1,1325,3)
melawan harness pengujian saya db dan menggunakan RESEED
perintah untuk kembali antara nilai 10 dan 12.
Dalam melakukan ini, saya perhatikan nilai hex pada IAM: Header
, IAM: Single Page Allocations
dan IAM: Extent Alloc Status Slot 1
semua berubah. (Dan menyadari bahwa mereka berubah secara berkala bersamaan dengan nilai bUse1 yang berubah secara bertahap juga).
Jadi jalan buntu yang lain dan saya kehabisan ide. Di mana lagi saya bisa mencari?
Saya menjalankan SQL Server 2014. Saya sangat haus akan pengetahuan internal dan belum menemukan sesuatu yang sulit dipahami seperti ini. Ini menarik perhatian saya karena secara teori, itu (nilai absolut) disimpan di suatu tempat dan harus (bisa dibilang) dapat dilacak. Dalam pencarian saya untuk menggali lokasi data / meta data yang disimpan secara internal, nilai khusus ini menurut saya sangat sulit dipahami. Saya menduga / berharap seseorang akan datang dan memberi tahu saya, Anda bisa mendapatkannya DBCC PAGE
tetapi saya mencari di tempat yang salah.
sumber