Cluster Server 7.4.2 Implementation Guide for Microsoft SQL Server - Windows
- Section I. Introducing Veritas InfoScale solutions for application high availability
- Understanding the InfoScale solutions for application high availability
- About the Veritas InfoScale solutions for monitoring SQL Server
- About the VCS agents for SQL Server
- How VCS monitors storage components
- Shared storage - if you use NetApp filers
- Shared storage - if you use SFW to manage cluster dynamic disk groups
- Shared storage - if you use Windows LDM to manage shared disks
- Non-shared storage - if you use SFW to manage dynamic disk groups
- Non-shared storage - if you use Windows LDM to manage local disks
- Non-shared storage - if you use VMware storage
- How application availability is achieved in a physical environment
- How is application availability achieved in a VMware virtual environment
- Managing storage and installing the VCS agents
- Installing SQL Server
- About installing SQL Server for a high availability (HA) configuration
- Configuring Microsoft iSCSI initiator
- About installing SQL Server on the first system
- About installing SQL Server on additional systems
- Assigning ports for multiple SQL Server instances
- Enabling IPv6 support for the SQL Server Analysis Service
- Understanding the InfoScale solutions for application high availability
- Section II. Configuring SQL Server in a physical environment
- Overview
- Configuring the VCS cluster
- Configuring the SQL Server service group
- About configuring the SQL Server service group
- Before configuring the SQL Server service group
- Configuring a SQL Server service group using the wizard
- Configuring the service group in a non-shared storage environment
- Running SnapManager for SQL Server
- About the modifications required for tagged VLAN or teamed network
- Making SQL Server user-defined databases highly available
- Verifying the service group configuration
- Administering a SQL Server service group
- Configuring an MSDTC service group
- Configuring the standalone SQL Server
- Configuring an Active/Active cluster
- Configuring a disaster recovery setup
- Section III. Configuring SQL Server in a VMware environment
- Configuring application monitoring using the Veritas High Availability solution
- Administering application monitoring
- About the various interfaces available for performing application monitoring tasks
- Administering application monitoring using the Veritas High Availability tab
- Understanding the Veritas High Availability tab work area
- To view the status of configured applications
- To configure or unconfigure application monitoring
- To start or stop applications
- To suspend or resume application monitoring
- To switch an application to another system
- To add or remove a failover system
- To clear Fault state
- To resolve a held-up operation
- To determine application state
- To remove all monitoring configurations
- To remove VCS cluster configurations
- Administering application monitoring settings
- Administering application availability using Veritas High Availability dashboard
- Understanding the dashboard work area
- Monitoring applications across a data center
- Monitoring applications across an ESX cluster
- Searching for application instances by using filters
- Selecting multiple applications for batch operations
- Starting an application using the dashboard
- Stopping an application by using the dashboard
- Entering an application into maintenance mode
- Bringing an application out of maintenance mode
- Switching an application
- Section IV. Appendixes
- Appendix A. Troubleshooting
- VCS logging
- VCS Cluster Configuration Wizard (VCW) logs
- VCWsilent logs
- NetApp agents error messages
- Error and warning messages from VCS agent for SQL Server
- Messages from the VCS agent for SQL Server Database Engine
- Messages from the VCS agent for SQL Server FILESTREAM
- Messages from the VCS agent for SQL Server Agent service and Analysis service
- SQL Server Analysis service (MSOLAP) service fails to come online with "invalid context of address" error
- Messages from the VCS agent for MSDTC
- Troubleshooting application monitoring configuration issues
- Troubleshooting Veritas High Availability view issues
- Veritas High Availability tab not visible from a cluster node
- Veritas High Availability tab does not display the application monitoring status
- Veritas High Availabilitytab may freeze due to special characters in application display name
- Veritas High Availability view may fail to load or refresh
- Operating system commands to unmount resource may fail
- Appendix B. Using the virtual MMC viewer
- Appendix A. Troubleshooting
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.
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. |
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.
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
)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: Type: Dimension: | 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:
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. |
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.
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. |