Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics 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 |
|---|---|---|
CollationDatentyp: nvarchar(128) |
Standardsortierungsname der Datenbank | Sortierungsname. Wenn NULLdie Datenbank nicht gestartet wird. |
ComparisonStyleDatentyp: 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 ignorierenDer 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 . |
EditionDatentyp: 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. |
IsAnsiNullDefaultDatentyp: int |
Datenbank folgt ISO-Regeln zum Zulassen NULL von Werten. |
-
1:STIMMT- 0:FALSCH- NULL: Ungültige Eingabe |
IsAnsiNullsEnabledDatentyp: int |
Alle Vergleiche zu einer NULL Auswertung als unbekannt. |
-
1:STIMMT- 0:FALSCH- NULL: Ungültige Eingabe |
IsAnsiPaddingEnabledDatentyp: int |
Zeichenfolgen werden vor dem Vergleich oder Einfügen auf dieselbe Länge aufgefüllt. |
-
1:STIMMT- 0:FALSCH- NULL: Ungültige Eingabe |
IsAnsiWarningsEnabledDatentyp: int |
SQL Server gibt Fehler- oder Warnmeldungen aus, wenn Standardfehlerbedingungen auftreten. |
-
1:STIMMT- 0:FALSCH- NULL: Ungültige Eingabe |
IsArithmeticAbortEnabledDatentyp: 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 |
IsAutoCloseDatentyp: 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 |
IsAutoCreateStatisticsDatentyp: int |
Der Abfrageoptimierer erstellt Statistiken für einzelne Spalten nach Bedarf, um die Abfrageleistung zu verbessern. |
-
1:STIMMT- 0:FALSCH- NULL: Ungültige Eingabe |
IsAutoCreateStatisticsIncrementalDatentyp: int |
Automatisch erstellte Statistiken für einzelne Spalten sind inkrementell, falls möglich. |
-
1:STIMMT- 0:FALSCH- NULL: Ungültige EingabeGilt für: SQL Server 2014 (12.x) und höhere Versionen. |
IsAutoShrinkDatentyp: int |
Datenbankdateien sind Kandidaten für das automatische periodische Verkleinern. |
-
1:STIMMT- 0:FALSCH- NULL: Ungültige Eingabe |
IsAutoUpdateStatisticsDatentyp: 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 |
IsCloneDatentyp: int |
Die Datenbank ist eine schema- und statistikgeschützte Kopie einer benutzerdatenbank, die mit DBCC CLONEDATABASE. |
-
1:STIMMT- 0:FALSCH- NULL: Ungültige EingabeGilt für: SQL Server 2014 (12.x) SP2 und höhere Versionen. |
IsCloseCursorsOnCommitEnabledDatentyp: int |
Wenn eine Transaktion commits erfolgt, werden alle geöffneten Cursor geschlossen. |
-
1:STIMMT- 0:FALSCH- NULL: Ungültige Eingabe |
IsDatabaseSuspendedForSnapshotBackupDatentyp: int |
Die Datenbank wird gesperrt. |
-
1:STIMMT- 0:FALSCH- NULL: Ungültige Eingabe |
IsFulltextEnabledDatentyp: int |
Die Datenbank ist für die Volltext- und semantische Indizierung aktiviert. |
-
1:STIMMT- 0:FALSCH- NULL: Eingabe ungültigGilt 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. |
IsInStandByDatentyp: int |
Die Datenbank ist im Schreibschutzmodus online. Die Wiederherstellung des Protokolls ist zulässig. |
-
1:STIMMT- 0:FALSCH- NULL: Ungültige Eingabe |
IsLocalCursorsDefaultDatentyp: int |
Cursordeklarationen werden standardmäßig auf LOCAL. |
-
1:STIMMT- 0:FALSCH- NULL: Ungültige Eingabe |
IsMemoryOptimizedElevateToSnapshotEnabledDatentyp: 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:FALSCHGilt für: SQL Server 2014 (12.x) und höhere Versionen. |
IsMergePublishedDatentyp: int |
SQL Server unterstützt Datenbanktabellenveröffentlichung für Mergereplikation, wenn die Replikation installiert ist. |
-
1:STIMMT- 0:FALSCH- NULL: Ungültige Eingabe |
IsNullConcatDatentyp: int |
Null-Verkettungsopernd ergibt NULL. |
-
1:STIMMT- 0:FALSCH- NULL: Ungültige Eingabe |
IsNumericRoundAbortEnabledDatentyp: int |
Fehler werden generiert, wenn ein Genauigkeitsverlust in Ausdrücken auftritt. |
-
1:STIMMT- 0:FALSCH- NULL: Ungültige Eingabe |
IsOptimizedLockingOnDatentyp: int |
Die optimierte Sperrung ist für die Datenbank aktiviert. |
-
1:STIMMT- 0:FALSCH- NULL:Nicht verfügbarGilt für: SQL Server 2025 (17.x) und spätere Versionen, Azure SQL Database, Azure SQL Managed InstanceAUTD und SQL Database in Microsoft Fabric. |
IsParameterizationForcedDatentyp: int |
PARAMETERIZATION Datenbankoption SET ist FORCED. |
-
1:STIMMT- 0:FALSCH- NULL: Ungültige Eingabe |
IsQuotedIdentifiersEnabledDatentyp: int |
Für Bezeichner sind doppelte Anführungszeichen zulässig. |
-
1:STIMMT- 0:FALSCH- NULL: Ungültige Eingabe |
IsPublishedDatentyp: int |
Wenn Replikation installiert ist, unterstützt SQL Server Datenbanktabellenveröffentlichung für Momentaufnahme- oder Transaktionsreplikation. |
-
1:STIMMT- 0:FALSCH- NULL: Ungültige Eingabe |
IsRecursiveTriggersEnabledDatentyp: int |
Das rekursive Auslösen von Triggern ist aktiviert. |
-
1:STIMMT- 0:FALSCH- NULL: Ungültige Eingabe |
IsSubscribedDatentyp: int |
Die Datenbank wurde für eine Veröffentlichung abonniert. |
-
1:STIMMT- 0:FALSCH- NULL: Ungültige Eingabe |
IsSyncWithBackupDatentyp: 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 |
IsTornPageDetectionEnabledDatentyp: 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 |
IsVerifiedCloneDatentyp: 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 EingabeGilt für: SQL Server 2016 (13.x) SP2 und höhere Versionen. |
IsXTPSupportedDatentyp: 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 zutreffendGilt für: SQL Server 2016 (13.x) und höhere Versionen und Azure SQL-Datenbank. |
LastGoodCheckDbTimeDatentyp: 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 EingabeGilt 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. |
LCIDDatentyp: int |
Der zur Sortierung verwendete Windows-Gebietsschemabezeichner (LCID, Locale Identifier). | LCID-Wert (im Dezimalformat). |
MaxSizeInBytesDatentyp: 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 gestartetGilt für: Azure SQL Database, SQL Database in Microsoft Fabric und Azure Synapse Analytics. |
RecoveryDatentyp: nvarchar(128) |
Datenbankwiederherstellungsmodell. |
-
FULL: Vollständiges Wiederherstellungsmodell- BULK_LOGGED: Massenprotokolliermodell- SIMPLE: Einfaches Wiederherstellungsmodell |
ServiceObjectiveDatentyp: 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 |
ServiceObjectiveIdDatentyp: eindeutiger Bezeichner |
Dies ist die ID des Dienstziels in SQL-Datenbank. | ID des Dienstziels. |
SQLSortOrderDatentyp: 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 |
StatusDatentyp: 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. |
UpdateabilityDatentyp: 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. |
UserAccessDatentyp: 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 |
VersionDatentyp: 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. |
ReplicaIDDatentyp: 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');