Database IDs
Posted
by fatherjack
on Simple Talk
See other posts from Simple Talk
or by fatherjack
Published on Wed, 27 Jun 2012 14:41:07 +0000
Indexed on
2012/06/27
15:23 UTC
Read the original article
Hit count: 304
Just a quick post, mainly to test out the new blog format but related to a question on the #sqlhelp hashtag.
The question came from Justin Dearing (@zippy1981) as:
So I take it database_id isn’t an ever incrementing value.
#sqlhelp
When a new database is created it is given the lowest available ID. This either is in a gap in IDs where a database has been dropped or the database ID is incremented by one from the highest current ID if there are no gaps to fill.
To see this in action, connect to your sandbox server and try this:
USE MASTER GO
CREATE DATABASE cherry GO
USE cherry GO
SELECT DB_ID() GO CREATE DATABASE grape GO
USE grape GO
SELECT DB_ID() GO
CREATE DATABASE melon GO
USE melon GO
SELECT DB_ID() GO
USE MASTER GO
DROP DATABASE grape GO
CREATE DATABASE kiwi GO USE kiwi GO
SELECT DB_ID() GO USE MASTER GO
DROP DATABASE cherry DROP DATABASE melon DROP DATABASE kiwi
You should get an incrementing series of database IDs as the databases are created until the last one where the new database gets allocated the ID that is missing because one was dropped.
© Simple Talk or respective owner