Samouczek: integrowanie usługi SSIS z usługą Fabric Data Warehouse

Dotyczy:SQL Server SSIS Integration Runtime w ramach usługi Azure Data Factory

Ten artykuł koncentruje się na najlepszych praktykach dotyczących używania istniejących pakietów SSIS do pracy z magazynem danych na platformie Fabric.

Wprowadzenie

Microsoft Fabric to kompleksowa platforma analityczna, która obejmuje każdy aspekt majątku danych organizacji. Jednym z kluczowych doświadczeń jest usługa Fabric Data Warehouse, która służy jako uproszczone rozwiązanie SaaS dla całkowicie transakcyjnego magazynu danych. Przechowuje dane w usłudze OneLake przy użyciu otwartego formatu o nazwie Delta Parquet, zapewniając dostęp do danych za pomocą innych środowisk w usłudze Fabric i innych aplikacjach klienckich łączących się przy użyciu sterowników SQL.

Jako platforma analityczna usługa Microsoft Fabric obsługuje wyłącznie uwierzytelnianie za pośrednictwem identyfikatora Entra firmy Microsoft dla użytkowników i jednostek usługi (SPN). Ten celowy wybór zapewnia scentralizowane i oparte na tożsamościach zabezpieczenia, dostosowane do nowoczesnych rozwiązań zabezpieczeń. Dlatego uwierzytelnianie SQL i inne metody uwierzytelniania nie są obsługiwane w Fabric Data Warehouse w ekosystemie Fabric.

Integracja z usługą Fabric Data Warehouse

Microsoft SQL Server Integration Services (SSIS) to składnik bazy danych programu Microsoft SQL Server, która jest rozwiązaniem ETL. Wielu klientów korporacyjnych powszechnie używa usług SSIS do wykonywania lokalnych procesów ETL.

Aby bezproblemowo pracować z usługą Fabric Data Warehouse, należy wprowadzić dwie kluczowe modyfikacje pakietu SSIS.

Uwierzytelnianie

Jeśli używasz uwierzytelniania SQL lub uwierzytelniania Windows, skonfiguruj ponownie, aby używać użytkownika Microsoft Entra ID lub głównej nazwy usługi (SPN). Jeśli używasz konta użytkownika, wyłącz uwierzytelnianie wieloskładnikowe (MFA), ponieważ usługa SSIS nie obsługuje wyskakujących monitów. Potrzebne są również odpowiednie sterowniki, jak wspomniano w poniższych sekcjach:

Aby użyć menedżera połączeń OLEDB:

Aby użyć menedżera połączeń ADO.NET:

Przetwarzanie plików

Do wydajnego wstawiania danych do magazynu w usłudze Microsoft Fabric należy użyć natywnego COPY INTO polecenia T-SQL. Zastąp wszystkie operacje DFT, które obecnie korzystają z trybu szybkiego wstawiania lub BCP IN skryptów, za pomocą instrukcji COPY INTO, używając funkcji Wykonaj SQL.

Zapisywanie danych przez usługę SSIS w magazynie danych w Fabric

W typowych scenariuszach ETL odczytujesz dane z różnych źródeł, takich jak transakcyjne bazy danych, sieciowe udziały plików, lokalne lub sieciowe lokalizacje. Możesz wykonać kroki przekształcania i zapisać dane z powrotem do wyznaczonego magazynu danych, takiego jak serwer SQL, dedykowana pula usługi Synapse lub dowolny inny magazyn danych zgodny z programem SQL (jak pokazano na poniższym diagramie).

Diagram magazynu danych etl jako miejsca docelowego.

Aby zapisać ten sam pakiet SSIS w usłudze Fabric Data Warehouse, najpierw zaktualizuj uwierzytelnianie na podstawie identyfikatora Entra firmy Microsoft, jeśli nie jest jeszcze używany. Po drugie, tymczasowo umieść dane w usłudze ADLS Gen2. Następnie przekaż ścieżkę do polecenia COPY INTO w zadaniu Wykonywanie SQL.

Składnik miejsca docelowego elastycznego pliku umożliwia pakietowi usług SSIS zapisywanie danych w usłudze Azure Data Lake Storage Gen2 (ADLS Gen2). Wewnątrz zadania przepływu danych, po załadowaniu i przekształceniu, dodaj element Elastyczne Miejsce Docelowe Pliku, w którym można zdefiniować docelową nazwę pliku i lokalizację w usłudze ADLS Gen2.

Zrzut ekranu przedstawiający miejsce docelowe pliku elastycznego, część 1.

Zrzut ekranu przedstawiający miejsce docelowe pliku elastycznego, część 2.

Zrzut ekranu przedstawiający lokalizację docelową pliku elastycznego , część 3.

Możesz pozyskiwać dane umieszczone w usłudze Azure Data Lake Storage (ADLS) Gen2 do magazynu za pomocą instrukcji COPY bezpośrednio poprzez zadanie Wykonaj SQL.

Na przykład (zastąp <storage_account>, <storage_account_key> i account_key prawidłowymi wartościami):

COPY INTO table_name FROM 'https://<storage_account>.dfs.core.windows.net/<folder>/'
WITH (FILE_TYPE = 'CSV',
     CREDENTIAL = (IDENTITY = '<storage_account_key>',
                  SECRET = '<account_key>'),
     FIELDQUOTE = '"',
     FIELDTERMINATOR = ',',
     ROWTERMINATOR = '0x0A',
     ENCODING = 'UTF8'
);

Zrzut ekranu przedstawiający wykonywanie zadania SQL.

Aby uzyskać bardziej szczegółowe instrukcje, zobacz Ładowanie danych do magazynu za pomocą instrukcji COPY.

Ograniczenia

Magazyn danych Fabric obsługuje podzestaw typów danych T-SQL, a nie wszystkie polecenia języka T-SQL są obecnie obsługiwane. Twoje pakiety mogą zakończyć się niepowodzeniem z powodu nieobsługiwanych funkcji. Aby uzyskać szczegółowe informacje, zobacz Typy danych w magazynie oraz Obszar powierzchni T-SQL w Fabric Data Warehouse.