|
Posted by Bill E. on 08/19/07 13:35
That's fine Erland, but you had to reseed the identity in order to get
the next value to fall below an existing one.
I'll look into it but I seriously doubt that anyone did this. Is
there another way that this could happen?
For example, a sudden shutdown of the server or some kind of error in
a DTS process?
Bill
Erland Sommarskog wrote:
> Bill E. (billmiami2@netscape.net) writes:
> > I'm aware of this and it certainly is easy to fix, but it doesn't give
> > me insight into how this could have happened in the first place.
>
> Look at this:
>
> CREATE TABLE ident (a int IDENTITY (1, 1) PRIMARY KEY,
> b char(2) NOT NULL UNIQUE)
> go
> INSERT ident (b) VALUES ('AB')
> INSERT ident (b) VALUES ('XZ')
> INSERT ident (b) VALUES ('AB')
> INSERT ident (b) VALUES ('AB')
> INSERT ident (b) VALUES ('AB')
> INSERT ident (b) VALUES ('AB')
> INSERT ident (b) VALUES ('AB')
> INSERT ident (b) VALUES ('AB')
> INSERT ident (b) VALUES ('AB')
> INSERT ident (b) VALUES ('CD')
> go
> DBCC CHECKIDENT(ident, RESEED, 5)
> go
> INSERT ident(b) VALUES ('EF')
> SELECT ident_current('ident'), a, b FROM ident ORDER BY a
> go
> DROP TABLE ident
>
> --
> Erland Sommarskog, SQL Server MVP, esquel@sommarskog.se
>
> Books Online for SQL Server 2005 at
> http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/books.mspx
> Books Online for SQL Server 2000 at
> http://www.microsoft.com/sql/prodinfo/previousversions/books.mspx
Navigation:
[Reply to this message]
|