Felsöka SQL Server-dataintag

På den här sidan beskrivs vanliga problem med Microsoft SQL Server-anslutningsappen i Databricks Lakeflow Connect och hur du löser dem.

Allmän felsökning av pipeline

Felsökningsstegen i det här avsnittet gäller för alla inmatningspipelines i Lakeflow Connect.

Om en pipeline misslyckas under körningen, klicka på steget som misslyckades och bekräfta huruvida felmeddelandet innehåller tillräcklig information om felets art.

Visa pipelinehändelseloggar i användargränssnittet

Du kan också kontrollera och ladda ned klusterloggarna från sidan med pipelineinformation genom att klicka på Uppdatera information i den högra panelen och sedan på Loggar. Sök igenom loggarna efter fel eller undantag.

Visa information om pipelineuppdatering i användargränssnittet

Kontrollera om CDC är aktiverat för en databas eller en tabell

Så här kontrollerar du om CDC är aktiverat för databasen <database-name>:

select is_cdc_enabled from sys.databases where name='<database-name>';

Så här kontrollerar du om CDC är aktiverat för tabell <schema-name>.<table-name>:

select t.is_tracked_by_cdc
from sys.tables t join sys.schemas s on t.schema_id = s.schema_id
where s.name='<schema-name>' and t.name='<table-name>';

Kontrollera om ändringsspårning är aktiverat för en databas eller en tabell

Så här kontrollerar du om ändringsspårning är aktiverat för databasen\<database-name\>:

select ctdb.*

from sys.change_tracking_databases ctdb join sys.databases db

    on db.database_id  = ctdb.database_id

where db.name = '<MyDatabaseName>'

Så här kontrollerar du om ändringsspårning är aktiverat för tabell <schema-name>.<table-name>:

select s.name schema_name, t.name table_name, ct.*

from sys.change_tracking_tables ct join sys.tables t

    on ct.object_id = t.object_id

    join sys.schemas s on t.schema_id = s.schema_id

where s.name = '<MySchemaName>' and t.name = '<MyTableName>'

Tidsgräns vid väntan på tabelltoken

Inmatningspipelinen kan överskrida tidsgränsen i väntan på att information ska tillhandahållas av gatewayen. Det kan bero på att:

  • Du kör en äldre version av gatewayen.
  • Det uppstod ett fel när nödvändig information skulle genereras. Kontrollera om det finns fel i gatewaydrivrutinsloggarna.

Anmärkning

Det fullständiga uppdateringsflödet minskar avsevärt förekomsten av timeout-fel under fullständiga uppdateringsåtgärder. Se Fullständigt uppdateringsbeteende (CDC).

standardautentisering: kan inte konfigurera standardautentiseringsuppgifter

Om du får det här felet är det problem med att identifiera de aktuella användarautentiseringsuppgifterna. Prova att ersätta följande:

w = WorkspaceClient()

med:

w = WorkspaceClient(host=input('Databricks Workspace URL: '), token=input('Token: '))

Se Autentisering i Dokumentationen om Databricks SDK för Python.

tech.replicant.common.ExtractorException: com.microsoft.sqlserver.jdbc.SQLServerException: Ogiltigt kolumnnamn "SERIAL_NUMBER".

Du kan få det här felet om du använder en äldre version av en intern tabell. Kör följande på den anslutna databasen:

drop table dbo.replicate_io_audit_ddl_trigger_1;

PERMISSION_DENIED: Du har inte behörighet att skapa kluster. Kontakta administratören.

Kontakta en Databricks-kontoadministratör för att ge dig Unrestricted cluster creation behörigheter.

DLT-FELKOD: INTERN FEL PÅ INGESTION_GATEWAY

stdout Kontrollera filerna i drivrutinsloggarna.

Namnkonflikt för källtabell

Ingestion pipeline error: "org.apache.spark.sql.catalyst.ExtendedAnalysisException: Cannot have multiple queries named `XYZ_snapshot_load` for `XYZ`. Additional queries on that table must be named. Note that unnamed queries default to the same name as the table.

Detta indikerar att det finns en namnkonflikt på grund av flera källtabeller med namnet XYZ i olika källscheman som matas in av samma inmatningspipeline till samma målschema.

Skapa flera gateway-pipeline-par som skriver dessa motstridiga tabeller till olika målscheman.

Inkompatibla schemaändringar

En inkompatibel schemaändring orsakar att inmatningspipelinen misslyckas och resulterar i ett INCOMPATIBLE_SCHEMA_CHANGE-fel. Om du vill fortsätta replikeringen utlöser du en fullständig uppdatering av de berörda tabellerna.

Anmärkning

Databricks kan inte garantera att vid tidpunkten då inmatningspipelinen misslyckas för en inkompatibel schemaändring har alla rader före schemaändringen matats in.

TLS-servercertifikat-fel

Felsökning av verifieringsfel för TLS-servercertifikat finns i Felsöka TLS-certifikatfel.