Hello Mina Sabry Anis Metry,
Thanks for posting your query on Microsoft Q&A!
Yes, you are correct, Azure SQL Data Sync has a hard limit of 500 tables per sync group. If the sync user has visibility to more than 500 tables, the portal will hang or fail during the “Refresh Schema” operation. This is a known limitation and attempts to bypass it using scripts or custom logic will not succeed, as they rely on the same metadata enumeration.
Please try the below approach to work around:
To sync more than 500 tables, you’ll need to split your tables into subsets and create multiple sync groups:
Divide your tables into logical subsets, each with no more than 500 tables. Group related tables together to preserve referential integrity.
Create a dedicated sync user for each subset, granting permissions only on the relevant tables.
Create a separate sync group for each subset in the Azure portal, using the corresponding sync user.
- Refresh the schema only the tables visible to that user will load.
Repeat for each subset until all tables are covered.
This approach ensures that each sync group stays within the supported limit and allows you to reliably configure synchronization for all 600+ tables.
Validation Steps: Confirm each sync user sees ≤500 tables using:
EXECUTE AS USER = 'SyncUserA';
SELECT COUNT(*) FROM sys.tables;
REVERT;
After setup, verify the table count in each sync group.
Run initial syncs and check logs for any errors.
Note: Each sync group runs independently, so performance may vary based on table size and sync frequency
Refer the below document for more details:
https://azure.microsoft.com/en-us/blog/sync-sql-data-in-large-scale-using-azure-sql-data-sync/
Please let us know if you need further assistance.
Kindly consider upvoting the comment if the information provided is helpful. This can assist other community members in resolving similar issues.
Thanks!
Kalyani