Forum Discussion

GertjanA's avatar
GertjanA
Moderator
7 years ago

Can you mix SQL config - mirroring and Always-On?

Hello all,

We'll be going to SMTP archiving (EV12.3) in the coming month or so. To be able to do so, I have defined we need 5 additional Vault Stores for the SMTP stores in the existing EV site. I want these stores to be on Always On SQL config. The current EV databases are all on SQL with mirroring. Is it possible to add an always on config with only the new Vault Stores? Or do we need to keep using mirroring (or move the existing databases to an always on setup)?

Interested in your view points.

Thanks. GJ

  • There is much difference while connecting to mirrored EV database and AAG configured EV database.
    When EV services connects to AAG endpoint, it automatically recognize the server is in AAG and wait for certain interval before giving any error OR stopping EV services. This feature added with EV 12.X with new DAL (Database access layer), you can control this behavior from site setting (\advanced\SQL server).

    When EV databases are mirrored, during failover (could be xxx seconds) EV service will not connect to SQL hence you may see large no of event logs.

    EV service can connect directly to AAG node (instance) however it’s recommend to use endpoint to prevent downtime on failover. Once AAG is configured on primary node then change the SQL server name from standalone reference to AAG endpoint as per documents (100016654 / 100011676  / PS CMD Set-EVDatabaseDetail), after that DBA can configure EV DB in AAG setup.

5 Replies

  • Hi Gertjan,

    In my opinion, this should be supported as long as the recommendation of SQL best practice (https://www.veritas.com/support/en_US/article.000021697) is present for AlwaysOn availability group.

    For example, EV directory & Audit DB can be in a standalone SQL instance, VSDB & FPDB can be on AG1, accelerator DB is present in AG2.

    We need SQL servers to be responsive. For standalone, it’s server name (eg. SQL1 OR SQL1\EVInstance) and for Availability group we connects to Endpoint (virtual server) that ultimately connect to current online node in background.

    Eg. In my one of similar lab (version 12.3), directory DB is standalone & Vault store db connect to AG listener EVVS

    And the output of PS Get-EVDatabaseDetail output looks like below.

    PS C:\Program Files (x86)\Enterprise Vault> Get-EVDatabaseDetail
    
    IsCollationOK    : True
    IsInAG           : False
    IsAccessible     : True
    DBName           : EnterpriseVaultDirectory
    SQLInstanceName  : SQL2
    SQLServerVersion : 13.0.1601.5
    Type             : Directory
    SQLServerName    : SQL2
    IsClustered      : False
    
    IsCollationOK    : True
    IsInAG           : False
    IsAccessible     : True
    DBName           : EVVSGSMTPVSG1_1_1
    SQLInstanceName  : SQL1
    SQLServerVersion : 13.0.1601.5
    Type             : Fingerprint
    SQLServerName    : SQL1
    IsClustered      : False
    
    IsCollationOK    : True
    IsInAG           : True
    IsAccessible     : True
    DBName           : EVVSSMTPVS_2
    SQLInstanceName  : evvs
    SQLServerVersion : 13.0.1601.5
    Type             : VaultStore
    SQLServerName    : SQL3
    IsClustered      : False
    
    IsCollationOK    : True
    IsInAG           : True
    IsAccessible     : True
    DBName           : EVVSSMTPVS2_3
    SQLInstanceName  : evvs
    SQLServerVersion : 13.0.1601.5
    Type             : VaultStore
    SQLServerName    : SQL3
    IsClustered      : False
    

    In large EV environment with multiple databases. You can move databases from standalone (or mirrored) environment in phases. Eg. In phase1, you move first vault store db to AG, change the SQL server name from standalone to AG listener in the properties of vault store (using VAC). In second phase you can move directory DB OR remaining VSDB so on and keep changing SQL server in EV configuration.

    Regards

    Pradeep Papnai


    GertjanA wrote:

    Hello all,

    We'll be going to SMTP archiving (EV12.3) in the coming month or so. To be able to do so, I have defined we need 5 additional Vault Stores for the SMTP stores in the existing EV site. I want these stores to be on Always On SQL config. The current EV databases are all on SQL with mirroring. Is it possible to add an always on config with only the new Vault Stores? Or do we need to keep using mirroring (or move the existing databases to an always on setup)?

    Interested in your view points.

    Thanks. GJ


     

    • Pradeep-Papnai's avatar
      Pradeep-Papnai
      Level 6

      Hi Gertjan,
      If you want any new vault store DB to be part of AlwaysOn, while creation SQL server should be AG listener.

      evconnect.ev.local is AG listener in above screenshot. 

      However EV will not add new VSDB to be part of AlwaysOn, DBA should add the newly created database to appropriate AG.

      Regards

      Pradeep Papnai

  • Hi,

    It would probably work since both are working on database level.

    They only problem I could think of is when either of these, AAG or mirroring, is not working correctly and you then failover to the passive side. You could possibly have a missmatch with the other databases.

    And maybe that youwould have a slightly increased administrative efford in the long run.

     

    • Pradeep-Papnai's avatar
      Pradeep-Papnai
      Level 6

      There is much difference while connecting to mirrored EV database and AAG configured EV database.
      When EV services connects to AAG endpoint, it automatically recognize the server is in AAG and wait for certain interval before giving any error OR stopping EV services. This feature added with EV 12.X with new DAL (Database access layer), you can control this behavior from site setting (\advanced\SQL server).

      When EV databases are mirrored, during failover (could be xxx seconds) EV service will not connect to SQL hence you may see large no of event logs.

      EV service can connect directly to AAG node (instance) however it’s recommend to use endpoint to prevent downtime on failover. Once AAG is configured on primary node then change the SQL server name from standalone reference to AAG endpoint as per documents (100016654 / 100011676  / PS CMD Set-EVDatabaseDetail), after that DBA can configure EV DB in AAG setup.