有人向我发送了一个数据库(通过 .mdf
和 .ldf
文件),我将其附加到服务器上(没有错误、警告等)并且虽然我没有证据(因为我无权访问数据库来自的服务器),但主键(身份)值似乎与原来的不同。此外,它们似乎是“重置”的 - 所有主键值都从 1 开始,而基于外键引用,很明显这是不正确的(例如,只有 1 行的表的主键值为 1,但是引用它的表引用值 7)。
虽然我不太关心,但我很好奇为什么会发生这种情况(如果有解释的话)?
我真正需要的是弄清楚是否有办法附加数据库并保留正确的值?
编辑: 据我所知,外键引用设置正确。
以下是一些屏幕截图:
最佳答案
自从存在 FK 以来,我能想到的就是他们一开始就有一个糟糕的设计,然后有人意识到他们需要 FK,但已经有他们不想删除的坏数据,因此创建了不带检查的 FK
所有孤立记录都是早期 ID 号吗?
关于sql - 为什么附加数据库时 "identity"列值不正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6311851/