Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
Azure Synapse Analytics
Elemzési platformrendszer (PDW)
SQL Analytics-végpont a Microsoft Fabricben
Raktár a Microsoft Fabricben
SQL-adatbázis a Microsoft Fabricben
Ez a függvény egy megadott adatbázis adatbázisazonosítási (azonosító) számát adja vissza.
Transact-SQL szintaxis konvenciók
Szemantika
DB_ID ( [ 'database_name' ] )
Érvek
"database_name"
Annak az adatbázisnak a neve, amelynek az adatbázis-azonosítószáma DB_ID vissza fog térni. Ha a hívás DB_ID kihagyja database_name, DB_ID az aktuális adatbázis azonosítóját adja vissza.
Visszatérési típusok
int
Megjegyzések
DB_ID csak az aktuális adatbázis adatbázis-azonosítójának visszaadására használható az Azure SQL Database-ben. NULL értéket ad vissza, ha a megadott adatbázisnév nem az aktuális adatbázis.
Megjegyzés:
Az Azure SQL Database-ben előfordulhat, hogy nem ugyanazt az értéket adja vissza, DB_ID mint a database_id és a sys.database_service_objectives oszlop. Ez a két nézet a logikai kiszolgálón belül egyedi értékeket ad vissza database_id , míg DB_ID a database_id többi rendszernézet oszlopa egyedi értékeket ad vissza egyetlen adatbázisban vagy rugalmas készletben.
Engedélyek
Ha a hívó DB_ID nem rendelkezik egy adott nem főkiszolgálói vagy nem tempdb-adatbázissal , ALTER ANY DATABASE vagy VIEW ANY DATABASE legalább kiszolgálószintű engedélyekre van szükség a megfelelő DB_ID sor megtekintéséhez. A főadatbázishoz DB_ID legalább engedélyre van szükség.CREATE DATABASE Az adatbázis, amelyhez a hívó csatlakozik, mindig megjelenik a sys.databases-ben.
Fontos
Alapértelmezés szerint a nyilvános szerepkör rendelkezik az VIEW ANY DATABASE engedéllyel, amely lehetővé teszi az összes bejelentkezés számára az adatbázis-információk megtekintését. Annak érdekében, hogy a bejelentkezés ne észlelje az adatbázist, REVOKE a VIEW ANY DATABASE nyilvános DENY vagy az VIEW ANY DATABASE egyes bejelentkezések engedélyét.
Példák
Egy. Az aktuális adatbázis adatbázis-azonosítójának visszaadása
Ez a példa az aktuális adatbázis adatbázis-azonosítóját adja vissza.
SELECT DB_ID() AS [Database ID];
GO
B. Adott adatbázis adatbázis-azonosítójának visszaadása
Ez a példa az adatbázis adatbázis-azonosítóját AdventureWorks2025 adja vissza.
SELECT DB_ID(N'AdventureWorks2008R2') AS [Database ID];
GO
C. Rendszerfüggvény paraméter értékének megadása DB_ID használatával
Ez a példa az adatbázis adatbázis-azonosítóját DB_ID adja AdventureWorks2025 vissza a rendszerfüggvénybensys.dm_db_index_operational_stats. A függvény első paraméterként egy adatbázis-azonosítót vesz fel.
DECLARE @db_id INT;
DECLARE @object_id INT;
SET @db_id = DB_ID(N'AdventureWorks2022');
SET @object_id = OBJECT_ID(N'AdventureWorks2022.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
Példák: Azure Synapse Analytics and Analytics Platform System (PDW)
D. Az aktuális adatbázis azonosítójának visszaadása
Ez a példa az aktuális adatbázis adatbázis-azonosítóját adja vissza.
SELECT DB_ID();
E. Adja vissza egy elnevezett adatbázis azonosítóját.
Ez a példa az AdventureWorksDW2022 adatbázis-azonosítóját adja vissza.
SELECT DB_ID('AdventureWorksPDW2012');
Lásd még
DB_NAME (Transact-SQL)
Metaadatfüggvények (Transact-SQL)
sys.databases (Transact-SQL)
sys.dm_db_index_operational_stats (Transact-SQL)