Administrar las aplicaciones de base de datos de 64 bits

SQL Server Compact es una base de datos en proceso, lo que significa que la implementación y los recursos del entorno operativo se reducen al mínimo para satisfacer las necesidades de las bases de datos incrustadas dentro de las aplicaciones. Dado que los componentes son del tipo en proceso, se deben ejecutar en el mismo entorno de 32 o de 64 bits. Hasta la versión de 64 bits de SQL Server Compact 3.5 Service Pack 1 (SP1), los programadores estaban obligados a usar el modo WOW64 estableciendo TargetPlatform en x86, en lugar de la plataforma de destino predeterminada, AnyCPU. El lanzamiento de una versión de 64 bits de SQL Server Compact 3.5 SP1 implica que los programadores ya no tienen que usar WOW64. El uso de motores de tiempo de ejecución de 64 bits no afecta al formato de los datos de la base de datos. Se admite la plataforma x64, pero no se admite Itanium 64.

Nota

WOW64 es una capa de emulación que permite que las aplicaciones de 32 bits funcionen como si se estuvieran ejecutando en una plataforma de 32 bits.

Los motores de tiempo de ejecución de 32 bits pueden tener acceso a las bases de datos creadas por SQL Server Compact 3.5 SP1 de 64 bits. La ejecución de las versiones anteriores en plataformas de 64 bits se lleva a cabo ejecutando las ediciones de 32 bits de forma no nativa, en el modo de compatibilidad de 64 bits (WOW64) o de 32 bits de Windows.

Las únicas instalaciones de SQL Server Compact que instalan los componentes de 64 bits son los motores de tiempo de ejecución de SQL Server Compact (SSCERuntime-ENU.msi) y los componentes de configuración de replicación de mezcla (SSCEServerTools-ENU.msi). Las versiones de 64 bits de los instaladores tienen el mismo nombre que las de 32 bits. Para obtener información sobre cómo obtener los componentes de SQL Server Compact, vea el archivo Léame para Microsoft SQL Server Compact 3.5. La versión más reciente del archivo Léame está disponible en el Centro de descarga de Microsoft.

Compatibilidad con la instalación en paralelo

SQL Server Compact incluye compatibilidad para escenarios con motores de tiempo de ejecución con instalación en paralelo. Algunas versiones de los motores de tiempo de ejecución de SQL Server Compact pueden ejecutarse al mismo tiempo que las demás versiones instaladas en el mismo equipo. La compatibilidad con la instalación en paralelo puede resultar útil si se necesita admitir clientes anteriores usando los formatos de base de datos heredados junto con formatos más recientes. Pueden sincronizarse varias versiones de las aplicaciones cliente utilizando los motores de tiempo de ejecución de SQL Server Compact compatibles instalados en el servidor.

Los motores de tiempo de ejecución de SQL Server Compact 3.1 se pueden instalar junto con las versiones más recientes de SQL Server Compact como son las versiones 3.5, 3.5 SP1 y 3.5 SP1 de 64 bits. En los casos en los que se instale SQL Server Compact 3.5 SP1 en un equipo que ya ejecute SQL Server Compact 3.5, la instalación existente se actualizará a la versión más reciente. Cuando la instalación del motor de tiempo de ejecución es la misma que las existentes, el instalador no habilita la opción de instalación. 

Para permitir escenarios con instalación en paralelo de SQL Server Compact 3.5 y SQL Server Compact 3.5 SP1 de 64 bits, instale la versión anterior en último lugar para evitar actualizarla. La compatibilidad con la instalación en paralelo para WOW64 y SQL Server Compact 3.5 SP1 nativo de 64 bits es posible si la instancia de WOW64 se instala en último lugar.

Usar bases de datos con aplicaciones heredadas

Para abrir los archivos de base de datos creados en las versiones anteriores de SQL Server Compact, SQL Server Compact 3.5 SP1 de 64 bits admite los mismos formatos de archivo de base de datos que las versiones de 32 bits 3.5 y 3.5 SP1. El formato de archivo de base de datos de SQL Server Compact 3.1 no es compatible con las versiones más recientes de SQL Server Compact. Las versiones más recientes, incluida SQL Server Compact 3.5 SP1 de 64 bits, no son compatibles con la versión anterior SQL Server Compact 3.1. Para obtener información acerca de cómo actualizar los archivos de base de datos anteriores, vea Actualizar desde versiones anteriores (SQL Server Compact) o Upgrade.

Los archivos de base de datos creados con SQL Server Compact 3.5 SP1 de 64 bits tienen el mismo formato que los archivos creados en SQL Server Compact 3.5 y SQL Server Compact 3.5 SP1 de 32 bits. Aunque SQL Server Compact 3.5 SP1 de 64 bits genera el mismo formato de archivo de base de datos que SQL Server Compact 3.5, ambas no pueden tener acceso al mismo archivo al mismo tiempo. Para obtener más información, vea la sección de este tema denominada "Acceso simultáneo a los recursos" más adelante.

Compatibilidad con la replicación de mezcla

SQL Server Database Engine (Motor de base de datos de SQL Server) de 64 bits puede replicar datos utilizando los motores de tiempo de ejecución de 32 bits de SQL Server Compact 3.5 SP1 y los componentes de replicación de 32 bits de Internet Information Services (IIS). El lanzamiento de motores de tiempo de ejecución de 64 bits nativos no afecta a este escenario. Todos los escenarios de plataformas existentes que incluyen motores de tiempo de ejecución de 32 bits se admiten también al cambiar a motores de tiempo de ejecución de 64 bits.

SQL Server Management Studio

En esta sección se describe la compatibilidad de SQL Server Management Studio con las versiones de 64 bits.

Compatibilidad con motores de tiempo de ejecución

SQL Server Management Studio 2008 se ejecuta en modo WOW64 en los clientes de 64 bits. Debido a esto, para utilizar las herramientas disponibles en SQL Server Management Studio, debe estar instalada la versión de 32 bits de SQL Server Compact.

Compatibilidad con archivos de base de datos

SQL Server Management Studio 2008 admite SQL Server Compact 3.5 (incluidas las versiones 3.5 SP1 y 3.5 SP1 de 64 bits) pero no funcionará con los archivos de SQL Server Compact 3.1. SQL Server Management Studio 2005 admite la funcionalidad de SQL Server Compact 3.1, pero no funcionará con los archivos de SQL Server Compact 3.5 y versiones posteriores. Management Studio 2005 y 2008 se pueden instalar en el mismo equipo, lo que habilita la funcionalidad para ambos formatos de archivo de base de datos de SQL Server Compact. Si se usa SQL Server Management Studio 2005 para abrir SQL Server Compact 3.5 o posterior, se mostrará un mensaje de error similar a "Versión de base de datos no válida".

Explorador de servidores de Visual Studio

En esta sección se describe la compatibilidad de 64 bits con el Explorador de servidores de Visual Studio.

Nota

Visual Studio 2010 es el entorno preferido para desarrollar aplicaciones de escritorio. Visual Studio 2008 SP1 es más adecuado para desarrollar aplicaciones para dispositivos Smart Device. Visual Studio 2010 no permite el desarrollo de aplicaciones para dispositivos Smart Device. Para obtener más información, vea Instalar un entorno de desarrollo.

Compatibilidad con runtime

Visual Studio 2008 y Visual Studio 2010 se ejecutan en modo WOW64 en los clientes de 64 bits. Debido a esto, para utilizar las herramientas disponibles enVisual Studio 2008 y Visual Studio 2010, debe estar instalada la versión de 32 bits de SQL Server Compact.

Compatibilidad con archivos de base de datos

Visual Studio 2008 y Visual Studio 2010 admiten SQL Server Compact 3.5 (incluidas las versiones 3.5 SP1 y 3.5 SP1 de 64 bits), pero no funcionará con los archivos de SQL Server Compact 3.1. Visual Studio 2005 admite la funcionalidad de SQL Server Compact 3.1, pero no funcionará con los archivos de SQL Server Compact 3.5 y versiones posteriores. Visual Studio 2005 y Visual Studio 2008 o Visual Studio 2010 se pueden instalar en el mismo equipo, lo que habilita la funcionalidad para ambos formatos de archivo de base de datos de SQL Server Compact. Si se usa Visual Studio 2005 para abrir SQL Server Compact 3.5 o posterior, se mostrará un mensaje de error similar a "Versión de base de datos no válida".

Acceso simultáneo a los recursos

SQL Server Compact proporciona acceso con varias conexiones a una base de datos. No se admiten todos los escenarios en los que las aplicaciones utilizan versiones diferentes de SQL Server Compact y se conectan a la misma base de datos. 

Cuando una aplicación de SQL Server Compact 3.5 SP1 de 64 bits y otra aplicación de SQL Server Compact 3.5 intenten abrir el mismo archivo de base de datos, podrá usarlo la aplicación que abra primero la base de datos. Por tanto, en la aplicación que intente abrir la base de datos se producirá un error similar al siguiente: "Tipo de memoria compartida incompatible".

La versión de 32 bits de SQL Server Compact 3.5 SP1 funciona simultáneamente con la versión de 64 bits de SQL Server Compact 3.5 SP1, pero la versión inicial de SQL Server Compact 3.5 no puede abrir a la vez la misma base de datos con la versión de 32 o de 64 bits de SQL Server Compact 3.5 SP1.

Administrar las instalaciones e implementaciones

Los motores de tiempo de ejecución de SQL Server Compact de 64 bits nativos solo están disponibles en Internet. Las direcciones URL de los motores de tiempo de ejecución de 64 bits está disponibles en los siguientes idiomas:

Si se implementan todos los requisitos previos de forma privada, incluyendo las DLL nativas directamente dentro del proyecto, los recursos se deben colocar en las carpetas de nivel superior del proyecto. Se debe crear una carpeta para cada tipo de arquitectura de procesador, incluidas x86 y AMD64. No se admite Itanium 64. Para mostrar el tipo de arquitectura de procesador para un equipo especificado, abra un símbolo del sistema y ejecute el comando siguiente:

echo %PROCESSOR_ARCHITECTURE%

Para mostrar la misma información en una ventana con VBScript, ejecute el código siguiente:

Set WshShell = WScript.CreateObject("WScript.Shell")
Set WshSysEnv = WshShell.Environment("SYSTEM")
WScript.Echo WshSysEnv("PROCESSOR_ARCHITECTURE")

Para obtener más información sobre cómo implementar aplicaciones de 64 bits, vea "Implementar aplicaciones de 64 bits" en la documentación de Visual Studio. Para obtener más información acerca de cómo se implementan aplicaciones de escritorio compiladas con SQL Server Compact, vea Implementar aplicaciones de escritorio.

Nota

Desde SQL Server Compact 3.5 Service Pack 2, el MSI del runtime de SQL Server Compact para entornos de 64 bits está integrado en la implementación de ClickOnce. Si un usuario instala una aplicación creada con SQL Server Compact 3.5 SP2 en un sistema de 64 bits utilizando la tecnología ClickOnce y el publicador seleccionó SQL Server Compact 3.5 SP2 como requisito previo de instalación, se instalarán tanto el runtime de SQL Server Compact para entornos de 32 bits como el runtime de SQL Server Compact para entornos de 64 bits. En las versiones anteriores de SQL Server Compact 3.5, solo se instalaba el runtime de SQL Server Compact para entornos de 32 bits.

Vea también

Otros recursos

Posibilidad de instalación en paralelo para las versiones de SQL Server Compact

ODBC 64-Bit Information

OLE DB 64-Bit Information

64-Bit Integer Structures