2010-05-28 14 views

Antwort

31

Die Informationen werden in gespeichert.

+0

Perfect! VIELEN DANK!!! – Giuseppe

6

Hier ist ein command zum Anzeigen oder Festlegen dieser Eigenschaft.

EXEC sp_dboption "AdventureWorks", "read only" 

Beispielausgabe

OptionName CurrentSetting  
read only OFF 
4

Ich habe versucht, die p.campbell Antwort auf, um zu überprüfen, ob mein Azure SQL DB der primären oder der Nur-Lese-Replik ist - es hat nicht funktioniert . Sowohl der primäre DB als auch das zurückgegebene Replikat hatten 0 im Feld is_read_only.

Hier ist, was für mich gearbeitet:

SELECT DATABASEPROPERTYEX('MyDBNAme', 'Updateability'); 

die oben select-Anweisung gibt string 'READ_ONLY' oder 'READ_WRITE'.

11

Abfrage sys.databases zur Überprüfung einer DB Read-Only-Eigenschaft wird nur die richtigen Informationen geben, wenn die Datenbank explizit Satzes wurde auf Read-Only-Modus.

Für Datenbanken, die sich in passiven Servern befinden (z. B. in sekundären Servern der AlwaysOn-Technologie), wird der schreibgeschützte Modus in sys.databases immer noch als False(0) festgelegt, auch wenn die Datenbanken nicht beschrieben werden können.

Daher ist es ratsam, die Read-Only-Modus von Datenbanken überprüfen Sie die Anweisung:

SELECT DATABASEPROPERTYEX('MyDBNAme', 'Updateability'); 
+0

Dies funktionierte auch für mich, um in einer Azure-Datenbank nach Primary vs Secondary zu suchen. Beachten Sie, dass die zurückgegebenen Werte READ_ONLY und READ_WRITE sind. Wenn Sie in Azure eine Abfrage aus einer Datenbank durchführen, die nicht mit dem Datenbanknamen übereinstimmt, der an den ersten Parameter übergeben wurde, ist das Ergebnis NULL. –

+0

Das funktioniert also gut auf Azure: SELECT DATABASEPROPERTYEX (DB_NAME(), 'Updateability'); –