Azure SQL Managed Instance as Target - DSS 6 | Data Source Solutions Documentation

Documentation: Azure SQL Managed Instance as Target - DSS 6 | Data Source Solutions Documentation

Azure SQL Managed Instance as Target

Data Source Solutions DSS supports integrating changes into Azure SQL Managed Instance. This section describes the configuration requirements for integrating changes (using Integrate and Refresh) into Azure SQL Managed Instance location.

DSS uses the following interfaces to write data into an Azure SQL Managed Instance location:

When Refreshing Data with option Only Create Target Tables that are Missing in Azure SQL Managed Instance, option No Indexes should not be defined because Azure does not support tables without Clustered Indexes.

Grants for Integrate and Refresh

This section lists the grants/permissions required for integrating changes into Azure SQL Managed Instance.

For simplicity, we have categorized the required permissions into the following two models:

  • DbOwner
    In this permission model, the DSS database User must be made a database owner (db_owner role). Normally, the database objects that DSS sometimes creates will be part of the dbo schema as the replicated tables.
    Alternatively, these DSS database objects can be put in a special database schema so that they are not visible to other users. Following are the SQL commands for this alternate method:

    create schema <em>schemaname;</em>
    
    grant control on schema::<em>schemaname</em> to <em>username;</em>
    
    alter user <em>username</em> with default_schema=<em>schemaname;</em>
    
  • Minimal
    In this permission model, the DSS database User does not need to be a database owner. The following SQL commands are needed so that DSS can create its own tables:

    grant create table to <em>username;</em>
    
    create schema <em>schemaname;</em>
    
    grant control on schema::<em>schemaname </em>to <em>username;</em>
    
    alter user <em>username </em>with default_schema=<em>schemaname;</em>
    

This permission model cannot be used if action TableProperties is defined with parameter Schema to change tables with a different owner.

Intermediate Directory

{% partial file="dss6/requirements/source-and-target-requirements/intermediate-directory.template.md" /%}

Intermediate Directory is Local

{% partial file="dss6/requirements/source-and-target-requirements/intermediate-directory-local.template.md" /%}