DATABASEPROPERTYEX (Transact-SQL)
Gibt die aktuelle Einstellung der angegebenen Datenbankoption oder -eigenschaft für die angegebene Datenbank zurück.
Transact-SQL-Syntaxkonventionen
Syntax
DATABASEPROPERTYEX ( database , property )
Argumente
database
Ein Ausdruck, der zum Namen der Datenbank ausgewertet wird, für die Informationen über die benannte Eigenschaft zurückgegeben werden sollen. database ist vom Datentyp nvarchar(128).property
Ein Ausdruck, der den Namen der zurückzugebenden Datenbankeigenschaft darstellt. property ist vom Datentyp varchar(128). Die folgenden Werte sind möglich: Der Rückgabetyp ist sql_variant. In der folgenden Tabelle wird der Basisdatentyp für den jeweiligen Eigenschaftswert aufgeführt.Hinweis Wenn die Datenbank nicht gestartet wird, geben die Eigenschaften, die SQL Server durch direkten Datenbankzugriff anstatt durch Abrufen des Werts aus den Metadaten abruft, NULL zurück. Das heißt, sofern für die Datenbank AUTO_CLOSE auf ON festgelegt wurde oder die Datenbank offline ist.
Eigenschaft
Beschreibung
Rückgabewert
Collation
Standardsortierungsname der Datenbank
Sortierungsname
NULL = Die Datenbank wurde nicht gestartet.
Basisdatentyp: nvarchar(128)
ComparisonStyle
Die Windows-Vergleichsart der Sortierung. ComparisonStyle ist eine Bitmap, die mit den folgenden Werten berechnet wird.
Style
Wert
Groß-/Kleinschreibung ignorieren
1
Akzente ignorieren
2
Kana ignorieren
65536
Breite ignorieren
131072
Der Standardwert 196.609 ist beispielsweise das Ergebnis der Kombination der Optionen Groß-/Kleinschreibung ignorieren, Kana ignorieren und Breite ignorieren.
Gibt die Vergleichsart zurück.
Gibt für alle binären Sortierungen 0 zurück.
Basisdatentyp: int
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
Fehler- oder Warnmeldungen werden ausgegeben, 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
IsAutoShrink
Datenbankdateien sind Kandidaten für das automatische periodische Verkleinern.
1 = TRUE
0 = FALSE
NULL = Ungültige Eingabe
Basisdatentyp: int
IsAutoUpdateStatistics
Der Abfrageoptimierer aktualisiert vorhandene Statistiken, wenn sie von einer Abfrage verwendet werden und veraltet sein könnten.
1 = TRUE
0 = FALSE
NULL = Ungültige Eingabe
Basisdatentyp: int
IsCloseCursorsOnCommitEnabled
Cursor, die beim Ausführen eines Commits für eine Transaktion geöffnet sind, werden geschlossen.
1 = TRUE
0 = FALSE
NULL = Ungültige Eingabe
Basisdatentyp: int
IsFulltextEnabled
Die Datenbank ist für die Volltext- und semantische Indizierung aktiviert.
1 = TRUE
0 = FALSE
NULL = Ungültige Eingabe
Basisdatentyp: int
Hinweis Der Wert dieser Eigenschaft hat keine Auswirkungen. In Benutzerdatenbanken ist die Volltextsuche standardmäßig aktiviert. Diese Spalte wird in zukünftigen Versionen von SQL Server nicht mehr bereitgestellt. Verwenden Sie diese Spalte beim Entwickeln neuer Anwendungen nicht, und planen Sie so bald wie möglich das Ändern von Anwendungen, in denen diese Spalten zurzeit verwendet werden.
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
IsMergePublished
Die Tabellen einer Datenbank können zur Mergereplikation veröffentlicht werden, wenn die Replikation installiert ist.
1 = TRUE
0 = FALSE
NULL = Ungültige Eingabe
Basisdatentyp: int
IsNullConcat
Der NULL-Verkettungsoperand 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 können doppelte Anführungszeichen verwendet werden.
1 = TRUE
0 = FALSE
NULL = Ungültige Eingabe
Basisdatentyp: int
IsPublished
Falls die Replikation installiert ist, können die Tabellen der Datenbank für die Momentaufnahme- oder Transaktionsreplikation veröffentlicht werden.
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. Sie kann ohne Unterbrechung der Transaktionsreplikation wiederhergestellt werden.
1 = TRUE
0 = FALSE
NULL = Ungültige Eingabe
Basisdatentyp: int
IsTornPageDetectionEnabled
SQL Server Database Engine (Datenbankmodul) erkennt unvollständige E/A-Vorgänge, die durch Stromausfälle oder andere Systemausfälle verursacht wurden.
1 = TRUE
0 = FALSE
NULL = Ungültige Eingabe
Basisdatentyp: int
LCID
Der Windows-Gebietsschemabezeichner (Locale Identifier, LCID) der Sortierung.
LCID-Wert (im Dezimalformat).
Basisdatentyp: int
Recovery
Wiederherstellungsmodell für die Datenbank
FULL = Vollständiges Wiederherstellungsmodell
BULK_LOGGED = Massenprotokolliertes Modell
SIMPLE = Einfaches Wiederherstellungsmodell
Basisdatentyp: nvarchar(128)
SQLSortOrder
SQL Server-Sortierreihenfolge-ID, die in früheren Versionen von SQL Server unterstützt wurde.
0 = Die Datenbank verwendet die Windows-Sortierreihenfolge
>0 = SQL Server-Sortierreihenfolge-ID
NULL = Ungültige Eingabe, oder die Datenbank wurde nicht gestartet
Basisdatentyp: tinyint
Status
Der Status der Datenbank.
ONLINE = Die Datenbank ist für die Abfrage verfügbar.
Hinweis Der ONLINE-Status kann zurückgegeben werden, während die Datenbank geöffnet wird, auch wenn sie noch nicht wiederhergestellt ist. Um zu ermitteln, wann eine Datenbank Verbindungen akzeptieren kann, fragen Sie die Eigenschaft Sortierung von DATABASEPROPERTYEX ab. Die Datenbank kann Verbindungen akzeptieren, wenn die Datenbanksortierung einen Wert ungleich NULL zurückgibt. Fragen Sie bei AlwaysOn-Datenbanken die database_state-Spalte oder die database_state_desc-Spalte von sys.dm_hadr_database_replica_states ab.
OFFLINE = Die Datenbank wurde offline geschaltet.
RESTORING = Die Datenbank wird wiederhergestellt.
RECOVERING = die Datenbank wird wiederhergestellt und ist noch nicht für Abfragen bereit
SUSPECT = die Datenbank kann nicht wiederhergestellt werden
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 = die Daten können gelesen, jedoch nicht geändert werden
READ_WRITE = die Daten können gelesen und geändert werden
Basisdatentyp: nvarchar(128)
UserAccess
Zeigt an, welche Benutzer auf die Datenbank zugreifen können.
SINGLE_USER = Nur jeweils ein Benutzer von db_owner, dbcreator oder sysadmin
RESTRICTED_USER = Nur Mitglieder der Rollen db_owner, dbcreator und 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. Nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
Versionsnummer = Die Datenbank ist geöffnet.
NULL = Die Datenbank wurde nicht gestartet.
Basisdatentyp: int
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. Dies bedeutet, dass Metadaten ausgebende integrierte Funktionen, z. B. OBJECT_ID, möglicherweise NULL zurückgeben, wenn dem Benutzer für das Objekt keine Berechtigung erteilt wurde. Weitere Informationen finden Sie unter Konfigurieren der Sichtbarkeit von Metadaten.
Hinweise
DATABASEPROPERTYEX gibt jeweils nur eine Eigenschaftseinstellung zurück. Verwenden Sie die sys.databases-Katalogsicht, um mehrere Eigenschaftseinstellungen anzuzeigen.
Beispiele
A.Abrufen des Status der Datenbankoption AUTO_SHRINK
Das folgende Beispiel gibt den Status der AUTO_SHRINK-Datenbankoption für die AdventureWorks-Datenbank zurück.
SELECT DATABASEPROPERTYEX('AdventureWorks2012', 'IsAutoShrink');
Dies ist das Resultset. Dies gibt an, dass AUTO_SHRINK auf OFF festgelegt ist.
------------------
0
B.Abrufen der Standardsortierung für eine Datenbank
Das folgende Beispiel gibt den Namen der Standardsortierung für die AdventureWorks-Datenbank zurück.
SELECT DATABASEPROPERTYEX('AdventureWorks2012', 'Collation');
Dies ist das Resultset.
------------------------------
SQL_Latin1_General_CP1_CI_AI
Siehe auch
Verweis
sys.database_files (Transact-SQL)