Skip to content

Commit bd06240

Browse files
Merge pull request #217621 from im-microsoft/20221103-GA-prep
20221108 added new known issues and resolutions.
2 parents ed6f839 + 2f44da9 commit bd06240

File tree

2 files changed

+46
-35
lines changed

2 files changed

+46
-35
lines changed

articles/synapse-analytics/synapse-link/faq.yml

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ metadata:
77
ms.topic: faq
88
ms.subservice: synapse-link
99
ms.custom: event-tier1-build-2022
10-
ms.date: 11/02/2022
10+
ms.date: 11/09/2022
1111
ms.author: yexu
1212
ms.reviewer: wiassaf, imotiwala
1313
title: Azure Synapse Link for SQL FAQ
@@ -27,12 +27,12 @@ sections:
2727
- question: |
2828
Do I need to stop the link connection when I want to add or remove tables to be replicated?
2929
answer: |
30-
No, you can add or remove tables when the link connection is running. The tables which are removed will stop being replicated automatically. The newly added tables will start from initial load with full snapshot and then do incremental synchronization. The rest of the tables in the same link connection will not be impacted.
30+
No, you can add or remove tables when the link connection is running. The tables that are removed will stop being replicated automatically. The newly added tables will start from initial load with full snapshot and then do incremental synchronization. The rest of the tables in the same link connection will not be impacted.
3131
- question: |
32-
My destination tables exist in the target Synapse dedicated SQL pool which causes my link connection to fail to start. What should I do?
32+
My destination tables exist in the target dedicated SQL pool, which causes my link connection to fail to start. What should I do?
3333
answer: |
3434
You should remove the destination tables before starting a link connection. You can do that by either manually removing the tables from Synapse dedicated SQL pool or checking “Drop and recreate table on target” in the link connection to let it automatically drop existing tables on the Synapse dedicated SQL pool every time when starts.
35-
:::image type="content" source="../media/sql-synapse-link-overview/drop-recreate-target-table.png" lightbox="../media/sql-synapse-link-overview/drop-recreate-target-table.png" alt-text="Shows a screenshot of the Drop and Recreate Target Table option for Synapse Link for SQL Server.":::
35+
:::image type="content" source="../media/sql-synapse-link-overview/drop-recreate-target-table.png" lightbox="../media/sql-synapse-link-overview/drop-recreate-target-table.png" alt-text="Shows a screenshot of the Drop and Recreate Target Table option for Azure Synapse Link for SQL Server.":::
3636
- question: |
3737
What happens on my running link connection if the table columns have been added or dropped from our source stores?
3838
answer: |
@@ -42,7 +42,7 @@ sections:
4242
answer: |
4343
Yes, you can.
4444
- question: |
45-
Can I select managed virtual network in Synapse workspace with Synapse managed private endpoints which allow the link connection to privately connect to the source database?
45+
Can I select managed virtual network in Synapse workspace with Synapse managed private endpoints, which allow the link connection to privately connect to the source database?
4646
answer: |
4747
Yes, you can. Similar like all the workloads in Synapse. You can enable Synapse link for SQL in Azure Synapse-managed virtual network to replicate data from SQL to Synapse in a secure manner. You can protect against data exfiltration by allowing outbound connectivity from the managed virtual network only to approved targets using managed private endpoints.
4848
- question: |
@@ -57,11 +57,15 @@ sections:
5757
- question: |
5858
How should I select the structure type of my destination table in the Synapse dedicated SQL pool?
5959
answer: |
60-
You can refer to [Indexing tables - Azure Synapse Analytics | Microsoft Docs](../sql-data-warehouse/sql-data-warehouse-tables-index.md) to understand the three options for table structure type. When clustered columnstore index is chosen, data type with max length (eg. VARCHAR(MAX)) is not supported.
60+
You can refer to [Indexing tables - Azure Synapse Analytics | Microsoft Docs](../sql-data-warehouse/sql-data-warehouse-tables-index.md) to understand the three options for table structure type. When clustered columnstore index is chosen, data type with max length (for example, VARCHAR(MAX)) is not supported.
6161
- question: |
6262
Do I need to clean up data in the landing zone?
6363
answer: |
6464
No. There is a background thread that removes committed files after around 24 hours as long as the link is continuously running. When the link is stopped then the entire landing zone folder is removed.
65+
- question: |
66+
In which regions is Azure Synapse Link for SQL available?
67+
answer: |
68+
Azure Synapse Link for SQL is available in all regions where [Azure Synapse Workspace is currently available](https://azure.microsoft.com/explore/global-infrastructure/products-by-region/?products=synapse-analytics&rar=true&regions=all).
6569
- question: |
6670
Where is my landing zone located?
6771
answer: |
@@ -93,7 +97,7 @@ sections:
9397
- question: |
9498
There is a documented limit of 7,500 bytes per row for Azure Synapse Link for SQL. What if I have larger data rows in my source database?
9599
answer: |
96-
This restriction is for on-page data only. For off-page data, the only thing that counts against the 7,500 byte limit is the 24 byte pointer to the off-page data.
100+
This restriction is for on-page data only. For off-page data, the only thing that counts against the 7,500-byte limit is the 24-byte pointer to the off-page data.
97101
- question: |
98102
What data replication mechanism is used by Azure Synapse Link for SQL?
99103
answer: |
@@ -105,7 +109,7 @@ sections:
105109
- question: |
106110
What is the impact when a user removes the Azure Synapse workspace that contains an Azure Synapse Link to Azure SQL DB?
107111
answer: |
108-
If the Azure Synapse workspace is removed, Azure SQL DB will stop data replication from landing zone into Azure Synapse. The system stored procedure [sp_change_feed_drop_table_group](/sql/relational-databases/system-stored-procedures/sp-change-feed-drop-table-group) will be called automatically, and the storage account for the landing zone is managed and will be cleaned up automatically.
112+
If the Azure Synapse workspace is removed, Azure SQL DB will stop data replication from landing zone into Azure Synapse. The system stored procedure [sp_change_feed_drop_table_group](/sql/relational-databases/system-stored-procedures/sp-change-feed-drop-table-group) will be called automatically, and the storage account for the landing zone is managed and will be cleaned up automatically. If this fails, you may receive error 22739 from the SynapseGatewayClient in [sys.dm_change_feed_errors](/sql/relational-databases/system-dynamic-management-views/sys-dm-change-feed-errors). If this occurs, you can manually drop the changefeed table group with `sp_change_feed_drop_table_group`.
109113
- question: |
110114
What is the impact when a user removes the Azure Synapse workspace that contains an Azure Synapse Link to SQL Server?
111115
answer: |

articles/synapse-analytics/synapse-link/synapse-link-for-sql-known-issues.md

Lines changed: 34 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ ms.service: synapse-analytics
66
ms.topic: troubleshooting
77
ms.subservice: synapse-link
88
ms.custom: event-tier1-build-2022
9-
ms.date: 11/02/2022
9+
ms.date: 11/09/2022
1010
ms.author: jburchel
1111
ms.reviewer: jburchel, chuckheinzelman, wiassaf, imotiwala
1212
---
@@ -30,7 +30,7 @@ This is the list of known limitations for Azure Synapse Link for SQL.
3030
* Source table row size can't exceed 7,500 bytes. For tables where variable-length columns are stored off-row, a 24-byte pointer is stored in the main record.
3131
* Tables enabled for Azure Synapse Link for SQL can have a maximum of 1,020 columns (not 1,024).
3232
* While a database can have multiple links enabled, a given table can't belong to multiple links.
33-
* When a database owner doesn't have a mapped log in, Azure Synapse link for SQL will run into an error when enabling a link connection. User can set database owner to a valid user with the `ALTER AUTHORIZATION` command to fix this issue.
33+
* When a database owner doesn't have a mapped login, Azure Synapse Link for SQL will run into an error when enabling a link connection. User can set database owner to a valid user with the `ALTER AUTHORIZATION` command to fix this issue.
3434
* If the source table contains computed columns or columns with data types that aren't supported by Azure Synapse Analytics dedicated SQL pools, these columns won't be replicated to Azure Synapse Analytics. Unsupported columns include:
3535
* image
3636
* text
@@ -41,7 +41,6 @@ This is the list of known limitations for Azure Synapse Link for SQL.
4141
* geometry
4242
* geography
4343
* A maximum of 5,000 tables can be added to a single link connection.
44-
* When a source column is of type datetime2(7) or time(7), the last digit will be truncated when data is replicated to Azure Synapse Analytics.
4544
* The following table DDL operations aren't allowed on source tables when they are enabled for Azure Synapse Link for SQL. All other DDL operations are allowed, but they won't be replicated to Azure Synapse Analytics.
4645
* Switch Partition
4746
* Add/Drop/Alter Column
@@ -61,16 +60,25 @@ This is the list of known limitations for Azure Synapse Link for SQL.
6160
* System tables can't be replicated.
6261
* The security configuration from the source database will **NOT** be reflected in the target dedicated SQL pool.
6362
* Enabling Azure Synapse Link for SQL will create a new schema called `changefeed`. Don't use this schema, as it is reserved for system use.
64-
* Source tables with collations that are unsupported by Synapse SQL dedicated pool, such as UTF8 and certain Japanese collations, can’t be replicated. Here's the [supported collations in Synapse SQL Pool](../sql/reference-collation-types.md).
65-
* Single row updates (including off-page storage) of > 370MB are not supported.
63+
* Azure Synapse Link for SQL will **NOT** work and can't be enabled if your database contains a schema or user named `changefeed`.
64+
* Source tables with collations that are unsupported by dedicated SQL pools, such as UTF8 and certain Japanese collations, can't be replicated. Here's the [supported collations in Synapse SQL Pool](../sql/reference-collation-types.md).
65+
* Additionally, some Thai language collations are currently supported by Azure Synapse Link for SQL. These unsupported collations include:
66+
* Thai100CaseInsensitiveAccentInsensitiveKanaSensitive
67+
* Thai100CaseInsensitiveAccentSensitiveSupplementaryCharacters
68+
* Thai100CaseSensitiveAccentInsensitiveKanaSensitive
69+
* Thai100CaseSensitiveAccentInsensitiveKanaSensitiveWidthSensitiveSupplementaryCharacters
70+
* Thai100CaseSensitiveAccentSensitiveKanaSensitive
71+
* Thai100CaseSensitiveAccentSensitiveSupplementaryCharacters
72+
* ThaiCaseSensitiveAccentInsensitiveWidthSensitive
73+
* Single row updates (including off-page storage) of > 370 MB are not supported.
6674

6775
### Azure SQL DB only
6876
* Azure Synapse Link for SQL isn't supported on Free, Basic or Standard tier with fewer than 100 DTUs.
6977
* Azure Synapse Link for SQL isn't supported on SQL Managed Instances.
7078
* Service principal isn't supported for authenticating to source Azure SQL DB, so when creating Azure SQL DB linked Service, choose SQL authentication, user-assigned managed identity (UAMI) or service assigned managed Identity (SAMI).
7179
* If the Azure SQL Database logical server has both a SAMI and UAMI configured, Azure Synapse Link will use SAMI.
7280
* Azure Synapse Link can't be enabled on the secondary database once a GeoDR failover has happened if the secondary database has a different name from the primary database.
73-
* If you enabled Azure Synapse Link for SQL on your database as an Microsoft Azure Active Directory (Azure AD) user, Point-in-time restore (PITR) will fail. PITR will only work when you enable Azure Synapse Link for SQL on your database as a SQL user.
81+
* If you enabled Azure Synapse Link for SQL on your database as a Microsoft Azure Active Directory (Azure AD) user, Point-in-time restore (PITR) will fail. PITR will only work when you enable Azure Synapse Link for SQL on your database as a SQL user.
7482
* If you create a database as an Azure AD user and enable Azure Synapse Link for SQL, a SQL authentication user (for example, even sysadmin role) won't be able to disable/make changes to Azure Synapse Link for SQL artifacts. However, another Azure AD user will be able to enable/disable Azure Synapse Link for SQL on the same database. Similarly, if you create a database as an SQL authentication user, enabling/disabling Azure Synapse Link for SQL as an Azure AD user won't work.
7583
* When enabling Azure Synapse Link for SQL on your Azure SQL Database, you should ensure that aggressive log truncation is disabled.
7684

@@ -84,13 +92,15 @@ This is the list of known limitations for Azure Synapse Link for SQL.
8492
> Azure Synapse Link for SQL is not supported on databases that are also using Azure SQL Managed Instance Link. Caution that in these scenarios, when the managed instance transitions to read-write mode, you may encounter transaction log full issues.
8593
8694
## Known issues
87-
### Deleting an Azure Synapse Analytics workspace with a running link could cause log in source database to fill
88-
* Applies To - Azure SQL Database and SQL Server 2022
89-
* Issue - When you delete an Azure Synapse Analytics workspace it is possible that running links might not be stopped, which will cause the source database to think that the link is still operational and could lead to the log filling and not being truncated.
95+
96+
### Deleting an Azure Synapse Analytics workspace with a running link could cause the transaction log in the source database to fill
97+
98+
* Applies To - Azure Synapse Link for Azure SQL Database and SQL Server 2022
99+
* Issue - When you delete an Azure Synapse Analytics workspace it is possible that running links might not be stopped, which will cause the source database to think that the link is still operational and could lead to the transaction log to not be truncated, and fill.
90100
* Resolution - There are two possible resolutions to this situation:
91101
1. Stop any running links prior to deleting the Azure Synapse Analytics workspace.
92102
1. Manually clean up the link definition in the source database.
93-
1. Find the table_group_id for the link(s) that need to be stopped using the following query:
103+
1. Find the `table_group_id` for the link(s) that need to be stopped using the following query:
94104
```sql
95105
SELECT table_group_id, workspace_id, synapse_workgroup_name
96106
FROM [changefeed].[change_feed_table_groups]
@@ -104,23 +114,20 @@ This is the list of known limitations for Azure Synapse Link for SQL.
104114
```sql
105115
EXEC sys.sp_change_feed_disable_db
106116
107-
### DateTime2(7) and Time(7) Could Cause Snapshot Hang
108-
* Applies To - Azure SQL Database
109-
* Issue - One of the preview limitations with the data types DateTime2(7) and Time(7) is the loss of precision (only 6 digits are supported). When certain database settings are turned on (`NUMERIC_ROUNDABORT`, `ANSI_WARNINGS`, and `ARITHABORT`), the snapthot process can hang, requiring a database failover to recover.
110-
* Resolution - To resolve this situation, take the following steps:
111-
1. Turn off all three database settings.
112-
```sql
113-
ALTER DATABASE <logical_database_name> SET NUMERIC_ROUNDABORT OFF
114-
ALTER DATABASE <logical_database_name> SET ANSI_WARNINGS OFF
115-
ALTER DATABASE <logical_database_name> SET ARITHABORT OFF
116-
```
117-
1. Run the following query to verify that the settings are in fact turned off.
118-
```sql
119-
SELECT name, is_numeric_roundabort_on, is_ansi_warnings_on, is_arithabort_on
120-
FROM sys.databases
121-
WHERE name = 'logical_database_name'
122-
```
123-
1. Open an Azure support ticket requesting a database failover. Alternately, you could change the Service Level Objective (SLO) of your database instead of opening a ticket.
117+
### Trying to re-enable change feed on a table for that was recently disabled table will show an error. This is an uncommon behavior.
118+
119+
* Applies To - Azure Synapse Link for Azure SQL Database and SQL Server 2022
120+
* Issue - When you try to enable a table that has been recently disabled with its metadata not yet been cleaned up and state marked as DISABLED, an error will be thrown stating `A table can only be enabled once among all table groups`.
121+
* Resolution - Wait for sometime for the disabled table system procedure to complete and then try to re-enable the table again.
122+
123+
### Attempt to enable Synapse Link on database imported using SSDT, SQLPackage for Import/Export and Extract/Deploy operations
124+
125+
* Applies To - Azure Synapse Link for Azure SQL Database and SQL Server 2022
126+
* Issue - For SQL databases enabled with Azure Synapse Link, when you use SSDT Import/Export and Extract/Deploy operations to import/setup a new database, the `changefeed` schema and user do not get excluded in the new database. However, the tables for the changefeed *are* ignored by DaxFX because they are marked as `is_ms_shipped=1` in `sys.objects`, and those objects never included in SSDT Import/Export and Extract/Deploy operations. When enabling Synapse Link on the imported/deployed database, the system stored procedure `sys.sp_change_feed_enable_db` fails if the `changefeed` user and schema already exist. This issue will also be encountered if you have created a user or schema named `changefeed` that is not related to Synapse Link change feed capability.
127+
* Resolution -
128+
* Manually drop the empty `changefeed` schema and `changefeed` user. Then, Synapse Link can be enabled successfully on the imported/deployed database.
129+
* If you have defined a custom schema or user named `changefeed` in your database that is not related to Azure Synapse Link, and you do not intend to use Azure Synapse Link for SQL, it is not necessary to drop your `changefeed` schema or user.
130+
* If you have defined a customer schema or user named `changedfeed` in your database, currently, this database cannot participate in the Azure Synapse Link for SQL.
124131
125132
## Next steps
126133

0 commit comments

Comments
 (0)