Domanda

esigenze applicative # Il nostro C per connettersi a SQL 2005 e 2008 basi di dati e controllare ciò che lo stato attuale del mirroring del database è (ad es. È abilitato, sospesa, in pausa, scollegato, ecc). Ci sono proprietà in cui posso controllare questo?

Tutte le nostre banche dati che vengono a specchio non hanno alcun testimone e failover manuale (mirroring sincrono).

Molto apprezzato se qualcuno può aiutare me o puntare a una certa documentazione, ricerche di Google non si rivolgono a molto su questo.

È stato utile?

Soluzione

Lo stato attuale è mostrato nella sys.database_mirroring :

SELECT mirroring_state 
FROM sys.database_mirroring
WHERE database_id = DB_ID('...');

Altri suggerimenti

Il articolo MSDN qui descritte tutte le stored procedure di sistema che verrà vi darà le informazioni necessarie

  

È possibile anche recuperare o aggiornare la   stato attuale eseguendo il   Sistema sp_dbmmonitorresults memorizzata   procedura.

Un non-ovvia differenza tra l'utilizzo dei sp_dbmmonitorresults e utilizzando la tabella sys.database_mirroring che è in risposta di Remus è delle autorizzazioni necessarie

diritti necessari per sys.database_mirroring

Secondo l'articolo MSDN Remo con riferimenti a

  

Per visualizzare la riga per un database   di master o tempdb, è necessario eseguire   essere il proprietario del database o avere almeno   ALTER qualsiasi database o visualizzare qualsiasi   un'autorizzazione a livello di server di database o   Autorizzazione CREATE DATABASE nel   database master. Per vedere non NULL   valori su un database mirror, è necessario   essere un membro del sysadmin   ruolo del server

diritti necessari per sp_dbmmonitorresults

Secondo il precedente citato MSDN articolo il mirroring di SP

  

componenti del server sysadmin   di ruolo, e gli utenti che sono stati aggiunti a   il dbm_monitor fisso ruolo di database

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top