DB_ID (Transact-SQL)DB_ID (Transact-SQL)

CETTE RUBRIQUE S’APPLIQUE À :ouiSQL Server (à partir de la version 2008)ouiAzure SQL DatabaseouiAzure SQL Data Warehouse ouiParallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Retourne le numéro d'identification (ID) de la base de données.Returns the database identification (ID) number.

Icône de lien de rubrique Conventions de la syntaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SyntaxeSyntax

DB_ID ( [ 'database_name' ] )   

ArgumentsArguments

'nom_base_de_données''database_name'
Nom de base de données utilisé pour retourner le numéro d'identification (ID) de la base de données correspondante.Is the database name used to return the corresponding database ID. database_name est sysname.database_name is sysname. Si nom_base_de_données est omis, l’ID de base de données actuel est retourné.If database_name is omitted, the current database ID is returned.

Types de retourReturn types

intint

PermissionsPermissions

Si l’appelant de DB_ID n’est pas le propriétaire de la base de données et la base de données n’est pas master ou tempdb, les autorisations minimales requises pour consulter la ligne correspondante sont ALTER ANY DATABASE ou VIEW ANY DATABASE au niveau du serveur, ou l’autorisation CREATE DATABASE dans le master base de données.If the caller of DB_ID is not the owner of the database and the database is not master or tempdb, the minimum permissions required to see the corresponding row are ALTER ANY DATABASE or VIEW ANY DATABASE server-level permission, or CREATE DATABASE permission in the master database. La base de données à laquelle l'appelant est connecté peut toujours être vue dans sys.databases.The database to which the caller is connected can always be viewed in sys.databases.

Important

Par défaut, le rôle public a l’autorisation VIEW ANY DATABASE, ce qui permet des connexions d’accès aux informations de base de données.By default, the public role has the VIEW ANY DATABASE permission, allowing all logins to see database information. Pour bloquer une connexion à partir de la capacité de détecter une base de données, RÉVOQUER l’autorisation VIEW ANY DATABASE public, ou refuser l’autorisation VIEW ANY DATABASE pour des connexions individuelles.To block a login from the ability to detect a database, REVOKE the VIEW ANY DATABASE permission from public, or DENY the VIEW ANY DATABASE permission for individual logins.

ExemplesExamples

A.A. Retour de l'ID de la base de données activeReturning the database ID of the current database

L'exemple suivant retourne l'ID de la base de données active.The following example returns the database ID of the current database.

SELECT DB_ID() AS [Database ID];  
GO  

B.B. Retour de l'ID d'une base de données spécifiqueReturning the database ID of a specified database

L’exemple suivant retourne l’ID de base de données de la AdventureWorks2012AdventureWorks2012 base de données.The following example returns the database ID of the AdventureWorks2012AdventureWorks2012 database.

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

C.C. Utilisation de DB_ID pour spécifier la valeur d'un paramètre de fonction systèmeUsing DB_ID to specify the value of a system function parameter

L’exemple suivant utilise DB_ID pour retourner l’ID de base de données de la AdventureWorks2012AdventureWorks2012 base de données dans la fonction système sys.dm_db_index_operational_stats.The following example uses DB_ID to return the database ID of the AdventureWorks2012AdventureWorks2012 database in the system function sys.dm_db_index_operational_stats. Le premier paramètre de la fonction est un ID de base de données.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  

Exemples : Azure SQL Data WarehouseAzure SQL Data Warehouse et Parallel Data WarehouseParallel Data WarehouseExamples: Azure SQL Data WarehouseAzure SQL Data Warehouse and Parallel Data WarehouseParallel Data Warehouse

D.D. Retourner l’ID de la base de données en coursReturn the ID of the current database

L'exemple suivant retourne l'ID de la base de données active.The following example returns the database ID of the current database.

SELECT DB_ID();  

E.E. Retourne l’ID de base de données nommée.Return the ID of a named database.

L’exemple suivant retourne l’ID de base de données de la base de données AdventureWorksDW2012.The following example returns the database ID of the AdventureWorksDW2012 database.

SELECT DB_ID('AdventureWorksPDW2012');  

Voir aussiSee also

Db_name ( Transact-SQL )DB_NAME (Transact-SQL)
Fonctions de métadonnées ( Transact-SQL )Metadata Functions (Transact-SQL)
sys.databases (Transact-SQL)sys.databases (Transact-SQL)
sys.dm_db_index_operational_stats (Transact-SQL)sys.dm_db_index_operational_stats (Transact-SQL)