Completar el proceso de upsizing a SQL Server

Ahora puede ejecutar diversos pasos adicionales, tanto en el servidor como en la aplicación de Visual FoxPro, para asegurarse de que la aplicación y los datos están seguros y funcionan de forma apropiada.

También puede utilizar la información de esta sección cuando genere una aplicación desde vistas remotas en lugar de mediante upsizing. Independientemente de la forma en que se crearon las tablas remotas, es posible llevar a cabo determinados pasos para garantizar que el servidor y el cliente están preparados para colaborar en la aplicación cliente-servidor.

Pasos en SQL Server

Puede finalizar el proceso de upsizing en el servidor:

  • Asegurándose de que las tablas que desea modificar desde Visual FoxPro son actualizables.
  • Estableciendo permisos en la base de datos de forma que los usuarios puedan tener acceso a los objetos que necesitan.
  • Protegiendo el trabajo realizado transformando en recuperable la nueva base de datos, por si se daña o se pierde.

Agregar índices únicos para permitir actualizaciones

Una tabla remota debe tener un índice único para que se considere actualizable en Visual FoxPro. El Asistente para upsizing a SQL Server puede exportar un índice único existente, pero no crea ninguno cuando no existe. Asegúrese de que las tablas que desea modificar desde Visual FoxPro son actualizables.

Establecer permisos

La nueva base de datos de SQL Server y sus objetos reciben un conjunto de permisos predeterminados de SQL Server. Establezca en la base de datos remota los permisos necesarios para que los usuarios puedan tener acceso a los objetos que necesitan.

Permisos de inicio de sesión en la base de datos

Los permisos predeterminados de una base de datos nueva la hacen accesible solamente a los administradores del sistema y al propietario de la base de datos.

Puede agregar nuevos usuarios y grupos mediante el Administrador de seguridad de SQL Server o los procedimientos del sistema sp_adduser y sp_addgroup.

Para obtener más información acerca de la forma de agregar usuarios y grupos, consulte la Ayuda del Administrador de seguridad de SQL Server y la documentación de los procedimientos del sistema sp_adduser y sp_addgroup en Microsoft SQL Server Transact-SQL Reference.

Permisos de objetos

Todos los objetos creados por el Asistente para upsizing a SQL Server, incluyendo las tablas, los desencadenadores y los valores predeterminados, en principio solamente son accesibles para el propietario de la base de datos y para los administradores del sistema. Esto se cumple cuando se realiza una exportación mediante upsizing hasta una base de datos nueva o existente. Si sobrescribe los objetos existentes, también sobrescribirá todos los permisos de objetos.

Posibilidad de recuperación garantizada

Proteja su trabajo convirtiendo la nueva base de datos en recuperable por si se daña o se pierde.

Volcar la base de datos master

Cuando se crea una base de datos en un servidor SQL Server, se agregan nuevos registros a las tablas del sistema de la base de datos master. Volcar esta base de datos master le proporciona también una copia de seguridad que incluye todos los cambios más recientes.

Programar copias de seguridad

Programe copias de seguridad periódicas de la base de datos de forma que pueda restaurarla a partir de esta copia de seguridad en caso de que surja algún problema grave.

Reflejar dispositivos

Al reflejar dispositivos se duplica continuamente la información desde un dispositivo de SQL Server hasta otro. En caso de error en un dispositivo, el otro contiene una copia actualizada de todas las transacciones.

Si prevé que se realizarán muchos cambios en una base de datos entre una copia de seguridad y la siguiente, y no puede permitirse la pérdida de tales cambios, piense en el reflejo de dispositivos. Este proceso de reflejo es más efectivo cuando los dispositivos se encuentran en distintos discos, puesto que si están en el mismo disco y éste da un error, se perderán ambos dispositivos.

Pasos en el cliente de Visual FoxPro

Cuando haya transferido los objetos desde Visual FoxPro hasta un servidor SQL Server, probablemente necesitará modificar el código de la base de datos de Visual FoxPro original de manera que funcione adecuadamente con la nueva base de datos de SQL Server.

Optimizar vistas

Las vistas creadas por el Asistente para upsizing a SQL Server no están parametrizadas, por lo que no están optimizadas. Para lograr un procesamiento más eficaz, agregue parámetros a las vistas creadas por el Asistente para upsizing a SQL Server con el fin de descargar solamente los datos necesarios. Para obtener información acerca de cómo agregar un parámetro a una vista, vea Crear vistas.

SQL Server no admite algunas funciones de Visual FoxPro. Si la vista remota creada por el Asistente para upsizing a SQL Server utiliza funciones que no se pudieron asignar a funciones de Transact-SQL, la vista no funcionará. Para obtener más información acerca de la asignación de expresiones de Visual FoxPro a expresiones de Transact-SQL, consulte Asignar expresiones.

Crear procedimientos almacenados y desencadenadores

El Asistente para upsizing a SQL Server no exporta mediante upsizing los procedimientos almacenados ni los desencadenadores de Visual FoxPro. Si desea crear procedimientos almacenados o desencadenadores de SQL Server, puede utilizar Transact-SQL en el servidor, o bien el paso a través de SQL en Visual FoxPro. Para obtener más información acerca del uso de Transact-SQL, consulte la documentación de SQL Server. Para obtener información acerca del uso del paso a través de SQL, consulte Implementar una aplicación cliente-servidor.

Comparar el orden de eventos

En Visual FoxPro, algunos eventos se producen en un orden distinto, dependiendo de si la aplicación utiliza datos de SQL Server o datos de Visual FoxPro. Estas diferencias pueden requerir cambios en el código.

Valores predeterminados

Los valores predeterminados de campo de Visual FoxPro aparecen cuando comienza a modificar un registro nuevo. Los valores predeterminados generados por SQL Server aparecen solamente después de insertar un registro. Necesita cambiar el código que dependa de si hay valores antes de confirmar el registro, como puede ser el código para búsquedas.

Reglas de validación

En Visual FoxPro, la validación de campo se produce cuando el foco abandona un campo. Al modificar datos de SQL Server en tablas adjuntas, los desencadenadores y las reglas no se activan hasta que no sale del registro. Quizá necesite modificar algunas reglas de validación de registros que dependen de que la validación del campo se realice al salir de dicho campo

Controlar expresiones sin convertir

El informe de upsizing indica si se ha logrado convertir cada una de las reglas de validación de tabla, reglas de validación de campo y expresiones predeterminadas de Visual FoxPro. Si una expresión o una regla de validación predeterminada no se ha convertido, deberá volver a escribirla en Transact-SQL.

También puede realizar la validación a nivel de formulario en Visual FoxPro. No obstante, si los datos del servidor se modifican posteriormente sin utilizar un formulario determinado, la validación no se aplicará y quizá se introduzcan datos no válidos.

Para obtener más información acerca de la conversión de expresiones, consulte Asignar expresiones. Para obtener más información acerca de las funciones de Transact-SQL, consulte la documentación de SQL Server.

Bloquear registros

Visual FoxPro utiliza el bloqueo optimista de forma interna al tener acceso a tablas de un servidor SQL Server. El bloqueo optimista significa que la fila se bloquea solamente mientras se confirma el valor modificado y se realiza el proceso de actualización, lo que suele ser un intervalo muy breve.

En SQL Server se utiliza el bloqueo optimista en lugar del bloqueo pesimista, porque este último se realiza en SQL Server bloqueando páginas, lo que puede bloquear gran cantidad de registros simultáneamente. Aunque el bloqueo de páginas impide a otros usuarios realizar cambios en el mismo registro que se está modificando, también puede impedir que los usuarios tengan acceso a muchos otros registros de la misma página (bloqueada). El bloqueo optimista proporciona el mejor acceso multiusuario para una aplicación cliente-servidor de Visual FoxPro.

Puede optimizar las actualizaciones y controlar la forma en que se tratan los conflictos de actualización con la propiedad WhereType de SQL. Para obtener más información acerca de cómo controlar conflictos de actualización, vea Crear vistas.

Vea también

Completar el proceso de upsizing a SQL Server | Upsizing de las bases de datos de Visual FoxPro | Implementar una aplicación cliente-servidor | Preparar el Asistente para upsizing a SQL Server