Frage Wie kann ich feststellen, ob die Snapshot-Isolierung aktiviert ist?


Wie kann ich in SQL Server 2005/2008 feststellen, ob die Snapshot-Isolierung aktiviert ist? Ich kenne Wie um es einzuschalten, aber ich kann die Beschwörung nicht finden, um Google zu erhalten, mir zu sagen, wie man den Zustand der Schnappschuss-Isolierungswahl abfragt.


30
2018-02-26 10:19


Ursprung




Antworten:


Klicken Sie mit der rechten Maustaste auf das Datenbankverzeichnis im Objekt-Explorer und starten Sie die Powershell. Art:
get-childitem|select name, snapshotisolationstate
und drücken Sie die Eingabetaste


4
2018-02-26 13:33



wow, ist das PS wirklich nötig? - Nick Kavadias


Powershell, wirklich? Was ist falsch mit gutem alten T-SQL?

Systemdatenbanken ist was du willst. Es verfügt über lesbare Beschreibungsspalten wie snapshot_isolation_state_desc

SELECT snapshot_isolation_state_desc from sys.databases 
where name='adventureworks'

56
2018-02-26 14:25



Nein, nicht ganz notwendig, aber ich fange gerade an, PS zu lernen, also habe ich einen Blick darauf geworfen, wie es gemacht werden könnte und dachte, ich würde teilen ...! - Fatherjack
So sehr ich es hasse es zuzugeben, es ist cool - Nick Kavadias
um ehrlich zu sein, ich habe Schwierigkeiten zu sehen, dass es für mich sehr nützlich sein wird, wir haben nur 30 Server. Wenn ich die Snapshot-Isolation von jeder Datenbank auf jedem Server haben wollte, dann ist PS vielleicht besser als T-SQL. Jetzt sehe ich es nur als Alternative, ich werde es hier und da verwenden, erwarte ich. - Fatherjack
Ich kann nicht bearbeiten, weil es weniger als eine Änderung von sechs Zeichen ist, aber für andere verwirrte Seelen, die die Abfrage kopieren und einfügen, beachten Sie, dass es sys.database sein solltes und nicht sys.database. - Mark Sowul


Erweiterung auf Nickerchen Antwort von oben ..

Im Folgenden erhalten Sie Informationen zu allen Ihren Datenbanken

    select name
        , s.snapshot_isolation_state
        , snapshot_isolation_state_desc
        , is_read_committed_snapshot_on
        , recovery_model
        , recovery_model_desc
        , collation_name
    from sys.databases s

13
2018-01-03 22:30





Oder mit T-SQL-Code:

SELECT
'Current Isolation State:' [ ],
CASE is_read_committed_snapshot_on
        WHEN 1 THEN 'ON' ELSE 'OFF'
    END AS [Read Committed Snapsot State]

FROM sys.databases WHERE Name = 'MyDatabaseName'


2
2018-01-25 20:16



Diese Antwort bezieht sich auf read_committed_snapshot, nicht auf Snapshot Isolation Level wie das angeforderte OP. Sie sind zwei verschiedene Dinge. - Kevin Kalitowski