Una introducción a SQL Server 2005 Compact Edition


Nota SQL Server 2005 Compact Edition se denominaba SQL Server 2005 Everywhere Edition durante la fase de desarrollo del producto. A través del programa Community Technology Preview (CTP) preliminar y a través de otros canales, los clientes se han comunicado con Microsoft que este nombre de producto puede causar confusión con los nombres de los productos de bases de datos del sector. Microsoft ha tomado este comentario en serio y ha cambiado el nombre oficial del producto.

INTRODUCCIÓN


Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) es el remarcado de Microsoft SQL Server 2005 Mobile Edition (SQL Server Mobile 3,0) sin la restricción de escritorio. SQL Server Mobile 3,0 se publicó en 2005 con Microsoft Visual Studio 2005 y con SQL Server 2005. SQL Server Mobile 3,0 es compatible con dispositivos y equipos Tablet PC. SQL Server Mobile 3,0 también es compatible parcialmente con equipos de escritorio. Para usar SQL Server Mobile 3,0 en equipos de escritorio, se debe instalar Visual Studio 2005 o SQL Server 2005. Sin embargo, con SQL Server Compact Edition, esta restricción se ha eliminado. Con SQL Server Compact Edition, puede desarrollar e implementar aplicaciones independientes de SQL Server 2005 y de Visual Studio 2005. la versión preliminar de la comunidad tecnológica (CTP) de SQL Server Compact Edition se publicó el 12 de junio de 2006. SQL Server Compact Edition Release Candidate 1 (RC1) se publicó el 7 de noviembre de 2006. Tanto la versión de CTP como la RC1 de SQL Server Compact Edition solo eran para los binarios de tiempo de ejecución. La versión de la versión para web (RTW) de SQL Server Compact Edition para todos los paquetes se publicó el 15 de enero de 2007. La versión de SQL Server Compact Edition RTW es 3,1. Los siguientes paquetes se publicaron conjuntamente con la versión RTW de SQL Server Compact Edition:
  • Microsoft SQL Server 2005 Compact Edition Runtime
  • Microsoft SQL Server 2005 Compact Edition Tools para Visual Studio 2005 Service Pack 1 (SP1)
  • Kit de desarrollo de software para desarrolladores de Microsoft SQL Server 2005 Compact Edition (SDK)
  • Herramientas de servidor de Microsoft SQL Server 2005 Compact Edition
  • Libros en línea de Microsoft SQL Server 2005 Compact Edition
SQL Server Compact Edition para todos los paquetes se libera en los siguientes idiomas:
  • Alemán
  • Inglés
  • Español
  • Francés
  • Italiano
  • Japonés
  • Coreano
  • Chino tradicional
  • Chino simplificado
  • Ruso
SQL Server Compact Edition también se incluirá con SQL Server en versiones de Service Pack futuras. El Service Pack 2 (SP2) de SQL Server 2005 se publicará en el primer trimestre de 2007. A continuación se muestran los puntos destacados de alto nivel de cómo Microsoft dará servicio a SQL Server Compact Edition:
  • SQL Server Compact Edition está disponible en la web y puede descargarse e instalarse.
  • SQL Server Compact Edition se integrará en Microsoft Update en el primer trimestre de 2007.
  • SQL Server Compact Edition se instalará como parte de la instalación de SQL Server 2005 SP2.

Más información


Tiempo de ejecución de SQL Server Compact Edition (SQLServerCE31-EN. msi)

SQL Server Compact Edition contiene los bits de tiempo de ejecución que se pueden usar para desarrollar aplicaciones y para implementar aplicaciones en equipos de escritorio y Tablet PC. SQL Server Compact Edition es un motor de base de datos relacional muy eficaz pero ligero. SQL Server Compact Edition admite la conocida sintaxis SQL. Además, SQL Server Compact Edition proporciona un modelo de desarrollo y una API que son coherentes con SQL Server. Por lo tanto, puede desarrollar aplicaciones de escritorio más fácilmente con la versión RTW de SQL Server Compact Edition que con SQL Server Mobile. SQL Server Compact Edition incluye nuevas características, como | DataDirectory | compatibilidad con la cadena de sustitución y la compatibilidad con ClickOnce para que la implementación sea fácil. El binario de tiempo de ejecución de SQL Server Compact Edition incluye los siguientes archivos dll:
  • Sqlceca30.dll
  • Sqlcecompact30.dll
  • Sqlceer30en.dll
  • Sqlceme30.dll
  • Sqlceoledb30.dll
  • Sqlceqp30.dll
  • Sqlcese30.dll
  • System.Data.SqlServerCe.dll
El paquete de Microsoft Windows Installer para el motor en tiempo de ejecución de SQL Server Compact Edition (SQLServerCE31-EN. msi) está disponible en la Web. El paquete de Windows Installer siempre se instala en una ubicación fija para controlar la capacidad de servicio futura de SQL Server Compact Edition. Al instalar SQL Server Compact Edition, el proveedor (System. Data. SqlServerCe. dll) se instala en la caché de ensamblados global (GAC). Además, el proveedor OLE DB (Sqlceoledb30. dll) está registrado.Para registrar el proveedor OLE DB, debe tener permisos de administrador. Por lo tanto, no puede instalar SQL Server Compact Edition a menos que tenga permisos de administrador. El paquete de Windows Installer instala estos archivos binarios en la carpeta "%ProgramFiles%\Microsoft SQL Server Compact Edition\v3.1". Después de instalar SQL Server Compact Edition, se agrega una entrada de Microsoft SQL server 2005 Compact Edition en Agregar o quitar programas.Para instalar la versión localizada (SQLServerCE31-[ln]. msi), primero debe instalar la versión en inglés (SQLServerCE31-en. msi) y, a continuación, instalar la versión localizada.Nota [ln] representa el idioma localizado.

Herramientas de SQL Server Compact Edition para Visual Studio 2005 SP1 (SSCE31VSTools-ENU. exe)

Las herramientas de SQL Server Compact Edition para Visual Studio 2005 SP1 actualizan los componentes de desarrollo de dispositivos inteligentes de Microsoft Visual Studio 2005 SP1 mediante el entorno de tiempo de diseño de SQL Server Compact Edition.
 
Para instalar la versión localizada (SSCE31VSTools-[ln]. exe), primero debe instalar la versión en inglés (SSCE31VSTools-ENU. exe) y, a continuación, instalar la versión localizada.

SDK para desarrolladores de SQL Server Compact Edition (SSCE31SDK-ENU. msi)

El SDK para programadores de SQL Server Compact Edition contiene los siguientes archivos para desarrollar aplicaciones con SQL Server Compact Edition como almacén de base de datos para las aplicaciones:
  • Los archivos. cab para instalar SQL Server Compact Edition en dispositivos móviles
  • El archivo. msi para instalar SQL Server Compact Edition en equipos de escritorio y en Tablet PC
  • Los archivos de encabezado necesarios para desarrollar una aplicación nativa de SQL Server Compact Edition
  • El archivo. msi para instalar los archivos de ayuda de SQL Server Compact Edition
Para descargar el SDK para desarrolladores de SQL Server Compact Edition, visite el siguiente sitio web de Microsoft:La versión en Inglés de SQL Server Compact Edition Developer SDK solo contiene la versión en Inglés de SQL Server Compact Edition Runtime. La versión localizada del SDK del desarrollador de SQL Server Compact Edition contiene la versión en Inglés de SQL Server Compact Edition Runtime y la versión localizada de tiempo de ejecución de SQL Server Compact Edition. Después de instalar el SDK para desarrolladores de SQL Server Compact Edition, el paquete de instalación para SQL Server Compact Edition Runtime se encuentra en la siguiente carpeta:
%programfiles%\Microsoft SQL Server Compact Edition\v3.1\SDK\bin\Desktop
Para instalar la versión localizada de tiempo de ejecución de SQL Server Compact Edition a partir de la versión localizada del SDK para desarrolladores de SQL Server 2005 Compact Edition, siga estos pasos:
  1. Abra la siguiente carpeta:
    %programfiles%\Microsoft SQL Server Compact Edition\v3.1\SDK\bin\Desktop
  2. Instale la versión en Inglés de SQL Server Compact Edition Runtime (SQLServerCE31-EN. msi).
  3. Instalar la versión localizada de SQL Server Compact Edition Runtime (SQLServerCE31-[ln]. msi).

Instalación en paralelo con Visual Studio 2005 o SQL Server 2005

SQL Server Mobile 3,0 requiere que Visual Studio 2005 o SQL Server 2005 estén instalados en el equipo. Sin embargo, SQL Server Compact Edition no tiene este requisito. Por lo tanto, los usuarios pueden desarrollar e implementar aplicaciones de SQL Server Compact Edition sin tener instalado SQL Server 2005 o Visual Studio 2005. Sin embargo, este cambio puede ocasionar cambios de comportamiento en un equipo con SQL Server Compact Edition instalado conjuntamente con Visual Studio 2005 o con SQL Server 2005. Los usuarios experimentan el comportamiento siguiente en una instalación en paralelo junto con Visual Studio 2005 o con SQL Server 2005.

Comportamiento de Visual Studio 2005

Visual Studio 2005 junto con SQL Server Compact Edition
  • Los cuadros de diálogo de administración en Visual Studio 2005 muestran elementos relacionados con SQL Server Mobile 3,0.
  • Visual Studio 2005 se inicia con el motor en tiempo de ejecución de SQL Server Compact Edition. Este comportamiento se produce porque SQL Server Compact Edition instala el proveedor en la GAC. El tiempo de ejecución de SQL Server Mobile 3,0 está presente en la ubicación de instalación de Visual Studio 2005. Sin embargo, la GAC tiene prioridad sobre el tiempo de ejecución de SQL Server Mobile 3,0. Por lo tanto, Visual Studio 2005 siempre usa el tiempo de ejecución de SQL Server Compact Edition al iniciarse.
Visual Studio 2005 SP1 junto con SQL Server Compact Edition
  • La interfaz de usuario muestra los elementos relacionados con SQL Server Compact Edition.
  • Visual Studio 2005 SP1 se inicia con el motor en tiempo de ejecución de SQL Server Compact Edition.

Comportamiento 2005 de SQL Server

SQL Server 2005 o SQL Server 2005 SP1 junto con SQL Server Compact Edition
  • Todas las interfaces de usuario muestran elementos relacionados con 3,0 de SQL Server Mobile.
  • SQL Server 2005 se inicia con el motor en tiempo de ejecución de SQL Server Compact Edition.
SQL Server 2005 SP2 junto con SQL Server Compact Edition
  • La interfaz de usuario del SP2 de SQL Server 2005 muestra los elementos relacionados con SQL Server Compact Edition.
  • SQL Server 2005 SP2 se inicia con el motor en tiempo de ejecución de SQL Server Compact Edition.

Nuevas características

SQL Server Compact Edition incluye algunas características que no se incluyen en SQL Server Mobile 3,0. Entre estas características se incluyen las siguientes:
  • | DataDirectory | compatibilidad con cadenas de sustitución
  • Compatibilidad con ClickOnce

| DataDirectory | compatibilidad con cadenas de sustitución

| DataDirectory | (entre los símbolos de canalización) es una cadena de sustitución que indica la ruta de acceso de la base de datos. Por lo tanto, no es necesario incluir la ruta de acceso completa en el código. Si incluye la ruta de acceso completa en el código, es posible que tenga problemas porque la ruta de acceso completa de la base de datos se puede serializar en diferentes ubicaciones. El | DataDirectory | la cadena de sustitución también hace que sea más fácil compartir un proyecto e implementar una aplicación.Por ejemplo, si incluye la ruta de acceso completa en el código, la aplicación puede tener la siguiente cadena de conexión.
Data Source= c:\program files\MyApp\Mydb.sdf
Si usa la | DataDirectory | cadena de sustitución, la aplicación puede tener la siguiente cadena de conexión.
Data Source = |DataDirectory|\Mydb.sdf
Para establecer la propiedad DataDirectory , llame al método AppDomain. SetData . Si no se establece la propiedad DataDirectory , se aplican las siguientes reglas predeterminadas para acceder a la carpeta de base de datos:
  • Para las aplicaciones que se colocan en una carpeta en el equipo del usuario, la carpeta de la base de datos usa la carpeta de la aplicación.
  • Para las aplicaciones que se ejecutan en ClickOnce, la carpeta de base de datos usa la carpeta de datos específica que se ha creado.
Nota .NET Compact Framework no admite el método AppDomain. SetData en dispositivos basados en Microsoft Windows Mobile. Si una aplicación llama al método AppDomain. SetData en un dispositivo basado en Windows Mobile, recibirá un mensaje de error.

Compatibilidad con ClickOnce

ClickOnce es una nueva tecnología de instalación de software que admite SQL Server Compact Edition. ClickOnce simplifica la implementación de una aplicación basada en Windows en un servidor web o en un recurso compartido de archivos de red. Los administradores pueden implementar o actualizar una aplicación actualizando los archivos en un servidor. Los administradores no tienen que actualizar individualmente cada cliente.Visual Studio ofrece compatibilidad completa para publicar y actualizar aplicaciones que se implementan mediante ClickOnce. La compatibilidad con ClickOnce está disponible para los proyectos que se crean con Microsoft Visual Basic, Microsoft Visual C# y Microsoft Visual J#. Sin embargo, la compatibilidad con ClickOnce no está disponible para los proyectos que se crean con Microsoft Visual C++.Puede descargar las herramientas de SQL Server Compact Edition para Visual Studio 2005 SP1 e instalarlas en Visual Studio 2005 SP1. Esto instala la compatibilidad integrada para ClickOnce e instala los archivos de ClickOnce necesarios en el directorio correcto.
Cómo integrar ClickOnce con SQL Server Compact Edition
Nota Las descripciones de los archivos y las carpetas de esta sección usan la versión en Inglés de SQL Server Compact Edition. Si instala otra versión de idioma de SQL Server Compact Edition, el nombre de la configuración regional en los nombres de archivo y en los nombres de carpeta puede ser diferente. Por ejemplo, el nombre de la configuración regional puede ser "ZH" en lugar de "EN".Para integrar ClickOnce con SQL Server Compact Edition, descargue las herramientas de SQL Server Compact Edition para Visual Studio 2005 SP1 e instálela en Visual Studio 2005 SP1. Esto instala la compatibilidad integrada con ClickOnce. Los archivos de ClickOnce necesarios también se instalan en el directorio adecuado. En la siguiente tabla se describen los archivos de ClickOnce.
Nombre de archivo Descripción
Product.xml Define el paquete básico
Package.xml Define la funcionalidad o la información específica de localización que se agregará al paquete básico.
SqlCE31eula-EN.txt Contiene los términos de licencia del software de Microsoft
En la siguiente tabla se describen los directorios de instalación de los archivos de ClickOnce.
Nombre de archivo La carpeta en la que se instalan los archivos
Product.xml % Program Files%\Microsoft Visual Studio 8 \ SDK\v2.0\BootStrapper\Packages\SQL Server Compact Edition \
Package.xml % Program Files%\Microsoft Visual Studio 8 \ SDK\v2.0\BootStrapper\Packages\SQL Server Compact Edition\en\
SqlCE31eula-EN.txt % Program Files%\Microsoft Visual Studio 8 \ SDK\v2.0\BootStrapper\Packages\SQL Server Compact Edition\en\
SQLServerCE31-EN.msi % Program Files%\Microsoft Visual Studio 8 \ SDK\v2.0\BootStrapper\Packages\SQL Server Compact Edition\en\
Si la aplicación que se compila para incluir la tecnología ClickOnce tiene SQL Server Compact Edition como requisito previo, ClickOnce usa el archivo SQLServerCE31-EN. msi que está disponible en la carpeta local. Si la copia local no está disponible, ClickOnce descarga el archivo SQLServerCE31-EN. msi del centro de descarga de Microsoft durante el proceso de instalación.

Mejoras en el rendimiento

En SQL Server Compact Edition 3,1, se cambian algunos valores predeterminados para los parámetros de entrada de los equipos de escritorio para mejorar el rendimiento. Sin embargo, estos valores predeterminados permanecen inalterados para los dispositivos móviles por razones de rendimiento. En la tabla siguiente se muestran los valores predeterminados anteriores y los nuevos valores predeterminados para dispositivos móviles y equipos de escritorio.
Parámetro de entrada Valor predeterminado anterior para dispositivos móviles Nuevo valor predeterminado para dispositivos móviles Valor predeterminado anterior para equipos de escritorio Nuevo valor predeterminado para equipos de escritorio
Tamaño máximo de búfer 640 KB 640 KB 640 KB 4096 KB
Bloquear el tiempo de espera 2000 MS 2000 MS 2000 MS 5000 MS
Tamaño de la base de datos 128 MB 128 MB 128 MB 256 MB
Además de los cambios en los valores predeterminados, se realizan muchos cambios en el motor de SQL Server Compact Edition. Estos cambios mejoran el rendimiento de SQL Server Compact Edition en equipos de escritorio.Nota Si recibe mensajes de error relacionados con estos parámetros de entrada en SQL Server Compact Edition 3,1, los mensajes de error seguirán mostrando los valores antiguos de estos parámetros de entrada. Este problema se produce porque los mensajes de error no se actualizan para reflejar los nuevos valores de SQL Server Compact Edition 3,1. Este problema se corregirá en la próxima versión de SQL Server Compact Edition.

Problemas conocidos de SQL Server Compact Edition 3,1 en Windows Vista

El tiempo de ejecución de SQL Server Compact Edition es compatible con Windows Vista. La funcionalidad de la base de datos se ha probado minuciosamente en Windows Vista. Sin embargo, hay algunos problemas de funcionamiento conocidos en SQL Server Compact Edition 3,1 en Windows Vista. En las siguientes secciones se describen los problemas funcionales y las soluciones alternativas sugeridas.Para mantener la compatibilidad con versiones anteriores, la característica de cifrado de base de datos de SQL Server 2005 Compact Edition usa los mismos algoritmos de cifrado que SQL Server 2005 Mobile Edition. Esos algoritmos ahora son poco anticuados y no proporcionan un nivel de seguridad que satisfaga las directivas de producto estándar de Microsoft. Le recomendamos que use otra forma de proteger los datos donde puede, por ejemplo, cifrar el sistema de archivos.

Problema 1

Cuando utiliza el Asistente para configurar la sincronización web para configurar Microsoft Internet Information Services (IIS) 7,0 en Windows Vista, recibe el siguiente mensaje de error:
IIS no está instalado
Después, el Asistente para configurar la sincronización web fallará.Nota El Asistente para configurar la sincronización web establece diversos parámetros en IIS para habilitar la sincronización entre SQL Server Compact Edition y SQL Server.
Solución alternativa para el problema 1
Para solucionar este problema, siga estos pasos:
  1. Instale todos los componentes de la compatibilidad con la administración de IIS 6,0 antes de usar el Asistente para configurar la sincronización Web. Nota Puede instalar estos componentes en programas y características en el panel de control.
  2. Abra una ventana del símbolo del sistema que tenga privilegios elevados y, a continuación, ejecute el Asistente para configurar la sincronización Web en el símbolo del sistema.

Problema 2

Al ejecutar las herramientas de servidor de SQL Server Compact Edition (Sqlce30setupen. msi) en el modo de privilegio mínimo para cuentas de usuario (LUA) en Windows Vista, recibe el siguiente mensaje de error:
Componentes de réplica de SQL Server no encontrados
Este problema se produce incluso si los componentes de replicación de SQL Server están presentes. Cuando ejecute el archivo Sqlce30setupen. msi, recibirá un mensaje que le pedirá que use privilegios elevados. Sin embargo, incluso después de hacer clic en en el mensaje, seguirá experimentando este problema.
Solución alternativa para el problema 2
Abra una ventana del símbolo del sistema que tenga privilegios elevados y, a continuación, ejecute el archivo Sqlce30setupen. msi.

Problema 3

Al ejecutar la configuración de las herramientas de servidor de SQL Server Compact Edition (Sqlce30setupen. msi) en modo silencioso en Windows Vista, se produce un error en la instalación.Este problema se produce cuando especifica la configuración de usuario predeterminada para no usar privilegios elevados. Este problema se produce porque el programa de instalación no solicita que use privilegios elevados. En su lugar, el programa de instalación usa la configuración de usuario predeterminada para privilegios elevados. 
Solución alternativa para el problema 3
Especifique la configuración de usuario predeterminada para usar privilegios elevados antes de ejecutar las herramientas de servidor de SQL Server Compact Edition.

Problema 4

Considere el siguiente escenario. Tiene un equipo que ejecuta Visual Studio 2005. Actualiza el sistema operativo de este equipo a Windows Vista. En este escenario, la integración de SQL Server Compact Edition 3,1 con Visual Studio 2005 está dañada.SQL Server Compact Edition 3,1 contiene el paquete de herramientas de SQL Server Compact Edition para Visual Studio 2005 SP1. Este paquete instala los componentes para integrar SQL Server Compact Edition 3,1 con Visual Studio 2005. Este paquete también agrega algunas entradas de registro que usa Visual Studio 2005. Después de actualizar el sistema operativo a Windows Vista, se rompe la integración. 
Solución para el problema 4
Para solucionar este problema, siga estos pasos:
  1. Desinstale el componente programación de Smart Device para Visual Studio 2005.
  2. Si ya ha instalado las herramientas de SQL Server Compact Edition para Visual Studio 2005 SP1, desinstale las herramientas de SQL Server Compact Edition para Visual Studio 2005 SP1.
  3. Instale el componente programación de Smart Device en el CD de instalación de Visual Studio 2005.
  4. Reinstale las herramientas de SQL Server Compact Edition para Visual Studio 2005 SP1.

Problema 5

Considere el siguiente escenario. Tiene un equipo que ejecuta Windows Server 2008. Instalas el Service Pack 2 de SQL Server 2005 en este equipo. En el cuadro de diálogo conectar base de datos de SQL Server Management Studio, cree una nueva base de datos de SQL Server Compact Edition. En este escenario, observa que la base de datos se crea en la carpeta%WINDIR%\SYSTEM32.
Solución alternativa para el problema 5
Especifique una ruta de acceso junto con el nombre de archivo al crear una nueva base de datos de SQL Server Compact Edition en SQL Server Management Studio.

Otros problemas conocidos de SQL Server Compact Edition 3,1

Problema 1

Considere el siguiente escenario. Publique una aplicación SQL Server Compact Edition 3,1 localizada con ClickOnce. Después, implementa esta aplicación en otro equipo. En este escenario, la versión localizada del motor en tiempo de ejecución de SQL Server Compact Edition no está instalada.
Solución alternativa para el problema 1
Para evitar este problema, cree su propio archivo package. XML para ClickOnce. Haga esto para asegurarse de que la versión localizada de SQL Server Compact Edition Runtime se instala al implementar la aplicación.Para obtener más información sobre cómo agregar requisitos previos a una aplicación, visite el siguiente sitio web de Microsoft Developer Network (MSDN):

Problema 2

Considere el siguiente escenario. Instala la versión en inglés del motor en tiempo de ejecución de SQL Server Compact Edition. Después, instala una versión localizada de tiempo de ejecución de SQL Server Compact Edition en el mismo equipo. En este escenario, observará que la siguiente entrada se elimina del archivo Machine. config al desinstalar el tiempo de ejecución de SQL Server Compact Edition:
Proveedor de datos de SQL Server Compact Edition
Nota El archivo Machine. config se encuentra en la siguiente carpeta:
Microsoft.NET\Framework\v2.0.50727\CONFIG%WinDir
Este problema puede causar problemas en aplicaciones agnósticos del proveedor.
Solución alternativa para el problema 2
Para resolver este problema, utilice uno de los métodos siguientes:
  • Cree un archivo config. XML específico para una aplicación.
  • Si desea desinstalar la versión adaptada de SQL Server Compact Edition Runtime, desinstale primero la versión en Inglés de SQL Server Compact Edition en tiempo de ejecución.
  • Agregue manualmente la siguiente información a la sección DbProviderFactories en el archivo Machine. config.
    <add name="SQL Server Compact Edition Data Provider" invariant="System.Data.SqlServerCe" description=".NET Framework Data Provider for Microsoft SQL Server Compact Edition" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />

Problema 3

No puede instalar las herramientas de SQL Server Compact Edition para Visual Studio 2005 SP1 en paralelo para diferentes versiones de idioma en el mismo equipo.Nota Puede instalar Visual Studio 2005 SP1 en paralelo para diferentes versiones de idioma en el mismo equipo.

Problema 4

En SQL Server Compact Edition 3,1, no se puede usar el sp_repladdcolumn procedimiento almacenado para realizar las siguientes acciones en una instrucción SQL:
  • Agregue una nueva columna a un editor.
  • Agregue una restricción de clave externa a la nueva columna. La clave externa hace referencia a una columna de una tabla existente.
Por ejemplo, no puede ejecutar la siguiente instrucción SQL en SQL Server Compact Edition 3,1.
Northwind..sp_repladdcolumn  @source_object='Customers' , @column='ColNew' , @typetext='int constraint FK_Foo_Customer foreign key  references Products ( ProductID )' , @publication_to_add='PubName')
Solución para el problema 4
Cree dos instrucciones SQL para realizar las operaciones por separado.Por ejemplo, cree las siguientes instrucciones SQL para realizar las operaciones que desee.
EXEC Northwind..sp_repladdcolumn  @source_object='Customers' , @column='ColNew' , @typetext='int' , @publication_to_add='PubName';Alter table Customers add constraint FK_Foo_Customer foreign key (ColNew) references Products ( ProductID )
Después de ejecutar las instrucciones SQL, regenere la instantánea y, a continuación, vuelva a inicializar las suscripciones.

Actualizaciones de software

SQL Server Compact Edition 3,1 resuelve muchos errores que se producen en versiones anteriores de SQL Server Compact Edition. En la siguiente lista se describen algunos de los errores que resuelve SQL Server Compact Edition 3,1:
  • Hay una restricción de escritorio en versiones anteriores de SQL Server Compact Edition. Por lo tanto, debe instalar Visual Studio 2005 o SQL Server 2005 antes de instalar SQL Server Compact Edition. Este problema se ha resuelto en SQL Server Compact Edition 3,1. Si usa SQL Server Compact Edition 3,1, puede ejecutar SQL Server Compact Edition independientemente de Visual Studio 2005 o de SQL Server 2005.
  • Al especificar un alias para una columna nula en una instrucción Select , las versiones anteriores de SQL Server Compact Edition no muestran todos los alias que especifique para los nombres de columna en el resultado. En su lugar, las versiones anteriores de SQL Server Compact Edition muestran los siguientes nombres de columna:
    column#<OrdinalNumber>
    Por ejemplo, tiene la siguiente instrucción Select .
    Select c1 as Col1, NULL as Col2 from Table1
    Al ejecutar esta instrucción en versiones anteriores de SQL Server Compact Edition, verá los siguientes nombres de columna en el resultado:
    column#0, column#1
  • Considere el siguiente escenario. La restricción ON DELETE CASCADE se especifica en una tabla de versiones anteriores de SQL Server Compact Edition. La tabla solo tiene una fila. Después, se elimina la fila de la tabla. Cuando se elimina la fila, se produce un recorrido de índice. En este escenario, SQL Server Compact Edition libera la página de datos que contiene la fila. Además, si el recuento de referencias del búfer o del marco que contiene la página de datos es cero, SQL Server Compact Edition marca el búfer o el marco como libre.
  • Al ejecutar versiones anteriores de SQL Server Compact Edition, es posible que reciba el siguiente mensaje de error:
    Se intentó leer o escribir en la memoria protegida
    Este problema se produce si se cumplen las condiciones siguientes:
    • SQL Server Compact Edition intenta escribir datos en el nodo de la derecha de un árbol binario (BTREE).
    • El árbol binario está lleno.
    Nota Cuando SQL Server Compact Edition escribe datos en un nodo de un árbol binario, SQL Server Compact Edition divide el nodo si el árbol binario está lleno. SQL Server Compact Edition usa uno de los siguientes métodos para dividir el nodo:
    • División normal
    • División de ASC
    • DESC dividir
  • En versiones anteriores de SQL Server Compact Edition, al usar un cursor desplazable para recuperar datos de una columna de objeto binario grande (BLOB), se puede producir un error de SSCE_M_COLUMNORDINALNOTFOUND. Este problema se produce porque los cursores desplazables manejan los datos de objetos binarios grandes de forma diferente a los cursores de solo avance que controlan datos binarios de objetos grandes. Si usa cursores desplazables, el ordinal de la columna del objeto grande binario puede diferir del ordinal de la tabla base. Sin embargo, los cursores desplazables y de avance usan el ordinal de la tabla base para recuperar datos de una columna de objeto binario grande.