Configurare la disponibilità in una sola farm tramite mirroring del database di SQL Server

In questo articolo viene descritto come utilizzare il mirroring dei database a disponibilità elevata per configurare la disponibilità in una farm di Microsoft Office SharePoint Server 2007. In questo articolo si presuppone la familiarità con i concetti e i termini presentati in Pianificare l'ambiente per la disponibilità (Office SharePoint Server).

Il mirroring dei database di Microsoft SQL Server 2005 garantisce il supporto della disponibilità mediante l'invio diretto di transazioni da un database e un server principali a un database e un server mirror ogni volta che il buffer del registro delle transazioni del database principale viene scritto su disco. Per la disponibilità in una farm di Microsoft Office SharePoint Server 2007, è consigliabile utilizzare il mirroring dei database a disponibilità elevata, o modalità di protezione elevata con failover automatico, che prevede tre istanze di server, ovvero un server principale, un server mirror e un server di controllo. Quest'ultimo consente a SQL Server di eseguire automaticamente il failover dal server principale al server mirror, operazione che solitamente richiede alcuni secondi.

In una farm di SharePoint il mirroring può garantire la ridondanza per tutti i database. Quando pertanto si verifica il failover dei database, si presuppone che i server Web front-end rimangano disponibili. Nella figura seguente viene illustrato come configurare il mirroring per garantire la disponibilità elevata in una farm.

Diagramma del mirroring di tutti i database in una farm

Microsoft Office SharePoint Server 2007 non riconosce il mirroring. Per utilizzare il mirroring come soluzione di disponibilità, è consigliabile configurare i database per l'utilizzo dell'aliasing del client SQL Server ed eseguire script per cambiare l'alias del client SQL Server in caso di failover.

Requisiti per il mirroring dei database

Verificare che i database e il sistema soddisfino i requisiti seguenti prima di configurare il mirroring dei database:

  • È consigliabile impostare una latenza per il sistema non superiore a 1 millisecondo.

  • È preferibile che la larghezza di banda del sistema sia impostata su 1 gigabyte per secondo.

  • I registri vengono copiati in tempo reale tra il server principale e il server mirror e l'operazione di copia può incidere sulle prestazioni. Verificare di disporre di memoria e larghezza di banda sufficienti sia nel server principale che nel server mirror.

  • Il server principale e il server mirror devono eseguire la stessa edizione di Microsoft SQL Server 2005 con Service Pack 1 (SP1). Il mirroring dei database è disponibile solo nelle edizioni Standard, Developer ed Enterprise. Il server di controllo invece può eseguire qualsiasi versione di SQL Server 2005, tra cui Microsoft SQL Server 2005 Express Edition.

  • Il mirroring funziona solo con i database che utilizzano il modello di recupero con registrazione completa.

    Per impostazione predefinita, i database del provider di servizi di condivisi di Microsoft Office SharePoint Server 2007 sono configurati per l'utilizzo del modello di recupero con registrazione minima. Per configurare il mirroring dei database, il modello di recupero del database deve essere impostato per la registrazione completa. Per informazioni su come impostare il modello di recupero di un database, vedere Procedura: Visualizzazione o modifica del modello di recupero di un database (SQL Server Management Studio) (https://go.microsoft.com/fwlink/?linkid=132075&clcid=0x410).

  • Se si prevede di eseguire il mirroring dei database del provider di servizi condivisi, considerare che il registro delle transazioni di questi database può raggiungere dimensioni molto elevate. Per ovviare a questo problema, prendere in considerazione la possibilità di definire un piano di recupero che tronchi i registri delle transazioni a seconda delle esigenze. Per ulteriori informazioni, vedere l'articolo seguente nella Microsoft Knowledge Base: Arresto della crescita imprevista del registro delle transazioni di un database SQL Server (https://go.microsoft.com/fwlink/?linkid=111458&clcid=0x410).

  • Ogni sessione di mirroring dei database crea almeno due thread per ogni database. Verificare che il server database disponga di thread sufficienti da allocare per il mirroring di tutti i database supportati. Se non si dispone di thread sufficienti, man mano che vengono aggiunti database a una sessione, può verificarsi un rallentamento progressivo delle prestazioni.

    Nell'ambiente host presso Microsoft è stato rilevato che l'impostazione massima realistica per il mirroring dei database da una singola istanza di SQL Server che ospita Prodotti e tecnologie SharePoint è di 50 database. Questo valore massimo è basato sull'entità dell'utilizzo delle risorse per il mirroring (ogni istanza principale e ogni istanza mirror richiedono thread dedicati) e sul testing. I risultati possono variare in base ai fattori seguenti:

    • Memoria delle istanze principali e mirror

    • Capacità di elaborazione delle istanze principali e mirror

    • Larghezza di banda dei sottosistemi di I/O nelle istanze principali e mirror

    • Numero di registri delle transazioni generati dal carico di lavoro in ogni database

    • Larghezza di banda della rete tra le istanze principali e mirror

Per ulteriori informazioni sulle prestazioni e la scalabilità per il mirroring dei database, vedere Mirroring dei database in SQL Server 2005 (informazioni in lingua inglese) (https://go.microsoft.com/fwlink/?linkid=83566&clcid=0x410) (informazioni in lingua inglese) .

Protezione associata al mirroring dei database

Il mirroring dei database utilizza le sessioni TCP per trasportare il registro delle transazioni da un server a un altro e per monitorare lo stato corrente di integrità del sistema per i failover automatici. L'autenticazione viene eseguita a livello di sessione quando viene aperta una porta per la connessione.

  • Autenticazione di Windows (NTLM o Kerberos)

  • Basata su certificati

In questo documento viene descritto come utilizzare il mirroring dei database con i certificati. Per informazioni su come utilizzare l'autenticazione di Windows con il mirroring dei database, vedere Esempio: Impostazione del mirroring del database tramite l'autenticazione di Windows (Transact-SQL) Esempio: Impostazione del mirroring del database tramite l'autenticazione di Windows (Transact-SQL) (https://go.microsoft.com/fwlink/?linkid=83567&clcid=0x410).

A meno che la rete non sia protetta, i dati trasmessi durante la sessione devono essere crittografati. In questo documento viene illustrato come configurare la crittografia per i dati trasmessi in transito tramite RC4, ma il mirroring dei database supporta entrambi gli algoritmi di crittografia AES e RC4. Per ulteriori informazioni sulla protezione associata al mirroring dei database, vedere Protezione del trasporto per il mirroring del database (https://go.microsoft.com/fwlink/?linkid=83569&clcid=0x410).

Protezione di SharePoint e server con mirroring

Quando si configura un database con mirroring, gli account di accesso e le autorizzazioni di SQL Server per il database da utilizzare con una farm di SharePoint non vengono configurati automaticamente nei database master e msdb nel mirror. Sarà necessario pertanto configurare le autorizzazioni per gli account di accesso necessari, tra cui:

  • L'account del pool di applicazioni di Amministrazione centrale deve essere membro dei ruoli predefiniti del server dbcreator e securityadmin.

  • Tutti gli account dei pool di applicazioni e gli account dei servizi di ricerca e di accesso al contenuto predefiniti devono disporre di account di accesso di SQL Server, anche se non sono assegnati a ruoli predefiniti del server o del database di SQL Server.

  • I membri del gruppo Amministratori farm di SharePoint devono inoltre disporre di account di accesso di SQL Server e devono essere membri degli stessi ruoli dell'account del pool di applicazioni di Amministrazione centrale.

È consigliabile trasferire gli account di accesso e le autorizzazioni dal server principale al server mirror eseguendo uno script. Uno script di esempio è disponibile nell'articolo 918992 della Knowledge Base Modalità di trasferimento degli account di accesso e delle password tra istanze di SQL Server 2005 (https://go.microsoft.com/fwlink/?linkid=122053&clcid=0x410). Per ulteriori informazioni generali su come trasferire i metadati di SQL Server tra le istanze, vedere l'articolo della documentazione in linea di SQL Server Gestione dei metadati quando si rende disponibile un database in un'altra istanze del server (https://go.microsoft.com/fwlink/?linkid=122055&clcid=0x410).

Topologie consigliate

È consigliabile mantenere un mapping uno-a-uno tra il server principale e il server mirror per garantire la compatibilità con Prodotti e tecnologie SharePoint.

Le topologie supportate includono il mirroring di tutti i database del contenuto, del database di configurazione e del database del contenuto di Amministrazione centrale. Per Office SharePoint Server è inoltre possibile eseguire il mirroring del database del provider di servizi condivisi, del database di ricerca del provider di servizi condivisi e dei database del contenuto del provider di servizi condivisi.

Nelle figure seguenti vengono illustrate alcune topologie supportate.

Topologie supportate per il mirroring

Evitare topologie in cui non sono presenti un server principale e un server mirror corrispondente. Mantenere inoltre il database di configurazione e il database del contenuto di amministrazione nello stesso server. Nella figura seguente viene illustrata una topologia non supportata.

Topologie non supportate per il mirroring

Configurare alias di connessione di SQL Server

Un alias di connessione di SQL Server è un nome alternativo definito che può essere utilizzato per la connessione a un'istanza di SQL Server. Nel caso di Prodotti e tecnologie SharePoint, è possibile creare un alias di SQL Server utilizzato da tutti i server, inclusi i server Web front-end, per la connessione all'istanza di SQL Server. Quando si verifica il failover di un server database con mirroring, è necessario modificare l'alias nel server Web front-end in modo che punti al server mirror anziché al server principale. È consigliabile impostare gli alias di connessione di SQL Server prima dell'implementazione del mirroring.

Nota

Se si configura l'aliasing per una farm esistente, utilizzare un alias con lo stesso nome del server principale in modo da non dover apportare modifiche nei server Web front-end per avviare l'utilizzo dell'alias.

Eseguire la procedura seguente in ogni server Web front-end e in ogni server che si connette a SQL Server.

  1. Avviare l'utilità di rete di SQL Server Native Client (%SYSTEM%\cliconfg.exe).

  2. Fare clic sulla scheda Alias e quindi su Aggiungi.

    Verrà visualizzata la finestra di dialogo Aggiungi configurazione libreria di rete.

  3. Selezionare TCP/IP, digitare un alias, digitare il nome di server da associare all'alias e quindi fare clic su OK.

  4. Ripetere la procedura per tutti i server che si connettono a SQL Server.

Configurare il mirroring dei database

In questa sezione viene descritto come utilizzare Transact-SQL per configurare il mirroring dei database in modalità di disponibilità elevata per un database di SQL Server.

Per configurare il mirroring dei database con Prodotti e tecnologie SharePoint, è necessario procedere singolarmente per ogni database di cui si desidera eseguire il mirroring.

Le procedure descritte nella sezione riportata di seguito si applicano alla topologia di server farm seguente:

  • Uno o più server Web front-end

  • Tre server che eseguono SQL Server 2005: server principale, server mirror e server di controllo

  • Un database di configurazione

  • Più database del contenuto

  • Uno o più database del provider di servizi condivisi

Configurare il mirroring dei database con certificati e recupero con registrazione completa

In ogni passaggio è indicato il server su cui deve essere eseguito. Per inviare i comandi a SQL Server, utilizzare Transact-SQL. I segnaposto sono indicati da parentesi ad angolo (<>) e devono essere sostituiti con le informazioni specifiche della distribuzione.

Configurare il server principale per le connessioni in uscita

  1. Nel server principale creare un certificato e aprire una porta per il mirroring.

    --On master database, create the database Master Key, if needed
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<test1234->';
    GO
    -- Make a certificate for this server instance.
    USE master;
    CREATE CERTIFICATE <MASTER_HostA_cert> 
       WITH SUBJECT = '<Master_HostA certificate>';
    GO
    --Create mirroring endpoint for server instance using the certificate
    CREATE ENDPOINT Endpoint_Mirroring
       STATE = STARTED
       AS TCP (
          LISTENER_PORT=5024
          , LISTENER_IP = ALL
       ) 
       FOR DATABASE_MIRRORING ( 
          AUTHENTICATION = CERTIFICATE <MASTER_HostA_cert>
          , ENCRYPTION = REQUIRED ALGORITHM RC4
          , ROLE = ALL
       );
    GO
    
  2. Sul server principale eseguire un backup del certificato.

    --Back up HOST_A certificate.
    BACKUP CERTIFICATE MASTER_HostA_cert TO FILE = '<c:\MASTER_HostA_cert.cer>';
    GO
    
  3. Nel server principale eseguire il backup del database. In questo esempio viene utilizzato il database di configurazione. Ripetere la procedura per tutti i database.

    USE master;
    --Ensure that SharePoint_Config uses the full recovery model.
    ALTER DATABASE SharePoint_Config
       SET RECOVERY FULL;
    GO
    USE SharePoint_Config
    BACKUP DATABASE SharePoint_Config 
        TO DISK = '<c:\SharePoint_Config.bak>' 
        WITH FORMAT
    GO
    BACKUP Log SharePoint_Config 
        TO DISK = '<c:\SharePoint_Config_log.bak>' 
        WITH FORMAT
    GO
    
  4. Copiare il file di backup nel server mirror. Ripetere la procedura per tutti i database.

  5. Utilizzando un metodo di copia protetto, copiare nel server mirror il file di backup del certificato, ad esempio C:\HOST_HostA_cert.cer.

  6. Sul server principale creare un account di accesso e un utente e per il server mirror, associare il certificato all'utente e concedere all'account di accesso le autorizzazioni di connessione per la relazione.

    --Create a login on HOST_A for HOST_B
    USE master;
    CREATE LOGIN <HOST_HostB_login> WITH PASSWORD = '<1234-test>';
    GO
    --Create a user for that login.
    CREATE USER <HOST_HostB_user> FOR LOGIN <HOST_HostB_login>;
    GO
    --Associate the certificate with the user
    CREATE CERTIFICATE <HOST_HostB_cert>
       AUTHORIZATION <HOST_HostB_user>
       FROM FILE = '<c:\HOST_HostB_cert.cer>' --do not try to use a network path, SQL Server will give an error about the key not being valid
    GO
    --Grant CONNECT permission on the login for the remote mirroring endpoint.
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<HOST_HostB_login>];
    GO
    

Configurare il server mirror per le connessioni in uscita

  1. Nel server mirror creare un certificato e aprire una porta per il mirroring.

    --On master database, create the database Master Key, if needed.
    USE master;
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<1234-test>';
    GO
    -- Make a certificate on the HOST_B server instance.
    CREATE CERTIFICATE <HOST_HostB>
       WITH SUBJECT = '<HOST_HostB certificate for database mirroring>';
    GO
    --Create a mirroring endpoint for the server instance on HOST_B.
    CREATE ENDPOINT Endpoint_Mirroring
       STATE = STARTED
       AS TCP (
          LISTENER_PORT=5024
          , LISTENER_IP = ALL
       ) 
       FOR DATABASE_MIRRORING ( 
          AUTHENTICATION = CERTIFICATE <HOST_HostB>
          , ENCRYPTION = REQUIRED ALGORITHM RC4
          , ROLE = ALL
       );
    GO
    
  2. Nel server mirror eseguire il backup del certificato.

    --Back up HOST_B certificate.
    BACKUP CERTIFICATE <HOST_HostB> TO FILE = '<C:\HOST_HostB_cert.cer>';
    GO 
    
  3. Utilizzando un metodo di copia protetto, copiare nel server principale il file di backup del certificato, ad esempio C:\HOST_HostB_cert.cer.

  4. Nel server mirror ripristinare il database dai file di backup. In questo esempio viene utilizzato il database di configurazione. Ripetere la procedura per tutti i database.

    RESTORE DATABASE SharePoint_Config 
        FROM DISK = '<c:\SharePoint_Config.bak>' 
        WITH NORECOVERY
    GO
    RESTORE log SharePoint_Config 
        FROM DISK = '<c:\SharePoint_Config_log.bak>' 
        WITH NORECOVERY
    GO
    

Configurare il server mirror per le connessioni in ingresso

  • Sul server mirror creare un account di accesso e un utente per il server principale, associare il certificato all'utente e concedere all'account di accesso le autorizzazioni di connessione per la relazione.

    --Create a login on HOST_B for HOST_A
    USE master;
    CREATE LOGIN <MASTER_HostA_login> WITH PASSWORD = '<test1234->';
    GO
    --Create a user for that login.
    CREATE USER <MASTER_HostA_user> FOR LOGIN <MASTER_HostA_login>;
    GO
    --Associate the certificate with the user
    CREATE CERTIFICATE <MASTER_HostA_cert>
       AUTHORIZATION <MASTER_HostA_user>
       FROM FILE = '<c:\MASTER_HostA_cert.cer>' --do not try to use a network path, SQL Server will give an error about the key not being valid
    GO
    --Grant CONNECT permission on the login for the remote mirroring endpoint.
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<MASTER_HostA_login>];
    GO
    

Configurare il server principale per le connessioni in ingresso

  • Sul server principale creare un account di accesso e un utente e per il server mirror, associare il certificato all'utente e concedere all'account di accesso le autorizzazioni di connessione per la relazione.

    --Create a login on HOST_A for HOST_B
    USE master;
    CREATE LOGIN <HOST_HostB_login> WITH PASSWORD = '<1234-test>';
    GO
    --Create a user for that login.
    CREATE USER <HOST_HostB_user> FOR LOGIN <HOST_HostB_login>;
    GO
    --Associate the certificate with the user
    CREATE CERTIFICATE <HOST_HostB_cert>
       AUTHORIZATION <HOST_HostB_user>
       FROM FILE = '<c:\HOST_HostB_cert.cer>' --do not try to use a network path, SQL Server will give an error about the key not being valid
    GO
    --Grant CONNECT permission on the login for the remote mirroring endpoint.
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<HOST_HostB_login>];
    GO
    

Configurare i partner per il mirroring

  1. Nel server principale configurare la relazione di mirroring. In questo esempio viene utilizzato il database di configurazione. Ripetere la procedura per tutti i database.

    --At HOST_A, set server instance on HOST_B as partner (mirror server).
    ALTER DATABASE SharePoint_Config
        SET PARTNER = '<TCP://databasemirror.adatum.com:5024>';
    GO
    
  2. Nel server mirror configurare la relazione di mirroring. In questo esempio viene utilizzato il database di configurazione. Ripetere la procedura per tutti i database.

    --At HOST_B, set server instance on HOST_A as partner (principal server):
    ALTER DATABASE SharePoint_Config 
        SET PARTNER = '<TCP://databasemaster.adatum.com:5024>';
    GO
    

Configurare un server di controllo

In ogni passaggio è indicato il server su cui deve essere eseguito. Per inviare i comandi a SQL Server, utilizzare Transact-SQL. I segnaposto sono indicati da parentesi ad angolo (<>) e devono essere sostituiti con le informazioni specifiche della distribuzione.

  1. Nel server di controllo configurare il certificato e aprire la porta.

    --On master database, create the database Master Key, if needed
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<1234test->';
    GO
    -- Make a certificate for this server instance.
    USE master;
    CREATE CERTIFICATE <WITNESS_HostC_cert> 
       WITH SUBJECT = '<Witness_HostC certificate>';
    GO
    --Create mirroring endpoint for server instance using the certificate
    CREATE ENDPOINT Endpoint_Mirroring
       STATE = STARTED
       AS TCP (
          LISTENER_PORT=5024
          , LISTENER_IP = ALL
       ) 
       FOR DATABASE_MIRRORING ( 
          AUTHENTICATION = CERTIFICATE <WITNESS_HostC_cert
          , ENCRYPTION = REQUIRED ALGORITHM RC4
          , ROLE = ALL
       );
    GO
    
  2. Sul server principale eseguire un backup del certificato.

    --Back up HOST_C certificate 
    BACKUP CERTIFICATE <WITNESS_HostC_cert> TO FILE = '<c:\ WITNESS_HostC_cert.cer>';
    GO
    
  3. Utilizzando un metodo di copia protetto, copiare il file di backup del certificato, ad esempio C:\WITNESS_HOSTC_cert.cer, nel server principale e nel server mirror.

  4. Utilizzando un metodo di copia protetto, copiare il file di backup del certificato, ad esempio C:\WITNESS_HOSTC_cert.cer, nel server principale e nel server mirror.

    --Create a login on Witness HOST_C for Principal HOST_A
    USE master;
    CREATE LOGIN <MASTER_HostA_login> WITH PASSWORD = '<test1234->';
    GO
    --Create a user for that login.
    CREATE USER <MASTER_HostA_user> FOR LOGIN <MASTER_HostA_login>;
    GO
    --Associate the certificate with the user
    CREATE CERTIFICATE <MASTER_HostA_cert>
       AUTHORIZATION <MASTER_HostA_user>
       FROM FILE = '<c:\MASTER_HostA_cert.cer>' --do not try to use a network path, SQL Server will give an error about the key not being valid
    GO
    --Grant CONNECT permission on the login for the remote mirroring endpoint.
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<MASTER_HostA_login>];
    GO
    --Create Login for Mirror Host B
    CREATE LOGIN <HOST_HostB_login> WITH PASSWORD = '<1234-test>';
    GO
    --Create a user for that login.
    CREATE USER <HOST_HostB_user> FOR LOGIN <HOST_HostB_login>;
    GO
    --Associate the certificate with the user
    CREATE CERTIFICATE <HOST_HostB_cert>
       AUTHORIZATION <HOST_HostB_user>
       FROM FILE = '<c:\HOST_HostB_cert.cer>' --do not try to use a network path, SQL Server will give an error about the key not being valid
    GO
    --Grant CONNECT permission on the login for the remote mirroring endpoint.
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<HOST_HostB_login>];
    GO
    
  5. Nel server principale creare un account di accesso e un utente per il server di controllo, associare il certificato all'utente e concedere all'account di accesso le autorizzazioni di connessione per la relazione. Ripetere la procedura per il server mirror.

    --Create a login on Master HostA for Witness HostC
    USE master;
    CREATE LOGIN <WITNESS_HostC_login> WITH PASSWORD = '<1234test->';
    GO
    --Create a user for that login.
    CREATE USER <WITNESS_HostC_user> FOR LOGIN <WITNESS_HostC_login>;
    GO
    --Associate the certificate with the user
    CREATE CERTIFICATE <WITNESS_HostC_cert>
       AUTHORIZATION <WITNESS_HostC_user>
       FROM FILE = '<c:\WITNESS_HostC_cert.cer>' --do not try to use a network path, SQL Server will give an error about the key not being valid
    GO
    --Grant CONNECT permission on the login for the remote mirroring endpoint.
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<WITNESS_HostC_login>];
    GO
    
  6. Nel server principale collegare il server di controllo. In questo esempio viene utilizzato il database di configurazione. Ripetere la procedura per tutti i database.

    --Setup the Witness Server
    ALTER DATABASE SharePoint_Config
        SET WITNESS = 
        '<TCP://databasewitness.adatum.com:5024>'
    GO
    

Trasferire le autorizzazioni al server mirror

Quando si configura un database con mirroring, gli account di accesso e le autorizzazioni di SQL Server per il database che verranno utilizzati con una farm di SharePoint non vengono configurati automaticamente nei database master e msdb nel mirror. Sarà necessario pertanto configurare le autorizzazioni per gli account di accesso necessari.

È consigliabile trasferire gli account di accesso e le autorizzazioni dal server principale al server mirror eseguendo uno script. Lo script consigliato è disponibile nell'articolo 918992 della Knowledge Base Modalità di trasferimento degli account di accesso e delle password tra istanze di SQL Server 2005 (https://go.microsoft.com/fwlink/?linkid=122053&clcid=0x410).

Monitorare lo stato del mirroring

Nel server di controllo è possibile utilizzare l'istruzione Transact-SQL seguente per monitorare lo stato del mirroring corrente.

SELECT mirroring_role FROM sys.database_mirroring WHERE mirroring_role is not null --If returns a 1, principal, if 2: mirror

Per identificare il server principale può essere opportuno creare una serie di avvisi e processi di SQL Server oppure creare un servizio di Windows che esegue questo comando.

Passaggi successivi

Dopo aver configurato il mirroring, è necessario creare gli script che consentono di eseguire il failover nei database nella farm. Per ulteriori informazioni, vedere Eseguire il failover e il ripristino di database in mirroring in una sola farm.

SELECT mirroring_role FROM sys.database_mirroring WHERE mirroring_role is not null --If returns a 1, principal, if 2: mirror

Per identificare il server principale può essere opportuno creare una serie di avvisi e processi di SQL Server oppure creare un servizio di Windows che esegue questo comando.

Vedere anche

Altre risorse

Mirroring dei database in SQL Server 2005 (informazioni in lingua inglese)