DATABASEPROPERTYEX (Transact-SQL)

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

Themenlink (Symbol)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 für den Namen der Datenbankeigenschaft steht, die zurückgegeben werden soll. property ist vom Datentyp varchar(128) und kann einen der folgenden Werte annehmen. Der Rückgabetyp ist sql_variant. In der folgenden Tabelle wird der Basisdatentyp für den jeweiligen Eigenschaftswert aufgeführt.

    HinweisHinweis

    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, wenn für die Datenbank AUTO_CLOSE auf ON festgelegt wurde oder die Datenbank offline ist.

    Eigenschaft

    Beschreibung

    Rückgabewert

    Sortierung

    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.

    ArtWert
    Groß-/Kleinschreibung ignorieren1
    Akzente ignorieren2
    Kana ignorieren65536
    Breite ignorieren131072

    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 volltextfähig.

    1 = TRUE

    0 = FALSE

    NULL = Ungültige Eingabe

    Basisdatentyp: int

    HinweisHinweis
    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 bei der Entwicklung neuer Anwendungen, und planen Sie so bald wie möglich das Ändern von Anwendungen, in denen diese Spalten derzeit 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 Snapshot- 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

    Das 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

    Eine Liste der LCID-Werte (im Hexadezimalformat) finden Sie unter Sortierungseinstellungen im Setup-Programm.

    Recovery

    Das 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-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.

    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 = Jeweils nur ein db_owner-, dbcreator- oder sysadmin-Benutzer

    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 und unter Behandlung von Problemen bei 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('AdventureWorks', '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('AdventureWorks', 'Collation');

Dies ist das Resultset.

------------------------------
SQL_Latin1_General_CP1_CI_AI