Freigeben über


DATABASEPROPERTYEX (Transact-SQL)

Gibt die aktuelle Einstellung der angegebenen Datenbankoption oder -eigenschaft für die angegebene Datenbank in SQL Server zurück.

Gilt für: SQL Server (SQL Server 2008 bis aktuelle Version), Azure SQL-Datenbank.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

DATABASEPROPERTYEX ( database , property )

Argumente

  • database
    Ein Ausdruck, der den Namen der Datenbank darstellt, 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 ist der Basisdatentyp für die einzelnen Eigenschaftswertswerte aufgeführt.

    Hinweis

    Wenn die Datenbank nicht gestartet wurde, geben die Eigenschaften, die SQL Server durch direkten Datenbankzugriff anstatt durch Abrufen des Werts aus den Metadaten abruft, NULL zurück.Das gilt, solange für die Datenbank AUTO_CLOSE auf ON festgelegt 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 anhand der folgenden Werte 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

    Edition

    Die Datenbankedition.

    Web = Web Edition-Datenbank

    Business = Business Edition-Datenbank

    NULL = Die Datenbank wurde nicht gestartet.

    Basisdatentyp: nvarchar(64).

    Gilt für: Azure SQL-Datenbank.

    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

    IsAutoCreateStatisticsIncremental

    Automatisch erstellte Statistiken für einzelne Spalten sind inkrementell, falls möglich.

    1 = TRUE

    0 = FALSE

    NULL = Ungültige Eingabe

    Basisdatentyp: int

    Gilt für: SQL Server 2014 bis SQL Server 2014.

    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 nicht beim Entwickeln neuer Anwendungen, und planen Sie zum frühstmöglichen Zeitpunkt die Umstellung von Anwendungen, in denen diese Spalten zurzeit verwendet werden.

    Gilt für: SQL Server 2008 bis SQL Server 2014.

    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 eine niedrigere Isolationsstufe festgelegt ist (READ COMMITTED oder READ UNCOMMITTED).

    Gilt für: SQL Server 2014 bis SQL Server 2014.

    1 = TRUE

    0 = FALSE

    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 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 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-Datenbankmodul 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

    LCID

    Der Windows-Gebietsschemabezeichner (Locale Identifier, LCID) der Sortierung.

    LCID-Wert (im Dezimalformat).

    Basisdatentyp: int

    MaxSizeInBytes

    Maximale Datenbankgröße in Bytes.

    1073741824

    5368709120

    10737418240

    21474836480

    32212254720

    42949672960

    53687091200

    NULL = Die Datenbank wurde nicht gestartet

    Basisdatentyp: bigint

    Gilt für: Azure SQL-Datenbank.

    Recovery

    Wiederherstellungsmodell für die Datenbank.

    FULL = Vollständiges Wiederherstellungsmodell

    BULK_LOGGED = Massenprotokolliertes Modell

    SIMPLE = Einfaches Wiederherstellungsmodell

    Basisdatentyp: nvarchar(128)

    SQLSortOrder

    Die ID der SQL Server-Sortierreihenfolge, die in früheren Versionen von SQL Server unterstützt wurde.

    0 = Die Datenbank verwendet die Windows-Sortierung

    >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 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 Collation-Eigenschaft 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 explizit offline geschaltet.

    RESTORING = Die Datenbank wird wiederhergestellt.

    RECOVERING = die Datenbank wird wiederhergestellt und 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 = 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 integrierte Funktionen (z. B. OBJECT_ID), die Metadaten ausgeben, 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

ALTER DATABASE (Transact-SQL)

sys.databases (Transact-SQL)

sys.database_files (Transact-SQL)

SERVERPROPERTY (Transact-SQL)

Konzepte

Datenbankstatus