it-swarm.com.de

Kompatibilitätsstufe von SQL Server

Gibt es eine Möglichkeit festzustellen, ob sich die Kompatibilitätsstufe in meinem SQL Server DB 2014 geändert hat?

5
giantLincecum

Um den aktuellen Kompatibilitätsgrad Ihrer Datenbank zu ermitteln, können Sie Folgendes ausführen:

SELECT name,compatibility_level 
FROM sys.databases 
WHERE name = 'DatabaseName';

Ergebnis für meine TEST-Datenbank:

name    compatibility_level
TEST    140

Wenn sich die Kompatibilitätsstufe ändert, zum Beispiel mit dem Befehl:

ALTER DATABASE TEST SET COMPATIBILITY_LEVEL = 120;

Das Datum und die Uhrzeit, die aufgetreten sind, finden Sie im SQL Server-Fehlerprotokoll: enter image description here

(enter image description here

Oder lesen Sie die (aktuelle) Fehlerprotokolldatei mit xp_readerrorlog:

EXEC sp_readerrorlog 0, 1, 'COMPATIBILITY_LEVEL' 

Ergebnis

(enter image description here

Ersetzen Sie den ersten Parameter von xp_readerrorlog bis 1, um die zweite Fehlerprotokolldatei zu lesen, 2 für die dritte Datei, ....

10
Randi Vertongen

Darüber hinaus können Sie mit dem folgenden Abfrageoptimierer (LEGACY_CARDINALITY_ESTIMATOR) überprüfen, ob Ihre Datenbank nicht ausgeführt wird, indem Sie die folgende Anweisung ausführen:

use [yourDB]
GO
select * from sys.database_scoped_configurations

Auf diese Weise erhalten Sie die folgende Ergebnismenge auf einer SQL Server 2014-Instanz für eine bestimmte Datenbank, die mit dem älteren Kardinalitätsschätzer ausgeführt wird:

  configuration_id |             name              | value | value_for_secondary 
 ------------------|-------------------------------|-------|--------------------- 
                 1 | MAXDOP                        |     0 | NULL                
                 2 | LEGACY_CARDINALITY_ESTIMATION |     1 | NULL                
                 3 | PARAMETER_SNIFFING            |     1 | NULL                
                 4 | QUERY_OPTIMIZER_HOTFIXES      |     0 | NULL         

Ich füge diese Informationen als Antwort hinzu, da die Instanz mit der aktuellen Kompatibilitätsstufe 120 (für SQL Server 2014) ausgeführt werden kann, die Datenbank jedoch weiterhin den alten Kardinalitätsschätzer verwendet, wodurch einige der Vorteile der Verwendung zunichte gemacht werden die neuere SQL Server 2014-Kompatibilitätsstufe für Ihre Datenbanken.

Referenzmaterial

4