Oharra
Orrialde honetara sartzeak baimena behar du. Saioa hasteko edo direktorioak aldatzen saia zaitezke.
Orrialde honetara sartzeak baimena behar du. Direktorioak aldatzen saia zaitezke.
No todas las características de la base de datos de Access funcionan con SQL Server. Por ejemplo, SQL Server y Access usan diferentes conjuntos de palabras clave reservadas. Estas diferencias pueden causar problemas al migrar mediante SQL Server Migration Assistant (SSMA). En la sección siguiente se describen los posibles problemas de migración y cómo corregirlos.
Configuración o características de la base de datos que podrían afectar a la migración
Revise la siguiente configuración o características de Access que pueden afectar a la migración a SQL Server o Azure SQL.
- Las tablas no tienen índices únicos
- Las tablas tienen columnas de replicación
- Las tablas con índices únicos contienen varios valores NULL
- Las tablas contienen valores de fecha que están fuera del intervalo de SQL Server
- Las longitudes de índice superan los 900 bytes
- Los nombres de objeto son palabras clave de SQL Server o contienen caracteres especiales.
- Los tamaños de campo difieren en las relaciones de clave principal o clave externa
- Las tablas a las que se hace referencia no tienen una clave principal o un índice único
- Las tablas tienen columnas de hipervínculo
- Las funciones no se pueden convertir en SQL Server ni en Azure SQL
Las tablas no tienen índices únicos
Si migra una tabla sin un índice único a SQL Server, no podrá modificar la tabla después de la migración. Esta limitación puede provocar problemas de compatibilidad de aplicaciones.
Al convertir objetos de base de datos de Access, la ventana Salida muestra las tablas de Access que no tienen índices únicos.
Puede configurar Access para agregar una clave principal en la tabla de SQL Server durante la conversión. Para obtener más información, vea Configuración del proyecto (conversión).
Las tablas tienen columnas de replicación
Si migra una tabla de Access que incluye columnas del sistema de replicación al servidor SQL, la funcionalidad de replicación del motor Jet deja de funcionar después de la migración.
Después de la migración, considere la posibilidad de usar la replicación de SQL Server para mantener copias sincronizadas de las bases de datos.
Las tablas con índices únicos contienen varios valores NULL
Antes de la versión 8.13, no se pueden transferir tablas de Access que tengan índices únicos con varios valores NULL a SQL Server. En SQL Server, los índices únicos no admiten varios valores NULL. Se produce un error en la migración de estas tablas.
SSMA marca este problema en los informes de evaluación. Para crear un informe de evaluación, consulte Evaluación de objetos de base de datos de Access para la conversión.
Si este problema existe, asegúrese de que la clave principal no tiene valores NULL duplicados. O bien, quite la clave principal o los índices únicos que contienen varios valores NULL.
Las tablas contienen valores de fecha que están fuera del intervalo de SQL Server
El tipo datetime de SQL Server acepta fechas en el intervalo del 1 de enero de 1753 al 31 de diciembre de 9999, solo. Access acepta fechas en el intervalo del 1 de enero de 100 al 31 de diciembre de 9999.
SSMA marca este problema en los informes de evaluación. Para crear un informe de evaluación, consulte Evaluación de objetos de base de datos de Access para la conversión.
Puede configurar cómo SSMA resuelve las fechas que están fuera del intervalo de SQL Server. Para obtener más información, vea Configuración del proyecto (migración).
Las longitudes de índice superan los 900 bytes
Los índices de SQL Server tienen un límite de 900 bytes para el tamaño total de las columnas de clave de índice. Si las tablas de Access usan índices más grandes, SSMA muestra una advertencia.
Si continúa con la migración de datos, es posible que se produzca un error en la migración.
Los nombres de objeto son palabras clave de SQL Server o contienen caracteres especiales
Access y SQL Server tienen diferentes conjuntos de palabras clave reservadas y caracteres especiales. SQL Server acepta objetos denominados mediante palabras clave de SQL Server o que contienen caracteres especiales si usa identificadores entre corchetes o entre comillas, como select o [select].p. Para obtener más información, consulte Identificadores de base de datos.
Nota:
Para usar comillas para delimitar identificadores, SET QUOTED_IDENTIFIER debe ser ON.
Por ejemplo, CREATE TABLE [schema](c1 [FOR]) es una instrucción válida, aunque schema y FOR sean palabras clave reservadas. Además, CREATE TABLE [xxx*yyy](c1 x&y) es una instrucción válida, aunque el nombre de la tabla y la columna contengan los caracteres * especiales y &.
Todas las consultas que hacen referencia a esos objetos también deben usar los nombres con corchetes o comillas. Por ejemplo, se produce un error en la consulta SELECT * FROM schema . La consulta correcta es: SELECT * FROM [schema].
Al convertir objetos de base de datos de Access, el panel Salida muestra las tablas de Access que usan palabras clave o caracteres especiales. Puede modificar las tablas en Access y, a continuación, quitar y agregar la base de datos de nuevo. O bien, puede modificar las consultas que hacen referencia a esos objetos para que las consultas usen corchetes o comillas para delimitar identificadores. Si no modifica las consultas, las aplicaciones de Access pueden devolver errores o tener otros problemas.
Los tamaños de campo difieren en las relaciones de clave principal o clave externa
SQL Server no admite la funcionalidad Jet de vincular columnas que tienen diferentes tipos de datos o tamaños con restricciones de clave externa.
Al convertir objetos de base de datos de Access, la ventana Salida muestra las restricciones de clave principal o clave externa que no se convierten en SQL Server. Puede modificar los tipos de datos y los tamaños en las columnas de Access para que coincidan y, a continuación, quitar y volver a agregar la base de datos de Access. O bien, puede migrar datos aunque estas restricciones no se creen en SQL Server.
Las tablas a las que se hace referencia no tienen una clave principal o un índice único
Access acepta relaciones entre tablas en las que la tabla a la que se hace referencia no tiene una clave principal o un índice único. Sin embargo, SQL Server no admite este tipo de relación.
Al convertir objetos de base de datos de Access, la ventana Salida muestra las tablas que tienen relaciones, pero sin clave principal ni índice único. Puede modificar las tablas para agregar claves principales o índices únicos y, a continuación, quitar y volver a agregar la base de datos de Access. O bien, puede migrar datos aunque se interrumpa la relación entre las tablas.
Las tablas tienen columnas de hipervínculo
SQL Server no admite columnas de hipervínculo . En su lugar, las columnas se tratan como columnas memo de Access. De forma predeterminada, estas columnas se convierten en columnas nvarchar(max) en SQL Server. Puede personalizar el mapeo. Para obtener más información, consulte Mapear tipos de datos de origen y destino.
Las funciones no se pueden convertir en SQL Server ni en Azure SQL
Las expresiones predeterminadas de acceso o las reglas de validación pueden incluir funciones del sistema de access o funciones definidas por el usuario que no se asignan a SQL Server o Azure SQL. Si usa funciones que no se asignan a SQL Server o Azure SQL, no puede cargar las expresiones predeterminadas ni las reglas de validación en SQL Server o Azure SQL.