Cluster Server 8.0 Implementation Guide for Microsoft SQL Server - Windows

Last Published:
Product(s): InfoScale & Storage Foundation (8.0)
Platform: Windows
  1. Section I. Introducing Veritas InfoScale solutions for application high availability
    1. Understanding the InfoScale solutions for application high availability
      1.  
        About the Veritas InfoScale solutions for monitoring SQL Server
      2. About the VCS agents for SQL Server
        1.  
          About the VCS agent for SQL Server Database Engine
        2.  
          About the VCS agent for SQL Server FILESTREAM
        3.  
          About the VCS GenericService agent for SQL Server Agent service and Analysis service
        4.  
          About the agent for MSDTC service
        5.  
          About the monitoring options
      3. How VCS monitors storage components
        1.  
          Shared storage - if you use NetApp filers
        2.  
          Shared storage - if you use SFW to manage cluster dynamic disk groups
        3.  
          Shared storage - if you use Windows LDM to manage shared disks
        4.  
          Non-shared storage - if you use SFW to manage dynamic disk groups
        5.  
          Non-shared storage - if you use Windows LDM to manage local disks
        6.  
          Non-shared storage - if you use VMware storage
      4. How application availability is achieved in a physical environment
        1.  
          Typical SQL Server cluster configuration using shared storage
        2.  
          Typical SQL Server disaster recovery cluster configuration
        3.  
          SQL Server sample dependency graph
        4.  
          MSDTC sample dependency graph
      5. How is application availability achieved in a VMware virtual environment
        1.  
          How the VMwareDisks agent communicates with the vCenter Server instead of the ESX/ESXi host
        2.  
          Typical VCS cluster configuration in a virtual environment
    2. Managing storage and installing the VCS agents
      1. Managing storage using NetApp filer
        1.  
          Connecting virtual disks to the cluster node
        2.  
          Disconnecting virtual disks from the cluster nodes
      2. Managing storage using Windows Logical Disk Manager
        1.  
          Reserving disks (if you use Windows LDM)
        2.  
          Creating volumes (if you use Windows LDM)
        3.  
          Mounting volumes (if you use Windows LDM)
        4.  
          Unassigning a drive letter
        5.  
          Releasing disks (if you use Windows LDM)
      3.  
        Managing storage using VMware virtual disks
      4.  
        About installing the VCS agents
    3. Installing SQL Server
      1.  
        About installing SQL Server for a high availability (HA) configuration
      2.  
        Configuring Microsoft iSCSI initiator
      3.  
        About installing SQL Server on the first system
      4.  
        About installing SQL Server on additional systems
      5.  
        Assigning ports for multiple SQL Server instances
      6.  
        Enabling IPv6 support for the SQL Server Analysis Service
  2. Section II. Configuring SQL Server in a physical environment
    1. Overview
      1.  
        About configuring SQL Server in physical environment
    2. Configuring the VCS cluster
      1.  
        Configuring the cluster using the Cluster Configuration Wizard
      2.  
        Configuring notification
      3.  
        Configuring Wide-Area Connector process for global clusters
    3. Configuring the SQL Server service group
      1.  
        About configuring the SQL Server service group
      2.  
        Before configuring the SQL Server service group
      3. Configuring a SQL Server service group using the wizard
        1.  
          Configuring detail monitoring for a SQL Server instance
        2.  
          Assigning privileges to the existing SQL Server databases and logs
      4.  
        Configuring the service group in a non-shared storage environment
      5.  
        Running SnapManager for SQL Server
      6.  
        About the modifications required for tagged VLAN or teamed network
      7. Making SQL Server user-defined databases highly available
        1.  
          Create volumes or LUNs for SQL Server user-defined databases
        2.  
          Creating SQL Server databases
        3.  
          Adding storage agent resources to the SQL service group
      8. Verifying the service group configuration
        1.  
          Bringing the service group online
        2.  
          Taking the service group offline
        3.  
          Switching the service group
      9. Administering a SQL Server service group
        1.  
          Modifying a SQL service group configuration
        2.  
          Deleting a SQL service group
    4. Configuring an MSDTC service group
      1.  
        About configuring the MSDTC service group
      2.  
        Typical MSDTC service group configuration using shared storage
      3.  
        Before configuring the MSDTC service group
      4.  
        Creating an MSDTC service group
      5.  
        About configuring an MSDTC client
      6.  
        Configuring an MSDTC client
      7.  
        Verifying the installation
    5. Configuring the standalone SQL Server
      1. Typical high availability configuration for a standalone SQL Server setup
        1.  
          Sample configuration
      2. Configuring a standalone SQL Server for high availablility
        1.  
          Moving the existing SQL Server data files and user databases
    6. Configuring an Active/Active cluster
      1. About running SQL Server in an active-active clustered environment
        1.  
          Sample configuration
      2.  
        Setting up the Active/Active cluster
    7. Configuring a disaster recovery setup
      1. Setting up the disaster recovery cluster
        1.  
          Why implement a disaster recovery solution
        2.  
          Understanding replication
        3.  
          What needs to be protected in a SQL Server environment
      2. Configuring a disaster recovery set up for SQL Server
        1.  
          Configuring replication using NetApp SnapMirror
        2.  
          Configuring SnapMirror resources at the primary site
      3. Configuring the Global Cluster Option for wide-area failover
        1.  
          Prerequisites
        2.  
          Linking clusters: Adding a remote cluster to a local cluster
        3.  
          Converting a local service group to a global service group
        4.  
          Bringing a global service group online
      4. Administering global service groups
        1.  
          Taking a remote global service group offline
        2.  
          Switching a remote service group
        3.  
          Deleting a remote cluster
  3. Section III. Configuring SQL Server in a VMware environment
    1. Configuring application monitoring using the Veritas High Availability solution
      1.  
        Deploying the Veritas High Availability solution for configuring application monitoring
      2. Notes and recommendations
        1. Assigning privileges for non-administrator ESX/ESXi user account
          1.  
            Creating a role
          2.  
            Integrating with Active Directory or local authentication
          3.  
            Creating a new user
          4.  
            Adding a user to the role
      3. Configuring application monitoring
        1.  
          Configuring the VCS cluster
        2.  
          Configuring the application
      4.  
        Modifying the ESXDetails attribute
    2. Administering application monitoring
      1.  
        About the various interfaces available for performing application monitoring tasks
      2. Administering application monitoring using the Veritas High Availability tab
        1.  
          Understanding the Veritas High Availability tab work area
        2.  
          To view the status of configured applications
        3.  
          To configure or unconfigure application monitoring
        4.  
          To start or stop applications
        5.  
          To suspend or resume application monitoring
        6.  
          To switch an application to another system
        7.  
          To add or remove a failover system
        8.  
          To clear Fault state
        9.  
          To resolve a held-up operation
        10.  
          To determine application state
        11.  
          To remove all monitoring configurations
        12.  
          To remove VCS cluster configurations
      3.  
        Administering application monitoring settings
      4. Administering application availability using Veritas High Availability dashboard
        1. Understanding the dashboard work area
          1.  
            Aggregate status bar
          2.  
            ESX cluster/host table
          3.  
            Taskbar
          4.  
            Filters menu
          5.  
            Application table
        2.  
          Monitoring applications across a data center
        3.  
          Monitoring applications across an ESX cluster
        4.  
          Searching for application instances by using filters
        5.  
          Selecting multiple applications for batch operations
        6.  
          Starting an application using the dashboard
        7.  
          Stopping an application by using the dashboard
        8.  
          Entering an application into maintenance mode
        9.  
          Bringing an application out of maintenance mode
        10.  
          Switching an application
  4. Section IV. Appendixes
    1. Appendix A. Troubleshooting
      1.  
        VCS logging
      2.  
        VCS Cluster Configuration Wizard (VCW) logs
      3.  
        VCWsilent logs
      4.  
        NetApp agents error messages
      5. Error and warning messages from VCS agent for SQL Server
        1.  
          Messages from the VCS agent for SQL Server Database Engine
        2.  
          Messages from the VCS agent for SQL Server FILESTREAM
        3.  
          Messages from the VCS agent for SQL Server Agent service and Analysis service
        4.  
          SQL Server Analysis service (MSOLAP) service fails to come online with "invalid context of address" error
        5.  
          Messages from the VCS agent for MSDTC
      6. Troubleshooting application monitoring configuration issues
        1.  
          Running the 'hastop - all' command detaches virtual disks
        2.  
          Validation may fail when you add a failover system
        3.  
          Adding a failover system may fail if you configure a cluster with communication links over UDP
      7. Troubleshooting Veritas High Availability view issues
        1.  
          Veritas High Availability tab not visible from a cluster node
        2.  
          Veritas High Availability tab does not display the application monitoring status
        3.  
          Veritas High Availabilitytab may freeze due to special characters in application display name
        4.  
          Veritas High Availability view may fail to load or refresh
        5.  
          Operating system commands to unmount resource may fail
    2. Appendix B. Using the virtual MMC viewer
      1.  
        About using the virtual MMC viewer
      2.  
        Viewing DTC transaction information

About the VCS agent for SQL Server Database Engine

The VCS agent for SQL Server Database Engine monitors the Database Engine service and all the optional components that are integrated with the service. For example, if the Full-Text Search component is configured, the agent also monitors that component too. The agent brings the service online, monitors its status, and takes it offline. If the service is not running, the agent declares its state as Offline.

If detail monitoring is configured, the agent checks the health of the selected SQL Server databases or executes a monitoring script. If detail monitoring is successful, the agent declares the service group as Online.

Functions

Online

Brings the SQL Server Database Engine service online.

Offline

Takes the Database Engine service offline.

Monitor

Monitors the status of SQL Server services. It queries the Windows Service Control Manager (SCM) for the status of the services.

If detail monitoring is configured, then depending on the configuration, the agent performs a database health check or executes a monitoring script.

See About the monitoring options.

Clean

Forcibly stops the Database Engine service.

Cleans up after a resource fails to come online, fails to go offline, or fails to detect the state as Online even when the resource is online.

Note:

If you start the SQL Server services from outside VCS, then the SQL resource will go in an unknown state because the VCS agent monitors the computer context of the services. If the SQL Server service is not started in the virtual server context the resource goes in an unknown state. You must ensure that you start all the SQL Server-related services from within VCS.

Resource type definitions

The resource type represents the VCS configuration definition of the agent, and specifies how the agent is defined in the configuration file, main.cf.

The agent for SQL Server is configured as a resource of the SQLServer type.

type SQLServer (
  static int IMF{} = { Mode=3, MonitorFreq=5, RegisterRetryLimit=3 }
  static i18nstr IMFRegList[] = { Instance }
  static i18nstr ArgList[] = { Instance, "LanmanResName:VirtualName", 
    DetailMonitorInterval, SQLOnlineTimeout, SQLOfflineTimeout, 
    SQLDetailMonitorTimeout, Username, Domain, Password, DBList, 
    "IPResName:Address", SQLFile, FaultOnDMFailure }
  str Instance
  str LanmanResName
  str IPResName
  int DetailMonitorInterval = 0
  int SQLOnlineTimeout = 90
  int SQLOfflineTimeout = 90
  int SQLDetailMonitorTimeout = 30
  i18nstr Username
  i18nstr Domain
  str Password
  i18nstr SQLFile
  i18nstr DBList[]
  boolean FaultOnDMFailure = 1
)
Attributes

The following table lists the attributes that must be configured for the agent to function properly.

Table: VCS agent for SQL Server Database Engine - required attributes

Required Attribute

Description

Name: Instance

Type: String

Dimension: Scalar

Name of the SQL Server instance to monitor.

If the value of this attribute is not set, the agent monitors the default SQL Server instance (MSSQLSERVER).

Name: LanmanResName

Type: String

Dimension: Scalar

Lanman resource name on which the SQLServer resource depends.

Table: VCS agent for SQL Server Database Engine - optional attributes

Optional attribute

Description

Name: SQLOnlineTimeout

Type: Integer

Dimension: Scalar

Number of seconds that may elapse before the Online function aborts.

Default value: 90

Name: SQLOfflineTimeout

Type: Integer

Dimension: Scalar

Number of seconds that may elapse before the Offline function aborts.

Default value: 90

Name: DetailMonitorInterval

Type: Integer

Dimension: Scalar

Defines whether the agent performs detail monitoring of the SQL Server instance.

The value 0 (zero) indicates that the agent performs only the basic monitoring of the instance service. A non-zero value indicates the number of online monitor cycles that the agent must wait before performing detail monitoring.

Veritas recommends that you set this value to an integer between 1 and 12. The value 1 would make the agent perform detail monitoring at each monitor cycle. The value 2 would make the agent perform detail monitoring at every other monitor cycle. This interpretation may be extended to other values.

If this attribute is set to a non-zero value, then the following attributes must be assigned appropriate values:

  • For script-based monitoring: SQLFile, Username, Password, Domain, and SQLDetailMonitorTimeOut

  • For databases list-based monitoring: Username, Password, Domain, and DBList

Default value: 5

Note:

This is not a SQL Server agent-specific attribute, but a common type-level attribute. The value of this attribute can only be set through the wizard. If you configure the service group manually, you must remember to specify this attribute and its value.

See About the monitoring options.

Name: FaultOnDMFailure

Type: Boolean

Dimension: Scalar

Defines whether the agent fails over the service group if the detail monitoring script execution fails.

The value 1 indicates that the agent fails over the service group if detail monitoring script fails to execute. The value 0 indicates that it does not fail over, but goes into the unknown state.

Defines whether the agent faults the SQL Server resource when the detail monitoring fails.

  • If the value is set to True, the agent faults the configured SQL Server resource when the detail monitoring fails.

    In this case, the SQL Server resource may go into OFFLINE state.

  • If the value is set to False, the agent does not fault the SQL Server resource when the detail monitoring fails.

    In this case, the SQL Server resource may go into the UNKOWN state.

Default value: True

Name: SQLDetailMonitorTimeout

Type: Integer

Dimension: Scalar

Number of seconds that may elapse before the detail monitoring routine aborts.

Default value: 30

Name: Username

Type: String

Dimension: Scalar

User account in whose context the detail monitoring is performed.

If the DetailMonitorInterval attribute is set to a non-zero value, the value of this attribute must not be empty.

The Microsoft Windows authentication name when logging in to a database for detail monitoring. This attribute must not be null if the DetailMonitorInterval attribute is set to a non-zero value. The user must have the necessary privileges to connect to the database and execute the appropriate query.

Note:

This attribute can take localized values.

Name: Domain

Type: String

Dimension: Scalar

Domain of the user account specified in the Username attribute.

Domain for the user account. This attribute is used to create a trusted connection to the SQL Server instance if the DetailMonitorInterval attribute is set to a non-zero value.

Note:

This attribute can take localized values.

Name: Password

Type: String

Dimension: Scalar

Password for the user account specified in the Username attribute.

If the DetailMonitorInterval attribute is set to a non-zero value, the value of this attribute must not be empty.

Password for logging in to a database for in-depth monitoring. This attribute must not be null if the DetailMonitorInterval attribute is set to a non-zero value.

Name: SQLFile

Type: String

Dimension: Scalar

Location of the SQL file that is executed during a monitor cycle.

If the DetailMonitorInterval attribute is set to a non-zero value, then either the script-based detail monitoring or the database list-based detail monitoring must be configured.

This attribute must not be null if DetailMonitorInterval attribute is set to a non-zero value and script-based detail monitoring is configured.

Note:

This attribute can take localized values.

Name: DBList

Type: String

Dimension: Vector

List of databases for which the agent must perform detail monitoring.

If the DetailMonitorInterval attribute is set to a non-zero value, then either the script-based detail monitoring or the database list-based detail monitoring must be configured.

If both the SQLFile attribute and the DBList attribute are configured, then the DBList attribute takes precedence.

Note:

This attribute can take localized values.

Name: IPResName

Type: String

Dimension: Scalar

IP resource on which the Lanman resource for the SQLServer resource depends.