Connect Azure Synapse

Connect your Azure Synapse source to Bigeye.

1. Create a user for Bigeye

Ask your database administrator to create a Bigeye user at the database level. See SQL Authentication in Azure Synapse Analytics for more details.

You can create the user by running the following commands.

For each of these statements, make a separate connection to the database.

  1. Connect to master
CREATE LOGIN bigeyeuser WITH PASSWORD = '<password>';
GO;
  1. Connect to the db-to-be-monitored

    CREATE USER bigeyeuser FOR LOGIN bigeyeuser;
    GO;
    ALTER DATABASE [db-to-be-monitored]
    --omit the following if already enabled
    --query history is required for bigeye table popularity ranking
    SET QUERY_STORE = ON;
    GRANT SELECT ON sys.query_store_query TO [bigeyeuser];
    GRANT SELECT ON sys.query_store_query_text TO [bigeyeuser];
    GO;

    Next, grant SELECT and VIEW DEFINITION on each schema Bigeye will read from. Both permissions are scoped to a single schema in SQL Server / Synapse, so they must be granted on every schema containing tables or views you want Bigeye to monitor.

    Choose one of the following approaches.

    Option A — Grant at the database level (recommended for most cases). This covers every schema in the database, including schemas added later. VIEW DEFINITION exposes only metadata (object names, column types, and definitions), not row data.

    GRANT SELECT TO bigeyeuser;
    GRANT VIEW DEFINITION TO bigeyeuser;
    GO;

    Option B — Grant per schema. Use this if your security policy requires schema-level grants. Run the statements below for each schema Bigeye connects to:

    GRANT SELECT ON SCHEMA :: <schema_name> TO bigeyeuser;
    GRANT VIEW DEFINITION ON SCHEMA :: <schema_name> TO bigeyeuser;
    GO;

    Option C — Generate the grants automatically. To produce GRANT statements for every user-defined schema in the current database, run:

    SELECT 'GRANT SELECT ON SCHEMA :: ' + name + ' TO bigeyeuser;' +
           ' GRANT VIEW DEFINITION ON SCHEMA :: ' + name + ' TO bigeyeuser;'
    FROM sys.schemas
    WHERE name NOT IN ('sys', 'INFORMATION_SCHEMA', 'guest', 'db_owner',
                       'db_accessadmin', 'db_securityadmin', 'db_ddladmin',
                       'db_backupoperator', 'db_datareader', 'db_datawriter',
                       'db_denydatareader', 'db_denydatawriter');

    Copy the results into the query window, remove any schemas Bigeye should not access, and execute.

    Object-level grants (alternative). For finer-grained control, you can grant SELECT on individual tables instead of whole schemas:

    --example
    --GRANT SELECT ON bigeyeTest.stage.orders TO bigeyeuser;

2. Allow Bigeye IP

Navigate to Firewalls and virtual networks > Add client IP. Enter the Start and End IP using one of Bigeye's Static IP addresses .

1600

Repeat step 2 for each of Bigeye's Static IP addresses .

3. Gather Synapse connection information

Gather the following connection information:

  • Fully qualified server name that hosts the database you want to connect to
    For example: bigeye-integration-testing.sql.azuresynapse.net
  • Name of the database
  • Authentication method: Username and password

4. Add Synapse as a data source in Bigeye

On the Catalog page, click Add Source and select Synapse from the Choose a data source section. Click Next to configure the connection to your database.

On the Configure source modal that opens, enter the following details:

Field NameDescription
AliasThe identifying name for the data source.
VendorSynapse
HostnameThe name of the server that hosts your database.
Port1433
DatabaseThe name of the database.
UsernameThe name of the dedicated user for Bigeye.
PasswordThe password that is created for the Bigeye user.

5. Next Steps

After you've configured the source, Bigeye loads and profiles your tables. It can take up to 24 hours for the profiling to complete and your autometrics and autothresholds to populate. You can now proceed to the next steps in the Getting Started guide.


What’s Next