Freigeben über


DATABASEPROPERTYEX (Transact-SQL)

Gilt für:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL-Datenbank in Microsoft Fabric

Bei einer angegebenen Datenbank in SQL Server gibt die DATABASEPROPERTYEX Funktion die aktuelle Einstellung der angegebenen Datenbankoption oder -eigenschaft zurück.

Transact-SQL-Syntaxkonventionen

Syntax

DATABASEPROPERTYEX ( database , property )

Argumente

Datenbank

Ein Ausdruck, der den Namen der Datenbank angibt, DATABASEPROPERTYEX für die die benannten Eigenschafteninformationen zurückgegeben werden. database hat den Datentyp nvarchar(128) .

Für SQL-Datenbank erfordert DATABASEPROPERTYEX den Namen der aktuellen Datenbank. Es wird für alle Eigenschaften zurückgegeben NULL , wenn ein anderer Datenbankname angegeben ist.

Eigentum

Ein Ausdruck, der den Namen der zurückzugebenden Datenbankeigenschaft angibt. property hat den Datentyp varchar(128) und unterstützt einen der Werte in dieser Tabelle:

Hinweis

Wenn die Datenbank noch nicht gestartet wurde, werden DATABASEPROPERTYEXNULL Aufrufe zurückgegeben, wenn DATABASEPROPERTYEX diese Werte durch direkten Datenbankzugriff abgerufen werden, anstatt aus Metadaten abzurufen. Eine Datenbank, die AUTO_CLOSE auf ON"nicht gestartet" festgelegt ist oder anderweitig offline ist.

Eigenschaft BESCHREIBUNG Zurückgegebener Wert
Collation

Datentyp: nvarchar(128)
Standardsortierungsname der Datenbank Sortierungsname. Wenn NULLdie Datenbank nicht gestartet wird.
ComparisonStyle

Datentyp: int
Die Windows-Vergleichsart der Sortierung. Verwenden Sie die folgenden Formatvorlagenwerte, um eine Bitmap für den fertigen ComparisonStyle Wert zu erstellen:

- 1: Groß-/Kleinschreibung ignorieren
- 2: Akzent ignorieren
- 65536: Kana ignorieren
- 131072: Breite ignorieren

Der Standardwert 196609 ist z. B. das Ergebnis der Kombination von Ignoriert-Groß-/Kleinschreibung, Ignorieren von Kana und Optionen zum Ignorieren der Breite .
Gibt die Vergleichsart zurück.

Gibt für alle binären Sortierungen zurück 0 .
Edition

Datentyp: nvarchar(64)
Die Edition oder Dienstebene der Datenbank. - General Purpose
- Business Critical
- Basic
- Standard
- Premium
- System (für master Datenbank)
- FabricSQLDB: SQL-Datenbank in Microsoft Fabric
- NULL: Die Datenbank wird nicht gestartet.

Gilt für: Azure SQL Database, SQL Database in Microsoft Fabric, Azure Synapse Analytics.
IsAnsiNullDefault

Datentyp: int
Datenbank folgt ISO-Regeln zum Zulassen NULL von Werten. - 1:STIMMT
- 0:FALSCH
- NULL: Ungültige Eingabe
IsAnsiNullsEnabled

Datentyp: int
Alle Vergleiche zu einer NULL Auswertung als unbekannt. - 1:STIMMT
- 0:FALSCH
- NULL: Ungültige Eingabe
IsAnsiPaddingEnabled

Datentyp: int
Zeichenfolgen werden vor dem Vergleich oder Einfügen auf dieselbe Länge aufgefüllt. - 1:STIMMT
- 0:FALSCH
- NULL: Ungültige Eingabe
IsAnsiWarningsEnabled

Datentyp: int
SQL Server gibt Fehler- oder Warnmeldungen aus, wenn Standardfehlerbedingungen auftreten. - 1:STIMMT
- 0:FALSCH
- NULL: Ungültige Eingabe
IsArithmeticAbortEnabled

Datentyp: int
Abfragen werden beendet, wenn während der Abfrageausführung ein Überlauffehler oder ein Fehler aufgrund einer Division durch Null auftritt. - 1:STIMMT
- 0:FALSCH
- NULL: Ungültige Eingabe
IsAutoClose

Datentyp: int
Die Datenbank wird ordnungsgemäß heruntergefahren, und Ressourcen werden freigegeben, nachdem der letzte Benutzer die Anwendung beendet hat. - 1:STIMMT
- 0:FALSCH
- NULL: Ungültige Eingabe
IsAutoCreateStatistics

Datentyp: int
Der Abfrageoptimierer erstellt Statistiken für einzelne Spalten nach Bedarf, um die Abfrageleistung zu verbessern. - 1:STIMMT
- 0:FALSCH
- NULL: Ungültige Eingabe
IsAutoCreateStatisticsIncremental

Datentyp: int
Automatisch erstellte Statistiken für einzelne Spalten sind inkrementell, falls möglich. - 1:STIMMT
- 0:FALSCH
- NULL: Ungültige Eingabe

Gilt für: SQL Server 2014 (12.x) und höhere Versionen.
IsAutoShrink

Datentyp: int
Datenbankdateien sind Kandidaten für das automatische periodische Verkleinern. - 1:STIMMT
- 0:FALSCH
- NULL: Ungültige Eingabe
IsAutoUpdateStatistics

Datentyp: int
Wenn in einer Abfrage vorhandene Statistiken verwendet werden, die möglicherweise veraltet sind, aktualisiert der Abfrageoptimierer diese Statistiken. - 1:STIMMT
- 0:FALSCH
- NULL: Eingabe ungültig
IsClone

Datentyp: int
Die Datenbank ist eine schema- und statistikgeschützte Kopie einer benutzerdatenbank, die mit DBCC CLONEDATABASE. - 1:STIMMT
- 0:FALSCH
- NULL: Ungültige Eingabe

Gilt für: SQL Server 2014 (12.x) SP2 und höhere Versionen.
IsCloseCursorsOnCommitEnabled

Datentyp: int
Wenn eine Transaktion commits erfolgt, werden alle geöffneten Cursor geschlossen. - 1:STIMMT
- 0:FALSCH
- NULL: Ungültige Eingabe
IsDatabaseSuspendedForSnapshotBackup

Datentyp: int
Die Datenbank wird gesperrt. - 1:STIMMT
- 0:FALSCH
- NULL: Ungültige Eingabe
IsFulltextEnabled

Datentyp: int
Die Datenbank ist für die Volltext- und semantische Indizierung aktiviert. - 1:STIMMT
- 0:FALSCH
- NULL: Eingabe ungültig

Gilt für: SQL Server 2008 (10.0.x) und höhere Versionen

Hinweis: Der Wert dieser Eigenschaft hat jetzt keine Auswirkungen. In Benutzerdatenbanken ist die Volltextsuche standardmäßig aktiviert. In einer zukünftigen Version von SQL Server wird diese Eigenschaft entfernt. Verwenden Sie diese Eigenschaft nicht in neuer Entwicklungsarbeit, und ändern Sie Anwendungen, die diese Eigenschaft derzeit so schnell wie möglich verwenden.
IsInStandBy

Datentyp: int
Die Datenbank ist im Schreibschutzmodus online. Die Wiederherstellung des Protokolls ist zulässig. - 1:STIMMT
- 0:FALSCH
- NULL: Ungültige Eingabe
IsLocalCursorsDefault

Datentyp: int
Cursordeklarationen werden standardmäßig auf LOCAL. - 1:STIMMT
- 0:FALSCH
- NULL: Ungültige Eingabe
IsMemoryOptimizedElevateToSnapshotEnabled

Datentyp: int
Auf speicheroptimierte Tabellen wird mithilfe der SNAPSHOT Isolation zugegriffen, wenn die Sitzungseinstellung TRANSACTION ISOLATION LEVEL auf READ COMMITTEDeine READ UNCOMMITTEDniedrigere Isolationsstufe festgelegt ist. - 1:STIMMT
- 0:FALSCH

Gilt für: SQL Server 2014 (12.x) und höhere Versionen.
IsMergePublished

Datentyp: int
SQL Server unterstützt Datenbanktabellenveröffentlichung für Mergereplikation, wenn die Replikation installiert ist. - 1:STIMMT
- 0:FALSCH
- NULL: Ungültige Eingabe
IsNullConcat

Datentyp: int
Null-Verkettungsopernd ergibt NULL. - 1:STIMMT
- 0:FALSCH
- NULL: Ungültige Eingabe
IsNumericRoundAbortEnabled

Datentyp: int
Fehler werden generiert, wenn ein Genauigkeitsverlust in Ausdrücken auftritt. - 1:STIMMT
- 0:FALSCH
- NULL: Ungültige Eingabe
IsOptimizedLockingOn

Datentyp: int
Die optimierte Sperrung ist für die Datenbank aktiviert. - 1:STIMMT
- 0:FALSCH
- NULL:Nicht verfügbar

Gilt für: SQL Server 2025 (17.x) und spätere Versionen, Azure SQL Database, Azure SQL Managed InstanceAUTD und SQL Database in Microsoft Fabric.
IsParameterizationForced

Datentyp: int
PARAMETERIZATION Datenbankoption SET ist FORCED. - 1:STIMMT
- 0:FALSCH
- NULL: Ungültige Eingabe
IsQuotedIdentifiersEnabled

Datentyp: int
Für Bezeichner sind doppelte Anführungszeichen zulässig. - 1:STIMMT
- 0:FALSCH
- NULL: Ungültige Eingabe
IsPublished

Datentyp: int
Wenn Replikation installiert ist, unterstützt SQL Server Datenbanktabellenveröffentlichung für Momentaufnahme- oder Transaktionsreplikation. - 1:STIMMT
- 0:FALSCH
- NULL: Ungültige Eingabe
IsRecursiveTriggersEnabled

Datentyp: int
Das rekursive Auslösen von Triggern ist aktiviert. - 1:STIMMT
- 0:FALSCH
- NULL: Ungültige Eingabe
IsSubscribed

Datentyp: int
Die Datenbank wurde für eine Veröffentlichung abonniert. - 1:STIMMT
- 0:FALSCH
- NULL: Ungültige Eingabe
IsSyncWithBackup

Datentyp: int
Die Datenbank ist entweder eine veröffentlichte Datenbank oder eine Verteilungsdatenbank und unterstützt eine Wiederherstellung, die die Transaktionsreplikation nicht beeinträchtigt. - 1:STIMMT
- 0:FALSCH
- NULL: Ungültige Eingabe
IsTornPageDetectionEnabled

Datentyp: int
SQL Server-Datenbank-Engine erkennt unvollständige E/A-Vorgänge, die durch Stromausfälle oder andere Systemunterbrechungen verursacht wurden. - 1:STIMMT
- 0:FALSCH
- NULL: Ungültige Eingabe
IsVerifiedClone

Datentyp: int
Datenbank ist eine Schema- und Statistikkopie einer Benutzerdatenbank, die mit der WITH VERIFY_CLONEDB Option erstellt DBCC CLONEDATABASEwurde. - 1:STIMMT
- 0:FALSCH
- NULL: Ungültige Eingabe

Gilt für: SQL Server 2016 (13.x) SP2 und höhere Versionen.
IsXTPSupported

Datentyp: int
Gibt an, ob die Datenbank das In-Memory-OLTP unterstützt. Beispiele hierfür sind die Erstellung und Verwendung speicheroptimierter Tabellen und nativ kompilierter Module.

Spezifisch für SQL Server:

IsXTPSupported ist unabhängig vom Vorhandensein einer beliebigen MEMORY_OPTIMIZED_DATA Dateigruppe, die zum Erstellen In-Memory OLTP-Objekte erforderlich ist.
- 1:STIMMT
- 0:FALSCH
- NULL: Ungültige Eingabe, fehler oder nicht zutreffend

Gilt für: SQL Server 2016 (13.x) und höhere Versionen und Azure SQL-Datenbank.
LastGoodCheckDbTime

Datentyp: datetime
Das Datum und die Uhrzeit des letzten erfolgreichen DBCC CHECKDB Vorgangs, der in der angegebenen Datenbank ausgeführt wurde. Wenn DBCC CHECKDB sie nicht für eine Datenbank ausgeführt wurde, 1900-01-01 00:00:00.000 wird diese zurückgegeben. Gibt für Datenbanken, die Teil einer Verfügbarkeitsgruppe sind, LastGoodCheckDbTime das Datum und die Uhrzeit der letzten erfolgreichen DBCC CHECKDB Ausführung des primären Replikats zurück, unabhängig davon, von welchem Replikat Sie den Befehl ausführen. NULL: Ungültige Eingabe

Gilt für: SQL Server 2016 (13.x) SP2, SQL Server 2017 (14.x) CU9, SQL Server 2019 (15.x) und spätere Versionen, Azure SQL Database und SQL Database in Microsoft Fabric.
LCID

Datentyp: int
Der zur Sortierung verwendete Windows-Gebietsschemabezeichner (LCID, Locale Identifier). LCID-Wert (im Dezimalformat).
MaxSizeInBytes

Datentyp: bigint
Maximale Datenbankgröße in Bytes. - Azure SQL-Datenbank und Azure Synapse Analytics: Der Wert basiert auf SLO, es sei denn, es wurde zusätzlicher Speicher erworben.

- vCore: Der Wert beträgt 1 GB Inkremente bis zur maximalen Größe.

- NULL: Datenbank wird nicht gestartet

Gilt für: Azure SQL Database, SQL Database in Microsoft Fabric und Azure Synapse Analytics.
Recovery

Datentyp: nvarchar(128)
Datenbankwiederherstellungsmodell. - FULL: Vollständiges Wiederherstellungsmodell
- BULK_LOGGED: Massenprotokolliermodell
- SIMPLE: Einfaches Wiederherstellungsmodell
ServiceObjective

Datentyp: nvarchar(32)
Beschreibt das Leistungsniveau der Datenbank in SQL Database, SQL-Datenbank in Microsoft Fabric oder Azure Synapse Analytics. Einer der folgenden Werte:

- NULL: Datenbank nicht gestartet
- Shared (für Web/Business-Editionen)
- Basic
- S0
- S1
- S2
- S3
- P1
- P2
- P3
- ElasticPool
- System (für master Datenbank)
- FabricSQLDB: SQL-Datenbank in Microsoft Fabric
ServiceObjectiveId

Datentyp: eindeutiger Bezeichner
Dies ist die ID des Dienstziels in SQL-Datenbank. ID des Dienstziels.
SQLSortOrder

Datentyp: tinyint
Die ID der SQL Server-Sortierreihenfolge, die in früheren Versionen von SQL Server unterstützt wurde. - 0: Datenbank verwendet Windows-Sortierung

- >0: SQL Server-Sortierreihenfolge-ID

- NULL: Ungültige Eingabe oder Datenbank wurde nicht gestartet
Status

Datentyp: nvarchar(128)
Der Status der Datenbank. ONLINE: Die Datenbank ist für die Abfrage verfügbar.

Anmerkung: Die Funktion gibt möglicherweise einen Status zurück, ONLINE während die Datenbank geöffnet wird und noch nicht wiederhergestellt wurde. Um zu ermitteln, ob eine ONLINE Datenbank Verbindungen akzeptieren kann, fragen Sie die Collation Eigenschaft von DATABASEPROPERTYEX. Die ONLINE Datenbank kann Verbindungen akzeptieren, wenn die Datenbanksortierung einen Wert ungleich NULL zurückgibt. Fragen Sie für AlwaysOn-Datenbanken die database_state Spalten oder database_state_desc Spalten von sys.dm_hadr_database_replica_states.

- OFFLINE: Die Datenbank wurde explizit offline genommen.

- RESTORING: Die Datenbankwiederherstellung wurde gestartet.

- RECOVERING: Die Datenbankwiederherstellung wurde gestartet, und die Datenbank ist noch nicht für Abfragen bereit.

- SUSPECT: Datenbank konnte nicht wiederhergestellt werden.

- EMERGENCY: Die Datenbank befindet sich in einem Notfallzustand, schreibgeschützt. Der Zugriff ist auf sysadmin-Mitglieder beschränkt.
Updateability

Datentyp: nvarchar(128)
Zeigt an, ob Daten geändert werden können. READ_ONLY: Datenbank unterstützt Datenlesevorgänge, aber keine Datenänderungen.

- READ_WRITE: Datenbank unterstützt Datenlesevorgänge und -änderungen.
UserAccess

Datentyp: nvarchar(128)
Zeigt an, welche Benutzer auf die Datenbank zugreifen können. SINGLE_USER: Jeweils nur ein db_owner-, dbcreator- oder sysadmin-Benutzer

- RESTRICTED_USER: Nur Mitglieder von rollen db_owner, dbcreator oder sysadmin

- MULTI_USER: Alle Benutzer
Version

Datentyp: int
Die interne Versionsnummer des SQL Server -Codes, mit dem die Datenbank erstellt wurde. Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt. - Versionsnummer: Datenbank ist geöffnet.

- NULL: Die Datenbank wurde nicht gestartet.
ReplicaID

Datentyp: nvarchar(128)
Die Replikat-ID einer verbundenen Hyperskalendatenbank/eines Replikats. Gibt nur die Replikat-ID einer verbundenen Hyperscale-Datenbank/eines Replikats zurück. Weitere Informationen zu Replikattypen finden Sie unter sekundären Hyperscale-Replikaten.

- NULL: Keine Hyperskalendatenbank, oder die Datenbank wird nicht gestartet.

Gilt für: Azure SQL-Datenbank Hyperscale.

Rückgabetypen

sql_variant

Ausnahmen

Gibt NULL den Fehler zurück oder wenn ein Aufrufer nicht über die Berechtigung zum Anzeigen des Objekts verfügt.

In SQL Server kann ein Benutzer nur die Metadaten sicherungsfähiger Elemente anzeigen, bei denen der Benutzer entweder der Besitzer ist oder für die dem Benutzer eine Berechtigung erteilt wurde. Diese Regel bedeutet, dass metadatenmittierende, integrierte Funktionen wie OBJECT_ID z. B. zurückgegeben werden NULL können, wenn der Benutzer keine Berechtigungen für das Objekt besitzt. Weitere Informationen finden Sie in der Konfiguration der Metadatensichtbarkeit.

Bemerkungen

DATABASEPROPERTYEX gibt immer nur jeweils eine Eigenschaftseinstellung zurück. Verwenden Sie die sys.databases-Katalogsicht, um mehrere Eigenschaftseinstellungen anzuzeigen.

Beispiele

Die Codebeispiele in diesem Artikel verwenden die AdventureWorks2025- oder AdventureWorksDW2022 Beispieldatenbank, die Sie von der Microsoft SQL Server Samples and Community Projects Homepage herunterladen können.

Ein. Abrufen des Status der AUTO_SHRINK-Datenbankoption

In diesem Beispiel wird der Status der AUTO_SHRINK Datenbankoption für die AdventureWorks Datenbank zurückgegeben.

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

Hier sehen Sie das Ergebnis. Dies weist darauf hin, dass dies AUTO_SHRINK deaktiviert ist.

0

B. Abrufen der Standardsortierung für eine Datenbank

In diesem Beispiel werden mehrere Attribute der AdventureWorks-Datenbank zurückgegeben.

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

Hier sehen Sie das Ergebnis.

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

C. Verwenden von DATABASEPROPERTYEX zum Überprüfen der Verbindung mit dem Replikat

Wenn Sie die Azure SQL-Datenbankskalierungsfunktion verwenden, können Sie überprüfen, ob Sie mit einem schreibgeschützten Replikat verbunden sind oder nicht, indem Sie die folgende Abfrage im Kontext Ihrer Datenbank ausführen. Es wird zurückgegeben READ_ONLY , wenn Sie mit einem schreibgeschützten Replikat verbunden sind. Auf diese Weise können Sie auch identifizieren, ob eine Abfrage auf einem schreibgeschützten Replikat ausgeführt wird.

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