Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
El asistente de importación y exportación de SQL Server es una herramienta que te permite copiar datos de una fuente a un destino. Este artículo describe cómo utilizar el asistente de importación y exportación de SQL Server cuando el origen, el destino o ambos son una base de datos de SQL Server que contiene columnas protegidas con Always Encrypted.
Escenarios de migración
Con el Asistente para importación y exportación de SQL Server, puede implementar los escenarios siguientes para migrar datos hacia o desde columnas cifradas.
Cifrar datos de texto no cifrado durante la migración
Si tu fuente de datos contiene datos en texto plano y tu destino es una base de datos de SQL Server que contiene columnas cifradas, puedes usar el asistente de importación y exportación de SQL Server para recuperar los datos en texto plano de la fuente, cifrarlos y copiar los datos cifrados (texto cifrado) a las columnas cifradas de la base de datos de destino. Para este escenario de migración, la fuente de datos puede ser cualquier almacén de datos que soporte el asistente de importación y exportación de SQL Server, como un archivo, una base de datos de SQL Server o una base de datos en otro sistema de bases de datos.
Para asegurar que el asistente de importación y exportación de SQL Server pueda cifrar datos, activa Always Encrypted para la conexión de la base de datos de destino y asegúrate de tener acceso a las claves que protegen los datos en las columnas de la base de datos de destino. Para obtener más información, vea Habilitar y deshabilitar Always Encrypted para una conexión de base de datos y Permisos para cifrar o descifrar datos durante la migración.
Descifrar datos cifrados durante la migración
Si estás migrando datos almacenados en columnas de base de datos cifradas en una base de datos de SQL Server, puedes configurar el asistente de importación y exportación de SQL Server para descifrar los datos y copiar los datos descifrados (en texto plano) a un destino. El destino puede ser cualquier almacén de datos que admita el Asistente para importación y exportación de SQL Server, como un archivo, una base de datos de SQL Server o una base de datos de otro sistema de base de datos.
Para asegurar que el asistente de importación y exportación de SQL Server pueda descifrar datos, activa Always Encrypted para la conexión a la base de datos de origen y asegúrate de tener acceso a las claves que protegen los datos en las columnas de la base de datos de origen. Para obtener más información, vea Habilitar y deshabilitar Always Encrypted para una conexión de base de datos y Permisos para cifrar o descifrar datos durante la migración.
Volver a cifrar los datos durante la migración
Si copias datos de columnas cifradas en una base de datos SQL Server de origen a columnas cifradas en la misma u otra base de datos de SQL Server, puedes configurar el asistente de importación y exportación de SQL Server para descifrar los datos tras recuperarlos del origen, y volver a cifrarlos antes de insertarlos en las columnas cifradas de la base de datos de destino. Utilice este método si el esquema de las columnas destino, como los tipos de datos de columna, tipos de cifrado y claves de cifrado de columna, difiere del esquema de las columnas fuente.
Para asegurar que el asistente de importación y exportación de SQL Server pueda cifrar y descifrar datos, activa Always Encrypted tanto para la conexión de base de datos de origen como para la de destino, y asegúrate de tener acceso a las claves que protegen los datos tanto en las columnas de la base de datos de origen y de destino. Para obtener más información, vea Habilitar y deshabilitar Always Encrypted para una conexión de base de datos y Permisos para cifrar o descifrar datos durante la migración.
Mantener los datos cifrados durante la migración
Si estás copiando datos de columnas cifradas en una base de datos de SQL Server de origen a columnas cifradas en la misma u otra base de datos de SQL Server, y las columnas destino usan exactamente el mismo esquema que las columnas de origen, incluyendo los mismos tipos de datos, tipos de cifrado y claves de cifrado de columnas, puedes configurar el asistente de importación y exportación de SQL Server para recuperar texto cifrado de las columnas de origen e insertar los datos cifrados (texto cifrado) en la columna cifrada de la base de datos SQL Server de destino.
Para este escenario, utiliza cualquier proveedor de datos que soporte SQL Server para conectarse a la base de datos de origen o de destino de SQL Server. Si usas un proveedor que soporta Always Encrypted para conectarse a la base de datos de destino, asegúrate de que Always Encrypted esté deshabilitado para la conexión a la base de datos. Para obtener más información, vea habilitar y deshabilitar Always Encrypted para una conexión de base de datos.
También debes asegurarte de que el principal de base de datos (usuario) que utiliza el asistente de importación y exportación de SQL Server para conectarse a la base de datos de destino esté configurado con la ALLOW_ENCRYPTED_VALUE_MODIFICATIONS opción configurada como ON. Esta opción suprime las comprobaciones de metadatos criptográficos en el servidor en operaciones de copia masiva, lo que permite al asistente insertar en masa los datos cifrados en la base de datos de destino sin descifrarlos. Para más información, consulte Carga masiva de datos cifrados en columnas protegidas por Always Encrypted.
Habilitar y deshabilitar Always Encrypted para una conexión de base de datos
Si tu escenario de migración requiere que el asistente de importación y exportación de SQL Server cifre o descifre datos, configura la conexión de base de datos de SQL Server de origen, la de destino de SQL Server, o ambas, usando un proveedor de datos que soporte Always Encrypted. También necesitas activar Always Encrypted para esas conexiones.
Usa cualquier proveedor de datos para una conexión si no necesitas que el asistente cifre o descifre los datos en esa conexión.
Los siguientes proveedores de datos del Asistente para importación y exportación de SQL Server admiten Always Encrypted.
- Proveedor de datos .NET Framework para SQL Server
- Asegúrese de que la máquina en la que se ejecuta el asistente use .NET Framework 4.6.1 o posterior.
- Si desea habilitar Always Encrypted para una conexión, establezca
Column Encryption SettingenEnableden las propiedades de conexión. Para deshabilitar Always Encrypted, establezcaColumn Encryption SettingenDisabled. Para obtener más información, vea Conectarse a SQL Server con el Proveedor de datos de .NET Framework para SQL Server y Habilitar Always Encrypted para consultas de la aplicación.
- Proveedor de datos .NET Framework para ODBC.
- Instale el controlador Microsoft ODBC 13.1 o una versión posterior.
- Si desea habilitar Always Encrypted para una conexión, establezca
Column EncryptionenEnableden las propiedades de conexión. Para deshabilitar Always Encrypted, establezcaColumn EncryptionenDisabled. Para obtener más información, vea Conectarse a SQL Server con el controlador ODBC para SQL Server y Habilitar Always Encrypted en una aplicación ODBC.
- Si desea habilitar Always Encrypted para una conexión, establezca
- Instale el controlador Microsoft ODBC 13.1 o una versión posterior.
Permisos para cifrar o descifrar datos durante la migración
Para cifrar o descifrar datos almacenados en una base de datos de origen o destino de SQL Server, necesitas los permisos VIEW ANY COLUMN MASTER KEY DEFINITION y VIEW ANY COLUMN ENCRYPTION KEY DEFINITION en la base de datos de origen. También necesita permisos de almacén de claves para acceder y usar la clave maestra de columna. Para información detallada sobre los permisos de almacenamiento de claves requeridos para operaciones de gestión de claves, consulte Crear y almacenar claves maestras de columna para Always Encrypted y busque la sección relevante para su almacén de claves.
Contenido relacionado
- Siempre cifrado
- Exportación e importación de bases de datos con Always Encrypted
- copia de seguridad y restauración de bases de datos mediante Always Encrypted
- Carga masiva de datos cifrados a columnas mediante Always Encrypted
- Consulta de columnas mediante Always Encrypted con SQL Server Management Studio
- Desarrollo de aplicaciones con Always Encrypted