Hi @Sahar Meghrazi ,
Welcome to Microsoft Q&A forum.
As I understand, you are trying to perform SQL Data sync and getting error.
Could you please ensure below pointers are considered for this sync:
1). The Hub Database must be an Azure SQL Database.
2). If you're using an on-premises database as a member database, you have to install and configure a local sync agent.
You have to open outbound TCP port 1433 in the firewall to let the client agent communicate with the server.
Refer: https://learn.microsoft.com/en-us/azure/azure-sql/database/sql-data-sync-sql-server-configure?view=azuresql#add-a-database-on-a-sql-server-instance-as-a-member-to-a-sync-group
3). Snapshot isolation must be enabled for both Sync members and hub. For more info, see Snapshot Isolation in SQL Server.
4). Moving servers between different subscriptions isn't supported.
5). Microsoft Entra (formerly Azure Active Directory) authentication isn't supported.
Other limitations to be considered:
- A table can't have an identity column that isn't the primary key.
- A primary key can't have the following data types: sql_variant, binary, varbinary, image, xml.
- Be cautious when you use the following data types as a primary key, because the supported precision is only to the second: time, datetime, datetime2, datetimeoffset.
- The names of objects (databases, tables, and columns) can't contain the printable characters period (
.
), left square bracket ([
), or right square bracket (]
).
- A table name can't contain printable characters:
! " # $ % ' ( ) * + -
or space.
- Microsoft Entra (formerly Azure Active Directory) authentication isn't supported.
- If there are tables with the same name but different schema (for example,
dbo.customers
and sales.customers
) only one of the tables can be added into sync.
- Columns with user-defined data types aren't supported.
- Moving servers between different subscriptions isn't supported.
- If two primary keys are only different in case (for example,
Foo
and foo
), Data Sync won't support this scenario.
- Truncating tables isn't an operation supported by Data Sync (changes won't be tracked).
- Using an Azure SQL Hyperscale database as a Hub or Sync Metadata database isn't supported. However, a Hyperscale database can be a member database in a Data Sync topology.
- Memory-optimized tables aren't supported.
- Schema changes aren't automatically replicated. A custom solution can be created to automate the replication of schema changes.
- Data Sync supports only the following two index properties: Unique, Clustered/Non-Clustered. Other properties of an index, like IGNORE_DUP_KEY or the WHERE filter predicate, aren't supported and the destination index is provisioned without these properties even if the source Index has these properties set.
- An Azure Elastic jobs database can't be used as the SQL Data Sync Metadata database, and vice versa.
- SQL Data Sync isn't supported for ledger databases.
If issue is related to insufficient privileges, then try Resolution. Grant log-on-as-a-service credentials to the user account:
- Go to Start > Control Panel > Administrative Tools > Local Security Policy > Local Policy > User Rights Management.
- Select Log on as a service.
- In the Properties dialog box, add the user account.
- Select Apply, and then select OK.
- Close all windows.
If you receive the error message Sync0022 Customer does not have authorization to perform action 'syncGroupOperationResults/read'
, the account attempting the operation does not have sufficient subscription-level permissions. Add:
- "Microsoft.Sql/locations/syncMemberOperationResults/read"
- "Microsoft.Sql/locations/syncAgentOperationResults/read"
- "Microsoft.Sql/locations/syncGroupOperationResults/read"
For more information, see Resource provider operations RBAC and SQL Data Sync Database accounts with least required privileges.
Let us know if above helped. If not, please share more details and observations so that we can assist you.
Thanks