Azure SQL Database as Target
Fivetran HVR supports integrating changes into Azure SQL Database. This section describes the configuration requirements for integrating changes (using Integrate and Refresh) into Azure SQL Database location.
HVR uses the following interfaces to write data into an Azure SQL Database location:
- SQL Server ODBC driver, used to perform Continuous Integrate and Row-wise Refresh.
- SQL Server BCP interface, used for copying data into database tables during Burst Integrate and Bulk Refresh.
When Refreshing Data with option Only Create Target Tables that are Missing in Azure SQL Database, 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 Database.
For simplicity, we have categorized the required permissions into the following two models:
DbOwner
In this permission model, the HVR database User must be made a database owner (db_owner role). Normally, the database objects that HVR sometimes creates will be part of the dbo schema as the replicated tables.
Alternatively, these HVR 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 schemaname; grant control on schema::schemaname to username; alter user username with default_schema=schemaname;
Minimal
In this permission model, the HVR database User does not need to be a database owner. The following SQL commands are needed so that HVR can create its own tables:grant create table to username; create schema schemaname; grant control on schema::schemaname to username; alter user username with default_schema=schemaname;
This permission model cannot be used if action TableProperties is defined with parameter Schema to change tables with a different owner.
Intermediate Directory
This option in the HVR UI allows you to specify a directory path for storing intermediate (temporary) files generated during Compare. These files are created during both "direct file compare" and "online compare" operations.
Using an intermediate directory can enhance performance by ensuring that temporary files are stored in a location optimized for the system's data processing needs.
This setting is particularly relevant for target file locations, as it determines where the intermediate files are placed during the Compare operation. If this option is not enabled, the intermediate files are stored by default in the integratedir/_hvr_intermediate directory, where integratedir is the replication DIRECTORY (File_Path) defined for the target file location.
This option is equivalent to the location property Intermediate_Directory.
Intermediate Directory is Local
This option in HVR UI specifies that the Intermediate Directory will be created on the local drive of the file location's server.
This setting is crucial for optimizing performance, as it reduces network latency and avoids potential permission issues associated with remote storage. By storing intermediate files locally, HVR can process data more efficiently, taking advantage of the speed and reliability of local storage.
This option is particularly beneficial when the HVR Agent has access to ample local storage, enabling it to handle large data volumes without relying on networked storage solutions.
This option is equivalent to the location property Intermediate_Directory_Is_Local.