DATABASEPROPERTYEX (Transact-SQL)

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Für eine angegebene Datenbank in SQL Server gibt diese Funktion die aktuelle Einstellung der angegebenen Datenbankoption oder -eigenschaft zurück.

Transact-SQL-Syntaxkonventionen

Syntax

DATABASEPROPERTYEX ( database , property )  

Argumente

database
Ein Ausdruck, der den Namen der Datenbank angibt, für die DATABASEPROPERTYEX Informationen über die angegebene Eigenschaft zurückgibt. database hat den Datentyp nvarchar(128) .

Für SQL-Datenbank erfordert DATABASEPROPERTYEX den Namen der aktuellen Datenbank. Die Funktion gibt NULL für alle Eigenschaften zurück, wenn ein anderer Datenbankname angegeben wird.

property
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, wird für Aufrufe von DATABASEPROPERTYEX NULL zurückgegeben, wenn DATABASEPROPERTYEX diese Werte durch direkten Datenbankzugriff abruft, statt sie aus den Metadaten abzurufen. Eine Datenbank, für die AUTO_CLOSE auf ON festgelegt ist, ist als „nicht gestartet“ definiert.

Eigenschaft BESCHREIBUNG Zurückgegebener Wert
Sortierung Standardsortierungsname der Datenbank Sortierungsname

NULL: Datenbank wird nicht gestartet.

Basisdatentyp: nvarchar(128)
ComparisonStyle Die Windows-Vergleichsart der Sortierung. Verwenden Sie die folgenden Stilwerte, um eine Bitmap für den schlussendlichen ComparisonStyle-Wert zu erstellen:

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

Der Standardwert 196609 ist beispielsweise das Ergebnis der Kombination der Optionen, mit denen die Groß-/Kleinschreibung, Kana und die Breite ignoriert wird.
Gibt die Vergleichsart zurück.

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

Basisdatentyp: int
Edition Die Edition oder Dienstebene der Datenbank. Gilt für: Azure SQL-Datenbank, Azure Synapse Analytics.



Universell

Unternehmenskritisch

Basic

Standard

Premium

System (für die master-Datenbank)

NULL: Datenbank wird nicht gestartet.

Basisdatentyp: nvarchar(64)
IsAnsiNullDefault Die Datenbank befolgt ISO-Regeln für das Zulassen von NULL-Werten. 1: TRUE

0: FALSE

NULL: Ungültige Eingabe

Basisdatentyp: int
IsAnsiNullsEnabled Alle Vergleiche mit einem NULL-Wert werden zu einem unbekannten Wert ausgewertet. 1: TRUE

0: FALSE

NULL: Ungültige Eingabe

Basisdatentyp: int
IsAnsiPaddingEnabled Zeichenfolgen werden vor dem Vergleich oder Einfügen auf dieselbe Länge aufgefüllt. 1: TRUE

0: FALSE

NULL: Ungültige Eingabe

Basisdatentyp: int
IsAnsiWarningsEnabled SQL Server gibt Fehler- oder Warnmeldungen aus, wenn Standardfehlerbedingungen auftreten. 1: TRUE

0: FALSE

NULL: Ungültige Eingabe

Basisdatentyp: int
IsArithmeticAbortEnabled Abfragen werden beendet, wenn während der Abfrageausführung ein Überlauffehler oder ein Fehler aufgrund einer Division durch Null auftritt. 1: TRUE

0: FALSE

NULL: Ungültige Eingabe

Basisdatentyp: int
IsAutoClose Die Datenbank wird ordnungsgemäß heruntergefahren, und Ressourcen werden freigegeben, nachdem der letzte Benutzer die Anwendung beendet hat. 1: TRUE

0: FALSE

NULL: Ungültige Eingabe

Basisdatentyp: int
IsAutoCreateStatistics Der Abfrageoptimierer erstellt Statistiken für einzelne Spalten nach Bedarf, um die Abfrageleistung zu verbessern. 1: TRUE

0: FALSE

NULL: Ungültige Eingabe

Basisdatentyp: int
IsAutoCreateStatisticsIncremental Automatisch erstellte Statistiken für einzelne Spalten sind inkrementell, falls möglich. Gilt für: SQL Server 2014 (12.x) und höher.

1: TRUE

0: FALSE

NULL: Ungültige Eingabe

Basisdatentyp: int
IsAutoShrink Datenbankdateien sind Kandidaten für das automatische periodische Verkleinern. 1: TRUE

0: FALSE

NULL: Ungültige Eingabe

Basisdatentyp: int
IsAutoUpdateStatistics Wenn in einer Abfrage vorhandene Statistiken verwendet werden, die möglicherweise veraltet sind, aktualisiert der Abfrageoptimierer diese Statistiken. 1: TRUE

0: FALSE

NULL: Ungültige Eingabe

Basisdatentyp: int
IsClone Die Datenbank ist nur eine Kopie der Schemas und Statistiken einer Benutzerdatenbank, die mit DBCC CLONEDATABASE erstellt wurde. Weitere Informationen finden Sie in diesem Microsoft Support-Artikel. Gilt für: SQL Server 2014 (12.x) SP2 und höher.

1: TRUE

0: FALSE

NULL: Ungültige Eingabe

Basisdatentyp: int
IsCloseCursorsOnCommitEnabled Wenn für eine Transaktion ein Commit ausgeführt wird, werden alle geöffneten Cursor geschlossen. 1: TRUE

0: FALSE

NULL: Ungültige Eingabe

Basisdatentyp: int
IsDatabaseSuspendedForSnapshotBackup Die Datenbank wird gesperrt. 1: TRUE

0: FALSE

NULL: Ungültige Eingabe

Basisdatentyp: int
IsFulltextEnabled Die Datenbank ist für die Volltext- und semantische Indizierung aktiviert. Gilt für: SQL Server 2008 (10.0.x) und höher.



1: TRUE

0: FALSE

NULL: Ungültige Eingabe

Basisdatentyp: int

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 beim Entwickeln neuer Anwendungen, und ändern Sie Anwendungen, in denen diese Eigenschaft zurzeit verwendet wird, so bald wie möglich.
IsInStandBy Die Datenbank ist im Schreibschutzmodus online. Die Wiederherstellung des Protokolls ist zulässig. 1: TRUE

0: FALSE

NULL: Ungültige Eingabe

Basisdatentyp: int
IsLocalCursorsDefault Cursordeklarationen werden standardmäßig auf LOCAL festgelegt. 1: TRUE

0: FALSE

NULL: Ungültige Eingabe

Basisdatentyp: int
IsMemoryOptimizedElevateToSnapshotEnabled Auf speicheroptimierte Tabellen wird mit der SNAPSHOT-Isolation zugegriffen, wenn die Sitzungseinstellung TRANSACTION ISOLATION LEVEL auf READ COMMITTED, READ UNCOMMITTED oder eine niedrigere Isolationsstufe festgelegt ist. Gilt für: SQL Server 2014 (12.x) und höher.



1: TRUE

0: FALSE

Basisdatentyp: int
IsMergePublished SQL Server unterstützt Datenbanktabellenveröffentlichung für Mergereplikation, wenn die Replikation installiert ist. 1: TRUE

0: FALSE

NULL: Ungültige Eingabe

Basisdatentyp: int
IsNullConcat Der Operand für die NULL-Verkettung ergibt NULL. 1: TRUE

0: FALSE

NULL: Ungültige Eingabe

Basisdatentyp: int
IsNumericRoundAbortEnabled Fehler werden generiert, wenn ein Genauigkeitsverlust in Ausdrücken auftritt. 1: TRUE

0: FALSE

NULL: Ungültige Eingabe

Basisdatentyp: int
IsParameterizationForced Die SET-Option PARAMETERIZATION wurde für die Datenbank auf FORCED festgelegt. 1: TRUE

0: FALSE

NULL: Ungültige Eingabe
IsQuotedIdentifiersEnabled Für Bezeichner sind doppelte Anführungszeichen zulässig. 1: TRUE

0: FALSE

NULL: Ungültige Eingabe

Basisdatentyp: int
IsPublished Wenn Replikation installiert ist, unterstützt SQL Server Datenbanktabellenveröffentlichung für Momentaufnahme- oder Transaktionsreplikation. 1: TRUE

0: FALSE

NULL: Ungültige Eingabe

Basisdatentyp: int
IsRecursiveTriggersEnabled Das rekursive Auslösen von Triggern ist aktiviert. 1: TRUE

0: FALSE

NULL: Ungültige Eingabe

Basisdatentyp: int
IsSubscribed Die Datenbank wurde für eine Veröffentlichung abonniert. 1: TRUE

0: FALSE

NULL: Ungültige Eingabe

Basisdatentyp: int
IsSyncWithBackup Die Datenbank ist entweder eine veröffentlichte oder eine Verteilungsdatenbank, und für sie wird ein Wiederherstellen unterstützt, bei dem Transaktionsreplikation nicht unterbrochen wird. 1: TRUE

0: FALSE

NULL: Ungültige Eingabe

Basisdatentyp: int
IsTornPageDetectionEnabled SQL Server-Datenbank-Engine erkennt unvollständige E/A-Vorgänge, die durch Stromausfälle oder andere Systemunterbrechungen verursacht wurden. 1: TRUE

0: FALSE

NULL: Ungültige Eingabe

Basisdatentyp: int
IsVerifiedClone Die Datenbank ist nur eine Kopie der Schemas und Statistiken einer Benutzerdatenbank, die mit der DBBC CLONEDATABASE-Option WITH VERIFY_CLONEDB erstellt wurde. Weitere Informationen finden Sie im folgenden Microsoft Support-Artikel. Gilt für: Ab SQL Server 2016 (13.x) SP2.



1: TRUE

0: FALSE

NULL: Ungültige Eingabe

Basisdatentyp: int
IsXTPSupported 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 von der Existenz von MEMORY_OPTIMIZED_DATA-Dateigruppen, die für die Erstellung von In-Memory-OLTP-Objekten benötigt werden.
Gilt für: SQL Server (SQL Server 2016 (13.x) und höher) und Azure SQL-Datenbank.

1: TRUE

0: FALSE

NULL: Ungültige Eingabe, ein Fehler oder nicht anwendbar

Basisdatentyp: int
LastGoodCheckDbTime Datum und Uhrzeit der letzten erfolgreichen Ausführung von „DBCC CHECKDB“ in der angegebenen Datenbank. 1 Wenn „DBCC CHECKDB“ in einer Datenbank noch nicht ausgeführt wurde, wird „1900-01-01 00:00:00.000“ zurückgegeben. Gilt für: SQL Server 2016 (13.x) beginnend mit SP2.
SQL Server 2017 (14.x) beginnend mit CU9.
SQL Server 2019 (15.x) oder höher.
Azure SQL-Datenbank.

Ein datetime-Wert

NULL: Ungültige Eingabe

Basisdatentyp: datetime
LCID Der zur Sortierung verwendete Windows-Gebietsschemabezeichner (LCID, Locale Identifier). LCID-Wert (im Dezimalformat).

Basisdatentyp: int
MaxSizeInBytes Maximale Datenbankgröße in Bytes. Gilt für: Azure SQL-Datenbank, Azure Synapse Analytics.

Azure SQL-Datenbank und Azure Synapse Analytics: Der Wert basiert auf SLO, sofern kein zusätzlicher Speicher erworben wurde.

vCore: Der Wert wird in Inkrementen von 1 GB bis zur Maximalgröße erhöht.

NULL: Datenbank wird nicht gestartet.

Basisdatentyp: bigint
Wiederherstellung Datenbank-Wiederherstellungsmodell FULL: Vollständiges Wiederherstellungsmodell

BULK_LOGGED: Massenprotokolliertes Modell

SIMPLE: Einfaches Wiederherstellungsmodell

Basisdatentyp: nvarchar(128)
ServiceObjective Beschreibt die Leistungsstufe der Datenbank in SQL-Datenbank oder Azure Synapse Analytics. Einer der folgenden Werte:

NULL = Die Datenbank wurde nicht gestartet.

Freigegeben (für Web/Business-Editionen)

Basic

S0

S1

S2

S3

P1

P2

P3

ElasticPool

System (für die master-Datenbank)

Basisdatentyp: nvarchar(32)
ServiceObjectiveId Dies ist die ID des Dienstziels in SQL-Datenbank. uniqueidentifier, die das Dienstziel identifiziert.
SQLSortOrder Die ID der SQL Server-Sortierreihenfolge, die in früheren Versionen von SQL Server unterstützt wurde. 0: In der Datenbank wird Windows-Sortierung verwendet.

>0: ID der SQL Server-Sortierreihenfolge

NULL: Ungültige Eingabe, oder die Datenbank wurde nicht gestartet.

Basisdatentyp: tinyint
Status Der Status der Datenbank. ONLINE: Die Datenbank ist für Abfragen verfügbar.

Hinweis: Die Funktion gibt möglicherweise den ONLINE-Status zurück, während die Datenbank geöffnet wird und noch nicht wiederhergestellt wurde. Fragen Sie die Collation-Eigenschaft von DATABASEPROPERTYEX ab, um zu ermitteln, ob eine ONLINE-Datenbank Verbindungen akzeptieren kann. Die ONLINE-Datenbank kann Verbindungen akzeptieren, wenn die Datenbanksortierung einen Wert ungleich NULL zurückgibt. Fragen Sie bei Always On-Datenbanken die „database_state“- oder die „database_state_desc“-Spalte von sys.dm_hadr_database_replica_states ab.

OFFLINE: Die Datenbank wurde explizit offline geschaltet.

RESTORING: Die Wiederherstellung der Datenbank wurde gestartet.

RECOVERING: Die Wiederherstellung der Datenbank wurde gestartet, aber die Datenbank ist noch nicht für Abfragen bereit.

SUSPECT: Die Datenbank wurde nicht wiederhergestellt.

EMERGENCY: Die Datenbank befindet sich im schreibgeschützten Notfallmodus. Der Zugriff ist auf sysadmin-Mitglieder beschränkt.

Basisdatentyp: nvarchar(128)
Updateability Zeigt an, ob Daten geändert werden können. READ_ONLY: Für die Datenbank werden Datenlese- aber keine Datenänderungsvorgänge unterstützt.

READ_WRITE: Für die Datenbank werden Datenlese- und Datenänderungsvorgänge unterstützt.

Basisdatentyp: nvarchar(128)
UserAccess Zeigt an, welche Benutzer auf die Datenbank zugreifen können. SINGLE_USER: Immer nur jeweils ein „db_owner“-, „dbcreator“- oder „sysadmin“-Benutzer

RESTRICTED_USER: Nur Mitglieder aus einer der Rollen „db_owner“, „dbcreator“ oder „sysadmin“

MULTI_USER: Alle Benutzer

Basisdatentyp: nvarchar(128)
Version 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: Die Datenbank ist geöffnet.

NULL: Die Datenbank wurde nicht gestartet.

Basisdatentyp: int
ReplicaID Die Replikat-ID einer verbundenen Hyperskalendatenbank/eines Replikats. Gilt für: Azure SQL-Datenbank.

Sie gibt nur die Replikat-ID einer verbundenen Hyperscale-Datenbank/eines Replikats zurück. Weitere Informationen zu Replikattypen finden Sie unter Hyperscale-sekundäre Replikate .

NULL: Es handelt sich nicht um eine Hyperskalendatenbank, oder die Datenbank wird nicht gestartet.

Basisdatentyp: nvarchar(128)

Hinweis

1 Für Datenbanken, die Teil einer Verfügbarkeitsgruppe sind, gibt LastGoodCheckDbTime das Datum und die Uhrzeit der letzten erfolgreichen Ausführung von DBCC CHECKDB auf dem primären Replikat zurück, egal von welchem Replikat Sie den Befehl ausführen.

Rückgabetypen

sql_variant

Ausnahmen

Gibt NULL bei einem Fehler zurück oder wenn ein Aufrufer nicht über Berechtigungen 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 Metadaten ausgebende, integrierte Funktionen (z. B. OBJECT_ID) möglicherweise NULL zurückgeben, wenn die Benutzer*innen über keine Berechtigungen für das Objekt verfügen. Weitere Informationen finden Sie unter Konfigurieren der Sichtbarkeit von Metadaten.

Bemerkungen

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

Beispiele

A. Abrufen des Status der Datenbankoption AUTO_SHRINK

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 gibt an, dass AUTO_SHRINK auf OFF festgelegt 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 das Feature für horizontale Skalierung von Azure SQL-Datenbank verwenden, können Sie überprüfen, ob Sie mit einem schreibgeschützten Replikat verbunden sind, indem Sie die folgende Abfrage im Kontext Ihrer Datenbank ausführen. Bei Verbindung mit einem schreibgeschützten Replikat wird READ_ONLY zurückgegeben. Auf diese Weise können Sie auch identifizieren, ob eine Abfrage auf einem schreibgeschützten Replikat ausgeführt wird.

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

Weitere Informationen

ALTER DATABASE (Transact-SQL)
Datenbankstatus
sys.databases (Transact-SQL)
sys.database_files (Transact-SQL)
SERVERPROPERTY (Transact-SQL)