Migrera data till eller från kolumner med guiden Always Encrypted med SQL Server Import and Export
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Guiden SQL Server Import and Export är ett verktyg som gör att du kan kopiera data från en källa till ett mål. I det här dokumentet beskrivs hur du använder guiden Importera och exportera SQL Server om en källa och/eller ett mål är en SQL Server-databas som innehåller kolumner som skyddas med Always Encrypted.
Migreringsscenarier
Med guiden Importera och exportera SQL Server kan du implementera följande scenarier för att migrera data till eller från krypterade kolumner.
Kryptera klartextdata vid migrering
Om datakällan innehåller klartextdata och målet är en SQL Server-databas som innehåller krypterade kolumner kan du använda guiden IMPORTERA och exportera SQL Server för att hämta klartextdata från källan, kryptera dem och kopiera krypterade data (chiffertext) till de krypterade kolumnerna i måldatabasen. I det här migreringsscenariot kan datakällan vara alla datalager som sql Server-guiden för import och export stöder. Till exempel en fil, en SQL Server-databas eller en databas i ett annat databassystem.
För att sql Server-guiden för import och export ska kunna kryptera data måste du aktivera Always Encrypted för måldatabasanslutningen och du måste ha åtkomst till nycklarna som skyddar data i måldatabaskolumnerna. Mer information finns i Aktivera och inaktivera Always Encrypted för en databasanslutning och Behörigheter för kryptering eller dekryptering av data under migrering.
Dekryptera krypterade data vid migrering
Om du migrerar data som lagras i krypterade databaskolumner i en SQL Server-databas kan du konfigurera guiden Importera och exportera SQL Server för att dekryptera data och kopiera de dekrypterade data (klartext) till ett mål, vilket kan vara alla datalager som sql Server-guiden för import och export stöder, till exempel en fil. en SQL Server-databas eller en databas i ett annat databassystem.
För att sql Server-guiden för import och export ska kunna dekryptera data måste du aktivera Always Encrypted för källdatabasanslutningen och du måste ha åtkomst till nycklarna som skyddar data i källdatabaskolumnerna. Mer information finns i Aktivera och inaktivera Always Encrypted för en databasanslutning och Behörigheter för kryptering eller dekryptering av data under migrering.
Kryptera om data vid migrering
Om du kopierar data från krypterade kolumner i en SQL Server-källdatabas till krypterade kolumner i samma eller en annan SQL Server-databas kan du konfigurera guiden IMPORTERA och exportera SQL Server för att dekryptera data när du har hämtat dem från källan och kryptera dem igen innan du infogar dem i de krypterade kolumnerna i måldatabasen. Använd den här metoden om schemat för målkolumnerna (till exempel kolumndatatyper, krypteringstyper och kolumnkrypteringsnycklar) skiljer sig från schemat för källkolumnerna.
För att sql Server-guiden för import och export ska kunna kryptera och dekryptera data måste du aktivera Always Encrypted för både källdatabasanslutningen och måldatabasanslutningen, och du måste ha åtkomst till nycklarna som skyddar data i både käll- och måldatabaskolumnerna. Mer information finns i Aktivera och inaktivera Always Encrypted för en databasanslutning och Behörigheter för kryptering eller dekryptering av data under migrering.
Behåll data krypterade under migreringen
Om du kopierar data från krypterade kolumner i en SQL Server-källdatabas till krypterade kolumner i samma eller en annan SQL Server-databas, och målkolumnerna använder exakt schemat (inklusive samma datatyper, krypteringstyper och kolumnkrypteringsnycklar) som källkolumnerna, kan du konfigurera sql Server Import and Export-guiden för att hämta chiffertext från källkolumnerna och infoga krypterade data (chiffertext) i krypterad kolumn i SQL Server-måldatabasen.
I det här scenariot kan du använda valfri dataprovider som stöder SQL Server för att ansluta till källan eller SQL Server-måldatabasen. Om du använder en provider som stöder Always Encrypted för att ansluta till måldatabasen måste du kontrollera att Always Encrypted är inaktiverat för databasanslutningen. Mer information finns i Aktivera och inaktivera Always Encrypted för en databasanslutning.
Du måste också se till att databasens huvudnamn (användare) som SQL Server-import- och exportguiden använder för att ansluta till måldatabasen har konfigurerats med alternativet ALLOW_ENCRYPTED_VALUE_MODIFICATIONS
inställt på ON
. Det här alternativet förhindrar kryptografiska metadatakontroller på servern i masskopieringsåtgärder, vilket gör att guiden kan massinfoga krypterade data till måldatabasen utan att dekryptera data. Mer information finns i Massinläsning av krypterade data till kolumner som skyddas av Always Encrypted.
Aktivera och inaktivera Always Encrypted för en databasanslutning
Om ditt migreringsscenario kräver att SQL Server Import and Export-guiden kan kryptera och/eller dekryptera data måste du konfigurera SQL Server-källdatabasanslutningen och/eller SQL Server-måldatabasanslutningen med hjälp av en dataprovider som stöder Always Encrypted. Du måste också aktivera Always Encrypted för käll- och/eller måldatabasanslutningen.
Du kan använda valfri dataprovider för en anslutning om du inte behöver guiden för att kryptera eller dekryptera data på den anslutningen.
Följande dataprovidrar i sql Server-guiden för import och export stöder Always Encrypted.
- .NET Framework-dataprovider för SQL Server
- Kontrollera att den dator där guiden körs använder .NET Framework 4.6.1 eller senare.
- Om du vill aktivera Always Encrypted för en anslutning anger du
Column Encryption Setting
tillEnabled
i anslutningsegenskaperna. Om du vill inaktivera Always Encrypted anger duColumn Encryption Setting
tillDisabled
. För mer information, se Anslut till SQL Server med .NET Frameworks dataleverantör för SQL Server och Aktivera Always Encrypted för applikationsfrågor.
- .NET Framework Data Provider för ODBC.
- Installera Microsoft ODBC Driver 13.1 eller senare.
- Om du vill aktivera Always Encrypted för en anslutning anger du
Column Encryption
tillEnabled
i anslutningsegenskaperna. Om du vill inaktivera Always Encrypted anger duColumn Encryption
tillDisabled
. För mer information, se Ansluta till SQL Server med ODBC-drivrutinen för SQL Server och Aktivera Alltid Krypterad i en ODBC-applikation.
- Om du vill aktivera Always Encrypted för en anslutning anger du
- Installera Microsoft ODBC Driver 13.1 eller senare.
Behörigheter för kryptering eller dekryptering av data under migreringen
För att kryptera eller dekryptera data som lagras i en SQL Server-källa eller måldatabas behöver du VISA VALFRI KOLUMN HUVUDNYCKELDEFINITION och VISA VALFRI KOLUMNKRYPTERINGSNYCKELDEFINITION behörigheter i källdatabasen. Du behöver också behörigheter för nyckellagring för att komma åt och använda kolumnhuvudnyckeln. Detaljerad information om nyckellagringsbehörigheter som krävs för nyckelhanteringsåtgärder finns i Skapa och lagra kolumnhuvudnycklar för Always Encrypted och hitta ett avsnitt som är relevant för ditt nyckelarkiv.
Nästa steg
- Fråga kolumner med hjälp av Always Encrypted med SQL Server Management Studio
- Utveckla program med Always Encrypted