Sdílet prostřednictvím


DATABASEPROPERTYEX (Transact-SQL)

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)databáze SQL v Microsoft Fabric

Pro zadanou databázi v SYSTÉMU SQL Server DATABASEPROPERTYEX vrátí funkce aktuální nastavení zadané možnosti nebo vlastnosti databáze.

Transact-SQL konvence syntaxe

Syntaxe

DATABASEPROPERTYEX ( database , property )

Argumenty

databáze

Výraz určující název databáze, pro kterou DATABASEPROPERTYEX se vrátí pojmenované informace o vlastnosti. databáze má datový typ nvarchar(128 ).

Pro službu SQL Database vyžaduje DATABASEPROPERTYEX název aktuální databáze. Vrátí NULL pro všechny vlastnosti, pokud je zadaný jiný název databáze.

vlastnost

Výraz určující název vlastnosti databáze, která se má vrátit. vlastnost má datový typ varchar(128) a podporuje jednu z hodnot v této tabulce:

Poznámka:

Pokud databáze ještě nezačala, volání, která se DATABASEPROPERTYEX mají vrátit NULL , pokud DATABASEPROPERTYEX tyto hodnoty načte přímý přístup k databázi místo načtení z metadat. Databáze s AUTO_CLOSE nastavenou ONna hodnotu nebo jinak offline je definována jako nezahajovaná.

Vlastnictví Popis Vrácená hodnota
Collation

Datový typ: nvarchar(128)
Výchozí název kolace pro databázi Název kolace. Pokud NULLdatabáze není spuštěná.
ComparisonStyle

Datový typ: int
Styl porovnání windows kolace. K vytvoření rastrového obrázku pro dokončenou ComparisonStyle hodnotu použijte následující hodnoty stylu:

- 1: Ignorovat případ
- 2: Ignorovat zvýraznění
- 65536: Ignorovat kana
- 131072: Ignorovat šířku

Výchozí hodnota 196609 je například výsledkem kombinování případu ignorování, ignorování kana a ignorování možností šířky .
Vrátí styl porovnání.

Vrátí 0 pro všechny binární kolace.
Edition

Datový typ: nvarchar(64)
Databázová edice nebo úroveň služby. - General Purpose
- Business Critical
- Basic
- Standard
- Premium
- System (pro master databázi)
- FabricSQLDB: SQL databáze v Microsoft Fabric
- NULL: Databáze není spuštěná.

Platí na: Azure SQL Database, SQL database in Microsoft Fabric, Azure Synapse Analytics.
IsAnsiNullDefault

Datový typ: int
Databáze dodržuje pravidla ISO pro povolení NULL hodnot. - 1:Pravdivý
- 0:Falešný
- NULL: Neplatný vstup
IsAnsiNullsEnabled

Datový typ: int
Všechna porovnání s vyhodnocením na neznámou NULL . - 1:Pravdivý
- 0:Falešný
- NULL: Neplatný vstup
IsAnsiPaddingEnabled

Datový typ: int
Řetězce jsou před porovnáním nebo vložením vycpané na stejnou délku. - 1:Pravdivý
- 0:Falešný
- NULL: Neplatný vstup
IsAnsiWarningsEnabled

Datový typ: int
SQL Server vydává chybové zprávy nebo chybové zprávy, když dojde ke standardním chybám. - 1:Pravdivý
- 0:Falešný
- NULL: Neplatný vstup
IsArithmeticAbortEnabled

Datový typ: int
Dotazy končí, když během provádění dotazu dojde k chybě přetečení nebo dělení nulou. - 1:Pravdivý
- 0:Falešný
- NULL: Neplatný vstup
IsAutoClose

Datový typ: int
Databáze se po ukončení posledního uživatele čistě vypne a uvolní prostředky. - 1:Pravdivý
- 0:Falešný
- NULL: Neplatný vstup
IsAutoCreateStatistics

Datový typ: int
Optimalizátor dotazů vytvoří podle potřeby statistiku s jedním sloupcem, aby se zlepšil výkon dotazů. - 1:Pravdivý
- 0:Falešný
- NULL: Neplatný vstup
IsAutoCreateStatisticsIncremental

Datový typ: int
Automaticky vytvořené statistiky s jedním sloupcem jsou přírůstkové, pokud je to možné. - 1:Pravdivý
- 0:Falešný
- NULL: Neplatný vstup

platí pro: SQL Server 2014 (12.x) a novější verze.
IsAutoShrink

Datový typ: int
Databázové soubory jsou kandidáty pro automatické pravidelné zmenšování. - 1:Pravdivý
- 0:Falešný
- NULL: Neplatný vstup
IsAutoUpdateStatistics

Datový typ: int
Pokud dotaz používá potenciálně zastaralé stávající statistiky, optimalizátor dotazů tyto statistiky aktualizuje. - 1:Pravdivý
- 0:Falešný
- NULL: Vstup není platný.
IsClone

Datový typ: int
Databáze je pouze schéma a statistika kopie uživatelské databáze vytvořené pomocí DBCC CLONEDATABASE. - 1:Pravdivý
- 0:Falešný
- NULL: Neplatný vstup

Platí pro: SQL Server 2014 (12.x) SP2 a novější verze.
IsCloseCursorsOnCommitEnabled

Datový typ: int
Při potvrzení transakce jsou všechny otevřené kurzory uzavřeny. - 1:Pravdivý
- 0:Falešný
- NULL: Neplatný vstup
IsDatabaseSuspendedForSnapshotBackup

Datový typ: int
Databáze je pozastavená. - 1:Pravdivý
- 0:Falešný
- NULL: Neplatný vstup
IsFulltextEnabled

Datový typ: int
Databáze je povolená pro fulltextové a sémantické indexování. - 1:Pravdivý
- 0:Falešný
- NULL: Vstup není platný.

platí pro: SQL Server 2008 (10.0.x) a novější verze.

Poznámka: Hodnota této vlastnosti nyní nemá žádný vliv. Uživatelské databáze jsou vždy povolené pro fulltextové vyhledávání. Budoucí verze SQL Serveru tuto vlastnost odebere. Nepoužívejte tuto vlastnost v nové vývojové práci a upravte aplikace, které tuto vlastnost aktuálně používají co nejdříve.
IsInStandBy

Datový typ: int
Databáze je online jako jen pro čtení s povoleným protokolem obnovení. - 1:Pravdivý
- 0:Falešný
- NULL: Neplatný vstup
IsLocalCursorsDefault

Datový typ: int
Ve výchozím nastavení jsou deklarace kurzoru nastaveny na LOCAL. - 1:Pravdivý
- 0:Falešný
- NULL: Neplatný vstup
IsMemoryOptimizedElevateToSnapshotEnabled

Datový typ: int
K tabulkám optimalizovaným pro paměť se přistupuje pomocí SNAPSHOT izolace, pokud je nastavení TRANSACTION ISOLATION LEVEL relace nastaveno na READ COMMITTEDhodnotu , READ UNCOMMITTEDnebo nižší úroveň izolace. - 1:Pravdivý
- 0:Falešný

platí pro: SQL Server 2014 (12.x) a novější verze.
IsMergePublished

Datový typ: int
SQL Server podporuje publikování databázových tabulek pro slučovací replikaci, pokud je nainstalována replikace. - 1:Pravdivý
- 0:Falešný
- NULL: Neplatný vstup
IsNullConcat

Datový typ: int
Operand zřetězení null dává NULLhodnotu . - 1:Pravdivý
- 0:Falešný
- NULL: Neplatný vstup
IsNumericRoundAbortEnabled

Datový typ: int
Chyby se generují, když ve výrazech dojde ke ztrátě přesnosti. - 1:Pravdivý
- 0:Falešný
- NULL: Neplatný vstup
IsOptimizedLockingOn

Datový typ: int
Optimalizované uzamčení je pro databázi povolené. - 1:Pravdivý
- 0:Falešný
- NULL: Není k dispozici

Platí na: SQL Server 2025 (17.x) a pozdější verze, Azure SQL Database, Azure SQL ManagedInstance AUTD a SQL databázi v Microsoft Fabric.
IsParameterizationForced

Datový typ: int
PARAMETERIZATION možnost databáze SET je FORCED. - 1:Pravdivý
- 0:Falešný
- NULL: Neplatný vstup
IsQuotedIdentifiersEnabled

Datový typ: int
U identifikátorů jsou povoleny dvojité uvozovky. - 1:Pravdivý
- 0:Falešný
- NULL: Neplatný vstup
IsPublished

Datový typ: int
Pokud je nainstalována replikace, SQL Server podporuje publikování tabulek databáze pro snímkovou nebo transakční replikaci. - 1:Pravdivý
- 0:Falešný
- NULL: Neplatný vstup
IsRecursiveTriggersEnabled

Datový typ: int
Je povolené rekurzivní aktivaci triggerů. - 1:Pravdivý
- 0:Falešný
- NULL: Neplatný vstup
IsSubscribed

Datový typ: int
Databáze se přihlašuje k odběru publikace. - 1:Pravdivý
- 0:Falešný
- NULL: Neplatný vstup
IsSyncWithBackup

Datový typ: int
Databáze je publikovaná nebo distribuční databáze a podporuje obnovení, které nenaruší transakční replikaci. - 1:Pravdivý
- 0:Falešný
- NULL: Neplatný vstup
IsTornPageDetectionEnabled

Datový typ: int
Databázový stroj SQL Serveru detekuje neúplné vstupně-výstupní operace způsobené selháním napájení nebo jiným výpadkem systému. - 1:Pravdivý
- 0:Falešný
- NULL: Neplatný vstup
IsVerifiedClone

Datový typ: int
Databáze je schéma a statistika- pouze kopie uživatelské databáze vytvořené pomocí WITH VERIFY_CLONEDB možnosti DBCC CLONEDATABASE. - 1:Pravdivý
- 0:Falešný
- NULL: Neplatný vstup

Platí pro: SQL Server 2016 (13.x) SP2 a novější verze.
IsXTPSupported

Datový typ: int
Určuje, zda databáze podporuje In-Memory OLTP. Můžete například vytvářet a používat tabulky optimalizované pro paměť a nativně kompilované moduly.

Specifické pro SQL Server:

IsXTPSupported je nezávislá na existenci jakékoli MEMORY_OPTIMIZED_DATA skupiny souborů, která je nutná pro vytváření In-Memory OLTP objektů.
- 1:Pravdivý
- 0:Falešný
- NULL: Neplatný vstup, chyba nebo nejde použít

Platí pro: SQL Server 2016 (13.x) a novější verze a Azure SQL Database.
LastGoodCheckDbTime

Datový typ: datetime
Datum a čas posledního úspěšného DBCC CHECKDB spuštění v zadané databázi. Pokud DBCC CHECKDB se v databázi nespustí, 1900-01-01 00:00:00.000 vrátí se. U databází, které jsou součástí skupiny dostupnosti, LastGoodCheckDbTime vrátí datum a čas posledního úspěšného DBCC CHECKDB spuštění na primární replice bez ohledu na to, ze které repliky příkaz spustíte. NULL: Neplatný vstup

Platí na: SQL Server 2016 (13.x) SP2, SQL Server 2017 (14.x) CU9, SQL Server 2019 (15.x) a pozdější verze, Azure SQL Database a SQL databázi v Microsoft Fabric.
LCID

Datový typ: int
Identifikátor národního prostředí systému Windows (LCID) kolace. Hodnota LCID (v desítkovém formátu).
MaxSizeInBytes

Datový typ: bigint
Maximální velikost databáze v bajtech - Azure SQL Database a Azure Synapse Analytics: Hodnota je založená na SLO, pokud není zakoupeno další úložiště.

- Virtuální jádro: Hodnota je v přírůstcích 1 GB až do maximální velikosti.

- NULL: Databáze není spuštěna.

Platí na: Azure SQL Database, SQL databázi v Microsoft Fabric a Azure Synapse Analytics.
Recovery

Datový typ: nvarchar(128)
Model obnovení databáze - FULL: Úplný model obnovení
- BULK_LOGGED: Hromadně protokolovaný model
- SIMPLE: Jednoduchý model obnovení
ServiceObjective

Datový typ: nvarchar(32)
Popisuje úroveň výkonu databáze v SQL Database, SQL databázi v Microsoft Fabric nebo Azure Synapse Analytics. Jedna z následujících hodnot:

- NULL: databáze nebyla spuštěna.
- Shared (pro edice Web/Business)
- Basic
- S0
- S1
- S2
- S3
- P1
- P2
- P3
- ElasticPool
- System (pro master databázi)
- FabricSQLDB: SQL databáze v Microsoft Fabric
ServiceObjectiveId

Datový typ: uniqueidentifier
ID cíle služby ve službě SQL Database. ID cíle služby.
SQLSortOrder

Datový typ: tinyint
ID pořadí řazení SQL Serveru podporované v dřívějších verzích SQL Serveru - 0: Databáze používá kolaci Windows.

- >0: ID pořadí řazení SQL Serveru

- NULL: Neplatný vstup nebo databáze nebyla spuštěna.
Status

Datový typ: nvarchar(128)
Stav databáze. ONLINE: Databáze je k dispozici pro dotaz.

Poznámka: Funkce může vrátit stav ONLINE , kdy se databáze otevře a ještě nebyla obnovena. Pokud chcete zjistit, zda ONLINE databáze může přijímat připojení, zadejte dotaz na Collation vlastnost DATABASEPROPERTYEX. Databáze ONLINE může přijímat připojení, když kolace databáze vrátí nenulovou hodnotu. V případě databází AlwaysOn zadejte dotaz na database_state sloupce nebo database_state_desc sloupce .sys.dm_hadr_database_replica_states

- OFFLINE: Databáze byla explicitně převezměna do režimu offline.

- RESTORING: Obnovení databáze bylo spuštěno.

- RECOVERING: Obnovení databáze se spustilo a databáze ještě není připravená pro dotazy.

- SUSPECT: Databáze se neobnovila.

- EMERGENCY: Databáze je v nouzovém stavu jen pro čtení. Přístup je omezený na členy správce systému .
Updateability

Datový typ: nvarchar(128)
Určuje, jestli je možné data upravit. READ_ONLY: Databáze podporuje čtení dat, ale ne úpravy dat.

- READ_WRITE: Databáze podporuje čtení a úpravy dat.
UserAccess

Datový typ: nvarchar(128)
Určuje, kteří uživatelé mají přístup k databázi. SINGLE_USER: Najednou jenom jeden uživatel db_owner, dbcreator nebo sysadmin

- RESTRICTED_USER: Pouze členové rolí db_owner, dbcreator nebo sysadmin

- MULTI_USER: Všichni uživatelé
Version

Datový typ: int
Interní číslo verze kódu SQL Serveru, pomocí kterého byla databáze vytvořena. Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena. – Číslo verze: Databáze je otevřená.

- NULL: Databáze nebyla spuštěna.
ReplicaID

Datový typ: nvarchar(128)
ID repliky připojené databáze nebo repliky hyperškálování Vrátí pouze ID repliky připojené databáze nebo repliky Hyperscale. Další informace o typech replik najdete v tématu Sekundární repliky hyperškálování.

- NULL: Databáze hyperškálování nebo databáze není spuštěná.

Platí pro: Azure SQL Database Hyperscale.

Návratové typy

sql_variant

Výjimky

Vrátí NULL chybu nebo pokud volající nemá oprávnění k zobrazení objektu.

V SYSTÉMU SQL Server může uživatel zobrazit pouze metadata zabezpečitelných objektů, které uživatel vlastní nebo na kterých má uživatel udělené oprávnění. Toto pravidlo znamená, že předdefinované funkce pro metadata, jako OBJECT_ID je například může vrátit NULL , pokud uživatel nemá k objektu žádná oprávnění. Další informace naleznete v tématu Konfigurace viditelnosti metadat.

Poznámky

DATABASEPROPERTYEX vrátí pouze jedno nastavení vlastnosti najednou. Chcete-li zobrazit více nastavení vlastností, použijte zobrazení katalogu sys.databases .

Příklady

Ukázky kódu v tomto článku používají ukázkovou databázi AdventureWorks2025 nebo AdventureWorksDW2025, kterou si můžete stáhnout z domovské stránky Microsoft SQL Serveru pro ukázky a komunitní projekty .

A. Načtení stavu možnosti databáze AUTO_SHRINK

Tento příklad vrátí stav AUTO_SHRINK možnosti databáze pro AdventureWorks databázi.

SELECT DATABASEPROPERTYEX('AdventureWorks2022', 'IsAutoShrink');

Tady je soubor výsledků. To znamená, že AUTO_SHRINK je vypnutý.

0

B. Načtení výchozí kolace pro databázi

Tento příklad vrátí několik atributů AdventureWorks databáze.

SELECT DATABASEPROPERTYEX('AdventureWorks2022', 'Collation') AS Collation,
       DATABASEPROPERTYEX('AdventureWorks2022', 'Edition') AS Edition,
       DATABASEPROPERTYEX('AdventureWorks2022', 'ServiceObjective') AS ServiceObjective,
       DATABASEPROPERTYEX('AdventureWorks2022', 'MaxSizeInBytes') AS MaxSizeInBytes;

Tady je soubor výsledků.

Collation                     Edition        ServiceObjective  MaxSizeInBytes
----------------------------  -------------  ----------------  --------------
SQL_Latin1_General_CP1_CI_AS  DataWarehouse  DW1000            5368709120

C. Ověření připojení k replice pomocí DATABASEPROPERTYEX

Pokud používáte funkci horizontálního navýšení kapacity služby Azure SQL Database, můžete ověřit, jestli jste připojení k replice jen pro čtení, nebo ne, spuštěním následujícího dotazu v kontextu databáze. Vrátí READ_ONLY se, když jste připojení k replice jen pro čtení. Tímto způsobem můžete také zjistit, kdy je dotaz spuštěný na replice jen pro čtení.

SELECT DATABASEPROPERTYEX(DB_NAME(), 'Updateability');