我希望有人可以为我指出正确的方向。到目前为止,这是我的工作。
SELECT * FROM sys.identity_columns
是一个系统视图,它给出了“last_value”,但该视图的定义使用了一个内部函数IdentityProperty(colName, 'LastValue')
- 所以这是一个死胡同(不是从那里的系统表中提取它)。
互联网上的任何地方(我看过)都建议使用DBCC IDENT_...
命令来揭示价值,但这仍然让我对它的实际存储位置一无所知。
因此,我开始DBCC PAGE(TestDB,1,1325,3)
根据我的测试工具数据库搜索各个页面,并使用该RESEED
命令在值 10 和 12 之间重新设定种子。
在这一过程中,我注意到的十六进制值IAM: Header
,IAM: Single Page Allocations
并且IAM: Extent Alloc Status Slot 1
一切都改变了。(并且意识到它们无论如何都会随着bUse1值定期更改,而bUse1值也会自行递增)。
所以另一个死胡同,我完全没有想法。我还能在哪里搜索?
我正在运行 SQL Server 2014。我对内部知识有着永不满足的渴望,但还没有遇到过像这样难以捉摸的东西。它引起了我的注意,因为从理论上讲,它(绝对值)存储在某处并且应该(可以说)是可定位的。在我寻找内部存储数据/元数据的位置的过程中,这个特殊的价值让我觉得特别难以捉摸。我猜/希望有人会过来告诉我,你可以得到它,DBCC PAGE
但我找错了地方。