SQL Server 中的数据库 ID 可以为负数吗?
我知道您总共可以拥有 32767 个(对于 32 位和 64 位)(最大容量 SQL Server)
我知道前几个数据库 ID 是为 master、model、msdb 和 tempdb 保留的,而 32767 是隐藏的系统资源数据库。
我从未见过负面的数据库 ID,但我想确认这是不可能的。
简而言之,他们可以,但他们几乎从来没有。
在主数据库中,sysdatabases 表中的 id 列被定义为具有种子 1 和增量 1 的标识列。这意味着,默认情况下,SQL Server 将始终为您创建的任何数据库分配一个正 DBID。
但是,可以更改,您可以为标识列指定负种子和增量,因此您可以将 sysdatabases 表的标识列重置为 -1,-1,您创建的下一个数据库将具有 ID -1,然后 - 2 等。 -1 是一个完全有效的 16 位整数值,因此身份字段应该没有问题。您可能会遇到 SQL Server 通过检查最大 DBID 天真地检查它管理的 DB 数量的问题。我不希望 MSS 以如此愚蠢的方式进行检查,但奇怪的事情发生了,而且我从未见过有超过几十个 DB 的实例。
| 归档时间: |
|
| 查看次数: |
3872 次 |
| 最近记录: |