Řešení potíží s konektory služby Azure Synapse Analytics, Azure SQL Database, SQL Serveru, Azure SQL Managed Instance a Amazon RDS pro SQL Server ve službě Azure Data Factory a Azure Synapse.

PLATÍ PRO: Azure Data Factory Azure Synapse Analytics

Tip

Vyzkoušejte si službu Data Factory v Microsoft Fabric, řešení pro analýzy typu all-in-one pro podniky. Microsoft Fabric zahrnuje všechno od přesunu dat až po datové vědy, analýzy v reálném čase, business intelligence a vytváření sestav. Přečtěte si, jak začít používat novou zkušební verzi zdarma.

Tento článek obsahuje návrhy pro řešení běžných problémů s konektory Azure Synapse Analytics, Azure SQL Database, SQL Server, Azure SQL Managed Instance a Amazon RDS pro konektory SQL Serveru ve službě Azure Data Factory a Azure Synapse.

Kód chyby: SqlFailedTo Připojení

  • Zpráva: Cannot connect to SQL Database: '%server;', Database: '%database;', User: '%user;'. Check the linked service configuration is correct, and make sure the SQL Database firewall allows the integration runtime to access.

  • Příčiny a doporučení: K této chybě můžou vést různé příčiny. Projděte si následující seznam možných analýz příčin a souvisejících doporučení.

    Analýza příčin Doporučení
    Pokud chybová zpráva pro Azure SQL obsahuje řetězec SqlErrorNumber=47073, znamená to, že v nastavení připojení je odepřen přístup k veřejné síti. Na bráně firewall Azure SQL nastavte možnost Odepřít přístup k veřejné síti na Hodnotu Ne. Další informace najdete v tématu Nastavení připojení Azure SQL.
    Pokud chybová zpráva Azure SQL obsahuje kód chyby SQL, například SqlErrorNumber=[errorcode], prohlédnou si průvodce odstraňováním potíží s Azure SQL. Doporučení najdete v tématu Řešení potíží s připojením a dalších chyb ve službě Azure SQL Database a azure SQL Managed Instance.
    Zkontrolujte, jestli je port 1433 v seznamu povolených bran firewall. Další informace naleznete v tématu Porty používané SQL Serverem.
    Pokud chybová zpráva obsahuje řetězec SqlException, sql Database tato chyba značí, že došlo k selhání určité operace. Další informace potřebujete vyhledat podle kódu chyby SQL v chybách databázového stroje. Pokud potřebujete další pomoc, obraťte se na podporu Azure SQL.
    Pokud se jedná o přechodný problém (například instable network connection), přidejte do zásad aktivit opakování, abyste ho zmírňovali. Další informace najdete v tématu Kanály a aktivity.
    Pokud chybová zpráva obsahuje řetězec "Klient s IP adresou ..." nemá povolený přístup k serveru" a pokoušíte se připojit ke službě Azure SQL Database, příčinou chyby je obvykle problém s bránou firewall služby Azure SQL Database. V konfiguraci brány firewall Azure SQL Serveru povolte možnost Umožnit službám a prostředkům Azure přistupovat k tomuto serveru. Další informace najdete v tématu Azure SQL Database a pravidla brány firewall protokolu IP služby Azure Synapse.
    Pokud chybová zpráva obsahuje Login failed for user '<token-identified principal>', příčinou této chyby je obvykle udělení dostatečného oprávnění spravované identitě instančního objektu nebo spravované identitě přiřazené systémem nebo spravované identitě přiřazené uživatelem (závisí na tom, jaký typ ověřování zvolíte) ve vaší databázi. Udělte dostatek oprávnění spravované identitě přiřazené systémem nebo spravované identitě přiřazené uživatelem ve vaší databázi.

    Pro Azure SQL Database:
        – Pokud používáte ověřování instančního objektu, postupujte podle ověřování instančního objektu.
        – Pokud používáte ověřování spravované identity přiřazené systémem, postupujte podle ověřování spravované identity přiřazené systémem.
        – Pokud používáte ověřování spravované identity přiřazené uživatelem, postupujte podle ověřování spravované identity přiřazené uživatelem.
       
    Pro Azure Synapse Analytics:
        – Pokud používáte ověřování instančního objektu, postupujte podle ověřování instančního objektu.
        – Pokud používáte ověřování spravované identity přiřazené systémem, postupujte podle spravovaných identit přiřazených systémem pro ověřování prostředků Azure.
        – Pokud používáte ověřování spravované identity přiřazené uživatelem, postupujte podle ověřování spravované identity přiřazené uživatelem.
       
    Pro spravovanou instanci Azure SQL:
        – Pokud používáte ověřování instančního objektu, postupujte podle ověřování instančního objektu.
       – Pokud používáte ověřování spravované identity přiřazené systémem, postupujte podle ověřování spravované identity přiřazené systémem.
       – Pokud používáte ověřování spravované identity přiřazené uživatelem, postupujte podle ověřování spravované identity přiřazené uživatelem.
    Pokud se setkáte s chybovou zprávou, která obsahuje The server was not found or was not accessible použití služby Azure SQL Managed Instance, příčinou této chyby je obvykle nepovolování veřejného koncového bodu služby Azure SQL Managed Instance. Informace o konfiguraci veřejného koncového bodu ve službě Azure SQL Managed Instance najdete v tématu Konfigurace veřejného koncového bodu služby Azure SQL Managed Instance.

Kód chyby: SqlOperationFailed

  • Zpráva: A database operation failed. Please search error to get more details.

  • Příčiny a doporučení: K této chybě můžou vést různé příčiny. Projděte si následující seznam možných analýz příčin a souvisejících doporučení.

    Analýza příčin Doporučení
    Pokud chybová zpráva obsahuje řetězec SqlException, služba SQL Database vyvolá chybu, která značí selhání určité operace. Pokud je chyba SQL nejasná, zkuste databázi upravit na nejnovější úroveň kompatibility 150. Může vyvolat nejnovější verze chyb SQL. Další informace najdete v dokumentaci.
    Další informace o řešení potíží s SQL najdete v kódu chyby SQL v databázových strojích. Pokud potřebujete další pomoc, obraťte se na podporu Azure SQL.
    Pokud chybová zpráva obsahuje řetězec PdwManagedToNativeInteropException, příčinou je obvykle neshoda mezi velikostmi sloupců zdroje a jímky. Zkontrolujte velikost sloupců zdroje i jímky. Pokud potřebujete další pomoc, obraťte se na podporu Azure SQL.
    Pokud chybová zpráva obsahuje řetězec InvalidOperationException, příčinou jsou obvykle neplatná vstupní data. Pokud chcete zjistit, u kterého řádku došlo k problému, povolte u aktivity kopírování funkci odolnosti proti chybám, která může problematické řádky přesměrovat do úložiště pro další šetření. Další informace naleznete v tématu Odolnost proti chybám aktivity kopírování.
    Pokud chybová zpráva obsahuje vypršení časového limitu spuštění, obvykle je příčinou vypršení časového limitu dotazu. Pokud chcete zvýšit časový limit, nakonfigurujte časový limit dotazu ve zdrojovém a dávkovém časovém limitu v jímce.
    Pokud chybová zpráva obsahuje Cannot find the object "dbo.Contoso" because it does not exist or you do not have permissions. , když kopírujete data z hybridního prostředí do místní tabulky SQL Serveru, znamená to, že aktuální účet SQL nemá dostatečná oprávnění ke spouštění požadavků vydaných rozhraním .NET SqlBulkCopy.WriteToServer nebo vaší tabulky nebo databáze. Přepněte na privilegovaný účet SQL nebo zkontrolujte, jestli tabulka nebo databáze existuje.

Kód chyby: SqlUnauthorizedAccess

  • Zpráva: Cannot connect to '%connectorName;'. Detail Message: '%message;'

  • Příčina: Přihlašovací údaje jsou nesprávné nebo přihlašovací účet nemá přístup k databázi SQL.

  • Doporučení: Zkontrolujte, jestli má přihlašovací účet dostatečná oprávnění pro přístup k databázi SQL.

Kód chyby: SqlOpen Připojení ionTimeout

  • Zpráva: Open connection to database timeout after '%timeoutValue;' seconds.

  • Příčina: Příčinou problému může být přechodné selhání databáze SQL.

  • Doporučení: Zkuste operaci zopakovat a aktualizujte propojenou službu připojovací řetězec s větší hodnotou časového limitu připojení.

Kód chyby: SqlAutoCreateTableTypeMapFailed

  • Zpráva: Type '%dataType;' in source side cannot be mapped to a type that supported by sink side(column name:'%columnName;') in autocreate table.

  • Příčina: Tabulka automatického vytváření nemůže splňovat zdrojový požadavek.

  • Doporučení: Aktualizujte typ sloupce v mapováních nebo ručně vytvořte tabulku jímky na cílovém serveru.

Kód chyby: SqlDataTypeNotSupported

  • Zpráva: A database operation failed. Check the SQL errors.

  • Příčina: Pokud k problému dochází ve zdroji SQL a chyba souvisí s přetečením SqlDateTime, hodnota dat překračuje rozsah typů logiky (1.1.1753 12:00:00–12.31.9999 11:59:59).

  • Doporučení: Přetypujte typ na řetězec ve zdrojovém dotazu SQL nebo v mapování sloupce aktivity kopírování změňte typ sloupce na String.

  • Příčina: Pokud k problému dochází v jímce SQL a chyba souvisí s přetečením SqlDateTime, hodnota dat překračuje povolený rozsah v tabulce jímky.

  • Doporučení: Aktualizujte odpovídající typ sloupce na typ datetime2 v tabulce jímky.

Kód chyby: SqlInvalidDbStoredProcedure

  • Zpráva: The specified Stored Procedure is not valid. It could be caused by that the stored procedure doesn't return any data. Invalid Stored Procedure script: '%scriptName;'.

  • Příčiny a doporučení: K této chybě můžou vést různé příčiny. Projděte si následující seznam možných analýz příčin a souvisejících doporučení.

    Analýza příčin Doporučení
    Zadaná uložená procedura je neplatná. Ověřte uloženou proceduru pomocí nástrojů SQL. Ujistěte se, že uložená procedura může vracet data.
    Aktivita Vyhledávání vyžaduje, aby uložená procedura vrátila nějakou hodnotu, ale kód uložené procedury nevrací žádnou hodnotu. Aktivita Uložená procedura použijte, pokud se očekává, že uložená procedura nevrátí žádná data.

Kód chyby: SqlInvalidDbQueryString

  • Zpráva: The specified SQL Query is not valid. It could be caused by that the query doesn't return any data. Invalid query: '%query;'

  • Příčina: Zadaný dotaz SQL je neplatný. Příčinou může být to, že dotaz nevrací žádná data.

  • Doporučení: Pomocí nástrojů SQL ověřte dotaz SQL. Ujistěte se, že dotaz může vracet data.

Kód chyby: SqlInvalidColumnName

  • Zpráva: Column '%column;' does not exist in the table '%tableName;', ServerName: '%serverName;', DatabaseName: '%dbName;'.

  • Příčina: Sloupec nelze najít, protože konfigurace může být nesprávná.

  • Doporučení: Ověřte sloupec v dotazu, strukturu v datové sadě a mapování v aktivitě.

Kód chyby: SqlBatchWriteTimeout

  • Zpráva: Timeouts in SQL write operation.

  • Příčina: Příčinou problému může být přechodné selhání databáze SQL.

  • Doporučení: Zkuste operaci zopakovat. Pokud problém přetrvává, obraťte se na podporu Azure SQL.

Kód chyby: SqlBatchWriteTransactionFailed

  • Zpráva: SQL transaction commits failed.

  • Příčina: Pokud podrobnosti o výjimce neustále označují vypršení časového limitu transakce, latence sítě mezi prostředím Integration Runtime a databází je větší než výchozí prahová hodnota 30 sekund.

  • Doporučení: Aktualizujte připojovací řetězec propojené služby SQL s hodnotou časového limitu připojení, která je rovna nebo větší než 120, a znovu spusťte aktivitu.

  • Příčina: Pokud podrobnosti o výjimce přerušovaně značí, že připojení SQL je přerušené, může se jednat o přechodné selhání sítě nebo problém na straně databáze SQL.

  • Doporučení: Zkuste aktivitu zopakovat a zkontrolujte metriky na straně databáze SQL.

Kód chyby: SqlBulkCopyInvalidColumnLength

  • Zpráva: SQL Bulk Copy failed due to receive an invalid column length from the bcp client.

  • Příčina: Hromadné kopírování SQL se nezdařilo, protože obdrželo neplatnou délku sloupce z klienta programu hromadného kopírování (bcp).

  • Doporučení: Pokud chcete zjistit, u kterého řádku došlo k problému, povolte u aktivity kopírování funkci odolnosti proti chybám. To může přesměrovat problematické řádky do úložiště pro další šetření. Další informace naleznete v tématu Odolnost proti chybám aktivity kopírování.

Kód chyby: Sql Připojení ionIsClosed

  • Zpráva: The connection is closed by SQL Database.

  • Příčina: Připojení SQL je uzavřeno databází SQL při vysokém souběžné spuštění a server ukončí připojení.

  • Doporučení: Zkuste připojení zopakovat. Pokud problém přetrvává, obraťte se na podporu Azure SQL.

Kód chyby: SqlServerInvalidLinkedServiceCredentialMissing

  • Zpráva: The SQL Server linked service is invalid with its credential being missing.

  • Příčina: Propojená služba nebyla správně nakonfigurovaná.

  • Doporučení: Ověřte a opravte propojenou službu SQL Serveru.

Kód chyby: SqlParallelFailedToDetectPartitionColumn

  • Zpráva: Failed to detect the partition column with command '%command;', %message;.

  • Příčina: V tabulce není žádný primární klíč ani jedinečný klíč.

  • Doporučení: Zkontrolujte tabulku a ujistěte se, že je vytvořen primární klíč nebo jedinečný index.

Kód chyby: SqlParallelFailedToDetectPhysicalPartitions

  • Zpráva: Failed to detect the physical partitions with command '%command;', %message;.

  • Příčina: Pro tabulku se nevytvořijí žádné fyzické oddíly. Zkontrolujte databázi.

  • Doporučení: Pokud chcete tento problém vyřešit, použijte odkaz na vytvoření dělených tabulek a indexů .

Kód chyby: SqlParallelFailedToGetPartitionRangeSynapse

  • Zpráva: Failed to get the partitions for azure synapse with command '%command;', %message;.

  • Příčina: Pro tabulku se nevytvořijí žádné fyzické oddíly. Zkontrolujte databázi.

  • Doporučení: Pokud chcete tento problém vyřešit, odkazování na tabulky dělení ve vyhrazeném fondu SQL

Chybová zpráva: Převod se nezdařil při převodu z řetězce znaků na uniqueidentifier

  • Příznaky: Při kopírování dat z tabulkového zdroje dat (například SQL Serveru) do Azure Synapse Analytics pomocí fázované kopie a PolyBase se zobrazí následující chyba:

    ErrorCode=FailedDbOperation,Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException, Message=Error happened when loading data into Azure Synapse Analytics., Source=Microsoft.DataTransfer.ClientLibrary,Type=System.Data.SqlClient.SqlException, Message=Conversion failed when converting from a character string to uniqueidentifier...

  • Příčina: Azure Synapse Analytics PolyBase nemůže převést prázdný řetězec na identifikátor GUID.

  • Řešení: V jímce aktivity kopírování v nastavení PolyBase nastavte výchozí možnost použít na false.

Chybová zpráva: Očekávaný datový typ: DECIMAL(x;x), hodnota off-endingu

  • Příznaky: Při kopírování dat z tabulkového zdroje dat (například SQL Serveru) do Azure Synapse Analytics pomocí fázované kopie a PolyBase se zobrazí následující chyba:

    ErrorCode=FailedDbOperation,Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException, Message=Error happened when loading data into Azure Synapse Analytics., Source=Microsoft.DataTransfer.ClientLibrary,Type=System.Data.SqlClient.SqlException, Message=Query aborted-- the maximum reject threshold (0 rows) was reached while reading from an external source: 1 rows rejected out of total 415 rows processed. (/file_name.txt) Column ordinal: 18, Expected data type: DECIMAL(x,x), Offending value:..

  • Příčina: Azure Synapse Analytics PolyBase nemůže vložit prázdný řetězec (hodnota null) do desetinného sloupce.

  • Řešení: V jímce aktivity kopírování v nastavení PolyBase nastavte výchozí možnost použít na false.

Chybová zpráva: Zpráva o výjimce Java: HdfsBridge::CreateRecordReader

  • Příznaky: Zkopírujete data do Azure Synapse Analytics pomocí PolyBase a zobrazí se následující chyba:

    Message=110802;An internal DMS error occurred that caused this operation to fail. Details: Exception: Microsoft.SqlServer.DataWarehouse.DataMovement.Common.ExternalAccess.HdfsAccessException, Message: Java exception raised on call to HdfsBridge_CreateRecordReader. Java exception message:HdfsBridge::CreateRecordReader - Unexpected error encountered creating the record reader.: Error [HdfsBridge::CreateRecordReader - Unexpected error encountered creating the record reader.] occurred while accessing external file.....

  • Příčina: Příčinou může být příliš velké schéma (celková šířka sloupce) (větší než 1 MB). Zkontrolujte schéma cílové tabulky Azure Synapse Analytics přidáním velikosti všech sloupců:

    • Int = 4 bajty
    • Bigint = 8 bajtů
    • Varchar(n), char(n), binary(n), varbinary(n) = n bajtů
    • Nvarchar(n), nchar(n) = n*2 bajty
    • Datum = 6 bajtů
    • Datetime/(2), smalldatetime = 16 bajtů
    • Datetimeoffset = 20 bajtů
    • Desetinné číslo = 19 bajtů
    • Float = 8 bajtů
    • Money = 8 bajtů
    • Smallmoney = 4 bajty
    • Real = 4 bajty
    • Smallint = 2 bajty
    • Čas = 12 bajtů
    • Tinyint = 1 bajt
  • Řešení:

    • Zmenšete šířku sloupce na méně než 1 MB.
    • Nebo můžete použít přístup hromadného vložení zakázáním PolyBase.

Chybová zpráva: Podmínka zadaná pomocí podmíněných hlaviček HTTP není splněna.

  • Příznaky: K načtení dat z Azure Synapse Analytics použijete dotaz SQL a zobrazí se následující chyba:

    ...StorageException: The condition specified using HTTP conditional header(s) is not met...

  • Příčina: Služba Azure Synapse Analytics narazila na problém při dotazování na externí tabulku ve službě Azure Storage.

  • Řešení: Spusťte stejný dotaz v aplikaci SQL Server Management Studio (SSMS) a zkontrolujte, jestli se zobrazí stejný výsledek. Pokud to uděláte, otevřete lístek podpory pro Azure Synapse Analytics a zadejte název serveru a databáze Azure Synapse Analytics.

Úroveň výkonu je nízká a vede k selhání kopírování.

  • Příznaky: Zkopírujete data do služby Azure SQL Database a zobrazí se následující chyba: Database operation failed. Error message from database execution : ExecuteNonQuery requires an open and available Connection. The connection's current state is closed.

  • Příčina: Azure SQL Database s1 dosáhl limitů vstupu a výstupu (V/V).

  • Řešení: Pokud chcete tento problém vyřešit, upgradujte úroveň výkonu služby Azure SQL Database.

Chybová zpráva: Řetězcová nebo binární data jsou zkrácena.

  • Příznaky: Při kopírování dat do místní tabulky Azure SQL Serveru dojde k chybě.

  • Příčina: Definice schématu tabulky SQL obsahuje jeden nebo více sloupců s menší délkou, než se čekalo.

  • Řešení: Pokud chcete tento problém vyřešit, zkuste následující:

    1. Pokud chcete vyřešit, které řádky mají problém, použijte odolnost proti chybám jímky SQL, zejména redirectIncompatibleRowSettings.

      Poznámka:

      Odolnost proti chybám může vyžadovat další dobu provádění, což může vést k vyšším nákladům.

    2. Pečlivě zkontrolujte přesměrovaná data na délku sloupce schématu tabulky SQL a zjistěte, které sloupce je potřeba aktualizovat.

    3. Odpovídajícím způsobem aktualizujte schéma tabulky.

Kód chyby: FailedDbOperation

  • Zpráva: User does not have permission to perform this action.

  • Doporučení: Ujistěte se, že uživatel nakonfigurovaný v konektoru Azure Synapse Analytics musí mít pro cílovou databázi oprávnění CONTROL při načítání dat pomocí PolyBase. Podrobnější informace najdete v tomto dokumentu.

Kód chyby: Msg 105208

  • Příznaky: Kód chyby: Error code: Msg 105208, Level 16, State 1, Line 1 COPY statement failed with the following error when validating value of option 'FROM': '105200;COPY statement failed because the value for option 'FROM' is invalid.'
  • Příčina: V současné době ingestování dat pomocí příkazu COPY do účtu služby Azure Storage, který používá novou funkci dělení DNS, způsobí chybu. Funkce oddílu DNS umožňuje zákazníkům vytvářet až 5 000 účtů úložiště na předplatné.
  • Řešení: Zřízení účtu úložiště v předplatném, které nepoužívá novou funkci oddílu DNS služby Azure Storage (aktuálně ve verzi Public Preview).

Kód chyby: SqlDeniedPublicAccess

  • Zpráva: Cannot connect to SQL Database: '%server;', Database: '%database;', Reason: Connection was denied since Deny Public Network Access is set to Yes. To connect to this server, 1. If you persist public network access disabled, please use Managed Vritual Network IR and create private endpoint. https://docs.microsoft.com/en-us/azure/data-factory/managed-virtual-network-private-endpoint; 2. Otherwise you can enable public network access, set "Public network access" option to "Selected networks" on Azure SQL Networking setting.

  • Příčiny: Služba Azure SQL Database je nastavená tak, aby odepřela přístup k veřejné síti. To vyžaduje použití spravované virtuální sítě a vytvoření privátního koncového bodu pro přístup.

  • Doporučení:

    1. Pokud trváte na zakázání přístupu k veřejné síti, použijte spravované prostředí Virtual Network Integration Runtime a vytvořte privátní koncový bod. Další informace najdete v tématu Spravovaná virtuální síť azure Data Factory.

    2. V opačném případě povolte přístup k veřejné síti nastavením možnosti Přístupu k veřejné síti na stránce Nastavení sítě služby Azure SQL Database.

Další nápovědu k řešení potíží najdete v těchto zdrojích informací: