Udostępnij za pośrednictwem


Migrowanie danych do lub z kolumn przy użyciu funkcji Always Encrypted za pomocą Kreatora importowania i eksportowania programu SQL Server

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Kreator importowania i eksportowania programu SQL Server to narzędzie umożliwiające kopiowanie danych ze źródła do miejsca docelowego. W tym dokumencie opisano, jak używać Kreatora importu i eksportu programu SQL Server, jeśli źródło i/lub miejsce docelowe jest bazą danych programu SQL Server zawierającą kolumny chronione za pomocą Always Encrypted.

Scenariusze migracji

Za pomocą Kreatora importu i eksportu programu SQL Server można zaimplementować następujące scenariusze migracji danych do lub z zaszyfrowanych kolumn.

Szyfrowanie danych w postaci zwykłego tekstu podczas migracji

Jeśli źródło danych zawiera dane w postaci zwykłego tekstu, a miejscem docelowym jest baza danych programu SQL Server zawierająca zaszyfrowane kolumny, możesz użyć Kreatora importu i eksportu programu SQL Server, aby pobrać dane w postaci zwykłego tekstu ze źródła, zaszyfrować je i skopiować zaszyfrowane dane (tekst szyfrowania) do zaszyfrowanych kolumn w docelowej bazie danych. W tym scenariuszu migracji źródło danych może być dowolnym magazynem danych obsługiwanym przez Kreatora importu i eksportu programu SQL Server. Na przykład plik, baza danych programu SQL Server lub baza danych w innym systemie baz danych.

Aby upewnić się, że Kreator importu i eksportu programu SQL Server może szyfrować dane, należy włączyć funkcję Always Encrypted dla docelowego połączenia z bazą danych i mieć dostęp do kluczy chroniących dane w kolumnach docelowej bazy danych. Aby uzyskać więcej informacji, zapoznaj się z Włączanie i wyłączanie funkcji Always Encrypted dla połączenia z bazą danych oraz Uprawnienia do szyfrowania lub deszyfrowania danych podczas migracji.

Odszyfrowywanie zaszyfrowanych danych podczas migracji

W przypadku migrowania danych przechowywanych w zaszyfrowanych kolumnach bazy danych w bazie danych programu SQL Server można skonfigurować Kreatora importu i eksportu programu SQL Server, aby odszyfrować dane i skopiować dane odszyfrowane (zwykły tekst) do miejsca docelowego, który może być dowolnym magazynem danych, który obsługuje Kreator importu i eksportu programu SQL Server, na przykład plik, baza danych programu SQL Server lub baza danych w innym systemie baz danych.

Aby upewnić się, że Kreator importu i eksportu programu SQL Server może odszyfrować dane, musisz włączyć funkcję Always Encrypted dla źródłowego połączenia bazy danych i mieć dostęp do kluczy chroniących dane w kolumnach źródłowej bazy danych. Aby uzyskać więcej informacji, zobacz Włączanie i wyłączanie Always Encrypted dla połączenia z bazą danych oraz Uprawnienia do szyfrowania lub odszyfrowywania danych podczas migracji.

Ponowne szyfrowanie danych podczas migracji

Jeśli kopiujesz dane z zaszyfrowanych kolumn w źródłowej bazie danych programu SQL Server do zaszyfrowanych kolumn w tej samej lub innej bazie danych programu SQL Server, możesz skonfigurować Kreatora importu i eksportu programu SQL Server, aby odszyfrować dane po pobraniu ich ze źródła i ponownie zaszyfrować je przed wstawieniem do zaszyfrowanych kolumn w docelowej bazie danych. Użyj tej metody, jeśli schemat kolumn docelowych (na przykład typy danych kolumn, typy szyfrowania i klucze szyfrowania kolumn) różnią się od schematu kolumn źródłowych.

Aby upewnić się, że Kreator importu i eksportu programu SQL Server może szyfrować i odszyfrowywać dane, należy włączyć funkcję Always Encrypted zarówno dla źródłowego połączenia bazy danych, jak i docelowego połączenia z bazą danych, a także mieć dostęp do kluczy chroniących dane zarówno w kolumnach źródłowej, jak i docelowej bazy danych. Aby uzyskać więcej informacji, zobacz Włączanie i wyłączanie funkcji Always Encrypted dla połączenia z bazą danych oraz Uprawnienia do szyfrowania lub odszyfrowywania danych podczas migracji.

Przechowywanie danych zaszyfrowanych podczas migracji

Jeśli kopiujesz dane z zaszyfrowanych kolumn w źródłowej bazie danych programu SQL Server do zaszyfrowanych kolumn w tej samej lub innej bazie danych programu SQL Server, a kolumny docelowe używają dokładnie schematu (w tym tych samych typów danych, typów szyfrowania i kluczy szyfrowania kolumn) co kolumny źródłowe, możesz skonfigurować Kreatora importu i eksportu programu SQL Server w celu pobrania szyfrowania tekstu z kolumn źródłowych i wstawienia zaszyfrowanych danych (szyfrowania) do kolumn źródłowych zaszyfrowana kolumna w docelowej bazie danych programu SQL Server.

W tym scenariuszu można użyć dowolnego dostawcy danych, który obsługuje program SQL Server, aby nawiązać połączenie ze źródłem lub docelową bazą danych programu SQL Server. Jeśli używasz dostawcy obsługującego funkcję Always Encrypted w celu nawiązania połączenia z docelową bazą danych, upewnij się, że funkcja Always Encrypted jest wyłączona dla połączenia z bazą danych. Aby uzyskać więcej informacji, zobacz Włączanie i wyłączanie funkcji Always Encrypted dla połączenia z bazą danych.

Należy również upewnić się, że jednostka bazy danych (użytkownik), której kreator importu i eksportu programu SQL Server używa do połączenia z docelową bazą danych, ma ustawioną opcję ALLOW_ENCRYPTED_VALUE_MODIFICATIONS na wartość ON. Ta opcja pomija sprawdzanie metadanych kryptograficznych na serwerze w operacjach kopiowania zbiorczego, co umożliwia kreatorowi zbiorcze wstawianie zaszyfrowanych danych do docelowej bazy danych bez odszyfrowywania danych. Aby uzyskać więcej informacji, zobacz zbiorcze ładowanie zaszyfrowanych danych do kolumn chronionych przez funkcję Always Encrypted.

Włączanie i wyłączanie funkcji Always Encrypted dla połączenia z bazą danych

Jeśli scenariusz migracji wymaga, aby Kreator importu i eksportu programu SQL Server mógł szyfrować i/lub odszyfrowywać dane, należy skonfigurować źródłowe połączenie bazy danych programu SQL Server i/lub docelowe połączenie bazy danych programu SQL Server przy użyciu dostawcy danych obsługującego funkcję Always Encrypted. Należy również włączyć funkcję Always Encrypted dla źródłowego i/lub docelowego połączenia bazy danych.

Możesz użyć dowolnego dostawcy danych do połączenia, jeśli nie potrzebujesz narzędzia do szyfrowania lub odszyfrowywania danych w tym połączeniu.

Następujący dostawcy danych w Kreatorze importu i eksportu programu SQL Server obsługują funkcję Always Encrypted.

Uprawnienia do szyfrowania lub odszyfrowywania danych podczas migracji

Aby zaszyfrować lub odszyfrować dane przechowywane w źródłowej lub docelowej bazie danych programu SQL Server, potrzebujesz uprawnień WYŚWIETL DOWOLNĄ DEFINICJĘ KLUCZA GŁÓWNEGO KOLUMNY i WYŚWIETL DOWOLNĄ DEFINICJĘ KLUCZA SZYFROWANIA KOLUMNY w źródłowej bazie danych. Potrzebujesz również uprawnień do magazynu kluczy, aby uzyskać dostęp i używać głównego klucza kolumny. Dowiedz się szczegółowych informacji na temat uprawnień przechowywalni kluczy wymaganych do operacji zarządzania kluczami, przejdź do Utwórz i przechowuj klucze główne kolumn dla usługi Always Encrypted i znajdź sekcję związaną z Twoją przechowywalnią kluczy.

Następne kroki

Zobacz też