DB_ID (Transact-SQL)

Returns the database identification (ID) number.

Topic link icon Transact-SQL Syntax Conventions

Syntax

DB_ID ( [ 'database_name' ] ) 

Arguments

  • 'database_name'
    Is the database name used to return the corresponding database ID. database_name is sysname. If database_name is omitted, the current database ID is returned.

Return Types

int

Examples

A. Returning the database ID of the current database

The following example returns the database ID of the current database.

SELECT DB_ID() AS [Database ID];
GO

B. Returning the database ID of a specified database

The following example returns the database ID of the AdventureWorks2012  database.

SELECT DB_ID(N'AdventureWorks2012') AS [Database ID];
GO

C. Using DB_ID to specify the value of a system function parameter

The following example uses DB_ID to return the database ID of the AdventureWorks2012 database in the system function sys.dm_db_index_operational_stats. The function takes a database ID as the first parameter.

DECLARE @db_id int;
DECLARE @object_id int;
SET @db_id = DB_ID(N'AdventureWorks2012');
SET @object_id = OBJECT_ID(N'AdventureWorks2012.Person.Address');
IF @db_id IS NULL 
  BEGIN;
    PRINT N'Invalid database';
  END;
ELSE IF @object_id IS NULL
  BEGIN;
    PRINT N'Invalid object';
  END;
ELSE
  BEGIN;
    SELECT * FROM sys.dm_db_index_operational_stats(@db_id, @object_id, NULL, NULL);
  END;
GO

See Also

Reference

DB_NAME (Transact-SQL)

Metadata Functions (Transact-SQL)

sys.databases (Transact-SQL)

sys.dm_db_index_operational_stats (Transact-SQL)