Install

Install SQLBeat in one script.

SQLBeat installs from its GitHub repository with a PowerShell script that creates the databases, objects, settings and jobs, then adds your first server group and alert recipient. Plan on about 30 minutes once the prerequisites are in place.

AVAILABLE

SQL Server Standard edition or above

SQLBeat's jobs run on the built-in SQL Server Agent. This is the path described below.

COMING

SQL Server Express

Express has no SQL Agent, so SQLBeat's jobs will run on SQL Free Agent. This path isn't available yet.

Prefer not to do it yourself? We install SQLBeat remotely for a fixed price. See installation services.

Before you start

Prerequisites

  1. A dedicated SQL Server instance

    Standard edition or above, with SQL Agent running and set to start automatically, and a case-insensitive collation. SQLBeat can share an instance, but it gets busy, so its own instance is best.

  2. A login with sysadmin rights

    The installer creates databases, enables server options and creates jobs. Use Windows authentication, or pass a SQL login with -SqlCredential. Credentials are used only while installing.

  3. A folder for the shared scripts

    A local folder, for example D:\SQLBeat\Shared, shared on the network so the SQL Server service accounts of the monitored servers can read it. The installer can create the share for you.

  4. Network access

    From the SQLBeat server to each monitored server: SQL Server, WMI (including the RPC/DCOM port range) and file shares. And an SMTP server SQLBeat can send through.

Install

Run the installer

  1. Get the code

    Clone the repository, or download it as a ZIP from GitHub, onto the SQLBeat server.

    git clone https://github.com/TripleThreatSoftware/SQLBeat.git
    cd SQLBeat
  2. Run Install-SQLBeat.ps1

    From an elevated PowerShell prompt (Windows PowerShell 5.1 or PowerShell 7). Add -WhatIf first to see what it would do without changing anything.

    .\install\Install-SQLBeat.ps1 `
        -SqlInstance     SQLBEAT01 `
        -SharedFolder    D:\SQLBeat\Shared `
        -SharedFolderUnc \\SQLBEAT01\SQLBeatShared -CreateShare `
        -AlertEmail      dba@example.com `
        -SmtpServer      smtp.example.com `
        -FirstServer     SQLPROD01 -FirstServerType 'SQL Server'

    Other options: -DataPath and -LogPath for database files, -SmtpPort, -SmtpCredential and -SmtpSsl, -JobOwner, -ServerGroup, and credentials for the first server. Run Get-Help .\install\Install-SQLBeat.ps1 -Full for all of them.

  3. What the installer does

    • Checks the instance: edition, SQL Agent, collation, and any existing SQLBeat databases
    • Enables xp_cmdshell, Agent XPs, Ole Automation Procedures and CLR
    • Creates the Notification, Audit, Configuration and Weblogs databases and all their objects
    • Writes SMTP, email, shared folder and partition settings
    • Copies the shared scripts and, with -CreateShare, creates the share
    • Creates the base SQL Agent jobs
    • Creates your first server group, whose trigger creates its monitoring jobs
    • Adds your alert recipient and, if given, your first monitored server

After installing

Check it's working, then add servers

  1. Confirm data is arriving

    Within a few minutes, the first server should appear in SQLBeat's logs.

    select top 50 * from Notification.dbo.notificationLog order by ymd desc
    select top 50 * from Notification.dbo.pingLog order by ymd desc
  2. Confirm alert email arrives

    If nothing arrives, check the SMTP settings and Notification.dbo.cdosysmail_failures.

  3. Add the rest of your servers

    One call per server. Types are 'SQL Server', 'Server' and 'IIS Web Server'; the last argument is the server group.

    exec Notification.dbo.pr_configureForType 'SQLPROD02', 'SQL Server', 1
    exec Notification.dbo.pr_configureForType 'WEB01', 'IIS Web Server', 1
  4. Tune alert rules

    Start with every alert going to one address, then route and quiet them in messageRules as you learn what matters. Ask in Discussions if you get stuck.

Want a direct line to us? SQLBeat is free; a support retainer is $500 a month.

See support pricing