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

ESTE TÓPICO APLICA-SE A: simSQL Server (a partir de 2008)simBanco de Dados SQL do Microsoft AzuresimAzure SQL Data Warehouse simParallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Retorna o número de identificação (ID) do banco de dados.Returns the database identification (ID) number.

Ícone de link do tópico Convenções da sintaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxeSyntax

DB_ID ( [ 'database_name' ] )   

ArgumentosArguments

'database_name''database_name'
É o nome do banco de dados usado para retornar a ID do banco de dados correspondente.Is the database name used to return the corresponding database ID. Database_Name é sysname.database_name is sysname. Se database_name for omitido, a ID do banco de dados atual será retornada.If database_name is omitted, the current database ID is returned.

Tipos de retornoReturn types

intint

PermissõesPermissions

Se o chamador de DB_ID não é o proprietário do banco de dados e o banco de dados não mestre ou tempdb, são as permissões mínimas necessárias para ver a linha correspondente Permissão de nível de servidor ALTER ANY DATABASE ou VIEW ANY DATABASE ou permissão CREATE DATABASE no mestre banco de dados.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. O banco de dados ao qual o chamador está conectado sempre pode ser exibido em sys.databases.The database to which the caller is connected can always be viewed in sys.databases.

Importante

Por padrão, a função pública tem a permissão VIEW ANY DATABASE, permitindo que todos os logons ver informações de banco de dados.By default, the public role has the VIEW ANY DATABASE permission, allowing all logins to see database information. Para bloquear um logon da capacidade de detectar um banco de dados, REVOGAR a permissão VIEW ANY DATABASE de pública ou negar a permissão VIEW ANY DATABASE para logons individuais.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.

ExemplosExamples

A.A. Retornando a ID do banco de dados atualReturning the database ID of the current database

O exemplo a seguir retorna a ID do banco de dados atual.The following example returns the database ID of the current database.

SELECT DB_ID() AS [Database ID];  
GO  

B.B. Retornando a ID de um banco de dados especificadoReturning the database ID of a specified database

O exemplo a seguir retorna a ID de banco de dados do AdventureWorks2012AdventureWorks2012 banco de dados.The following example returns the database ID of the AdventureWorks2012AdventureWorks2012 database.

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

C.C. Usando DB_ID para especificar o valor de um parâmetro de função do sistemaUsing DB_ID to specify the value of a system function parameter

O exemplo a seguir usa DBID para retornar a ID de banco de dados do AdventureWorks2012AdventureWorks2012 banco de dados na função de sistema sys.dm_db \ index _ operational _ stats.The following example uses DBID to return the database ID of the AdventureWorks2012AdventureWorks2012 database in the system function sys.dm_db\index_operational_stats. A função aceita um ID de banco de dados como o primeiro parâmetro.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  

Exemplos: Azure SQL Data WarehouseAzure SQL Data Warehouse e Parallel Data WarehouseParallel Data WarehouseExamples: Azure SQL Data WarehouseAzure SQL Data Warehouse and Parallel Data WarehouseParallel Data Warehouse

D.D. Retorna a ID do banco de dados atualReturn the ID of the current database

O exemplo a seguir retorna a ID do banco de dados atual.The following example returns the database ID of the current database.

SELECT DB_ID();  

E.E. Retorna a ID de um banco de dados nomeado.Return the ID of a named database.

O exemplo a seguir retorna a ID de banco de dados do banco de dados AdventureWorksDW2012.The following example returns the database ID of the AdventureWorksDW2012 database.

SELECT DB_ID('AdventureWorksPDW2012');  

Consulte tambémSee also

DB_NAME ( Transact-SQL )DB_NAME (Transact-SQL)
Funções de metadados ( 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)