删除行后重置 SQL Server 身份种子
具有自动递增主键的 SQL Server 表使用身份种子(身份列的初始值),该种子随着每条新记录而增加。 这确保了身份列中的唯一性和升序。
但是,删除记录可能会破坏此顺序,可能导致自动生成的索引列未对齐。如果身份列在其他地方用作外键,这尤其成问题。
删除后恢复身份种子是使用DBCC CHECKIDENT
命令实现的。
此命令重置指定表的身份计数器。 该命令的语法是:
<code class="language-sql">DBCC CHECKIDENT (table_name [, { NORESEED | { RESEED [, new_reseed_value ]}}]) [ WITH NO_INFOMSGS ]</code>
例如,将TestTable
表的标识列重置为0:
<code class="language-sql">DBCC CHECKIDENT ('[TestTable]', RESEED, 0); GO</code>
重要说明:虽然以前在旧版 Azure SQL 数据库版本中不受支持,但 DBCC CHECKIDENT
现在已完全正常运行。
身份种子重置持续出现问题可能需要联系 Microsoft 支持人员。
以上是删除行后如何重置 SQL Server 身份种子?的详细内容。更多信息请关注PHP中文网其他相关文章!