Descrição do SQL Server Compact 3.5 Service Pack 1


INTRODUÇÃO


Este artigo descreve o Microsoft SQL Server Compact 3.5 Service Pack 1 (SP1). SQL Server Compact 3.5 SP1 atualiza a versão de lançamento do SQL Server Compact 3.5. Este artigo inclui os seguintes itens:

Mais Informações


Notas de lançamento

História da versão

A lista a seguir contém as diferentes versões do Microsoft SQL Server Compact:
  • Versão 3.5 SP1 Microsoft SQL Server Compact 3.5 Service Pack 1 (SP1). Este pacote de serviços foi lançado juntamente com o Microsoft Visual Studio 2008 Service Pack 1 (SP1) e com o Microsoft SQL Server 2008.
  • Versão 3.5 Microsoft SQL Server Compact 3.5. Esta versão foi lançada juntamente com o Microsoft Visual Studio 2008.
  • Versão 3.1 Microsoft SQL Server 2005 Compact Edition. Esta versão foi lançada ao mesmo tempo para integração com o Microsoft Visual Studio 2005 Service Pack 1 (SP1) e com o Microsoft SQL Server 2005 Service Pack 2 (SP2).
  • Versão 3.0 Microsoft SQL Server 2005 Mobile Edition (SQL Server Mobile). Esta versão foi lançada juntamente com o Microsoft Visual Studio 2005 e com o Microsoft SQL Server 2005.
  • Versão 2.0 Microsoft SQL Server 2000 Windows CE Edition 2.0 (SQL Server CE 2.0). Esta versão foi lançada juntamente com o Microsoft Visual Studio 2003.

Novas funcionalidades

SQL Server Compact 3.5 SP1 inclui as seguintes novas funcionalidades:
  • Apoio ao Quadro ADO.NET entidade. O Quadro de Entidades permite-lhe trabalhar com dados sob a forma de objetos e propriedades específicos do domínio, tais como clientes e endereços de clientes, sem ter de se preocupar com as tabelas e colunas subjacentes à base de dados em que estes dados são armazenados. Nota O suporte ao quadro de entidades ADO.NET permite criar consultas flexíveis e fortemente digitados contra o contexto de objeto do Quadro de Entidades utilizando expressões LINQ e os operadores de consulta padrão LINQ diretamente do ambiente de desenvolvimento.
  • Apoio a colagens sensíveis a casos ao nível da base de dados.
  • Administração de bases de dados COMPACT SQL Server que são armazenadas num dispositivo Windows Mobile ou num computador de secretária utilizando o SQL Server Management Studio (SSMS) no SQL Server 2008.
  • Replicação dos novos tipos de dados no SQL Server 2008. Estes tipos de dados incluem data,hora,data2,datatimeoff,geografiae geometria. Os novos tipos de dados no SQL Server 2008 estão mapeados para nchar,nvarchar,imagem,e assim por diante.
  • Suporte nativo de 64 bits. O apoio de trinta e dois bits não mudou.
  • Suporte para replicação de dados com SQL Server 2008, com SQL Server 2005, e com SQL Server 2000 utilizando os Serviços de Sincronização do Microsoft para ADO.NET 1.0 Service Pack 1 (SP1). Os Serviços de Sincronização da Microsoft para ADO.NET 1.0 SP1 estão disponíveis tanto para dispositivos de desktop como para dispositivos móveis.
  • Suporte para replicação de dados com SQL Server 2008 e com SQL Server 2005 utilizando a replicação de fusão e acesso a dados remotos (RDA).
  • Compatibilidade melhorada da versão entre o SQL Server Compact e o SQL Server para a replicação da fusão.
  • SQL Server Compact 3.5 SP1 Server Tools
    • Pode replicar dados entre o SQL Server Compact 3.5 e o SQL Server 2008 ou o SQL Server 2005.
    • Suporta a replicação de dados entre o SQL Server 2005 Compact Edition ou o SQL Server 2005 Mobile Edition e o SQL Server 2008 ou SQL Server 2005.
    • Não é possível ser instalado lado a lado com versões anteriores de Server Tools no computador que está a agir como o servidor que está a executar os Serviços de Informação da Internet (IIS).
  • Suporta o Windows Server 2008.
Além das novas funcionalidades que estão listadas aqui, o SQL Server Compact 3.5 SP1 inclui as seguintes novas funcionalidades que foram incluídas no SQL Server Compact 3.5:
  • Implementa o tipo de data de marcação de tempo(ROWVERSION). ROWVERSION é um tipo de dados que expõe números binários gerados automaticamente que são garantidos como únicos numa base de dados. Normalmente, este tipo de dados é usado como um mecanismo para pisar linhas de tabelas de estampagem de versão.
  • Suporta o âmbito de transação local em computadores de secretária.
  • Adiciona melhorias ao Table Designer no Visual Studio 2008 para fornecer uma interface de utilizador para criar relações de chave primária e chave estrangeira entre tabelas.
  • Alarga o suporte às declarações da Transact-SQL da seguinte forma:
    • Consulta aninhada na cláusula FROM
    • CROSS APPLY E EXTERIOR APLICA-SE
    • CAST
    • Início
    • INSERÇÃO DE IDENTIDADE DEFINIDA
  • Suporta caracteres Unicode de qualquer local. Isto inclui caracteres chineses GB 18030.
  • Suporta o desenvolvimento de aplicações para desktop que utilizam o Microsoft Visual C# 2008 Express Edition e o Microsoft Visual Basic 2008 Express Edition.
  • Suporta lado a lado com SQL Server 2005 Compact Edition em computadores de secretária.
  • Suporta modos de encriptação retro-compatíveis para sistemas operativos mais antigos que têm algoritmos de encriptação mais antigos e adiciona encriptação mais recente e melhor.
  • Suporta LINQ a SQL. LinQ para SQL é um componente do projeto LINQ. O LINQ para o SQL fornece uma infraestrutura de tempo de execução para gerir dados relacionais como objetos sem abdicar da capacidade de consulta. Traduz consultas integradas na linguagem em Transact-SQL para execução pelo SQL Server Compact e, em seguida, traduz os resultados tabulares de volta para os objetos definidos pelo desenvolvedor de software. Não existe suporte de designer para SQL Server Compact em LINQ a SQL. O utilitário SqlMetal.exe deve ser utilizado para o SQL Server Compact. A ferramenta sqlMetal de linha de comando gera código e mapeamento para o componente LINQ-SQ do Quadro Microsoft .NET. Por predefinição, o ficheiro SqlMetal.exe está localizado na seguinte pasta:
    %ProgramFiles%\Microsoft SDKs\Windows\vn.nn\Bin
    A ferramenta sqlMetal de linha de comando pode ser utilizada para o seguinte:
    • A partir de uma base de dados, para gerar código fonte e atributos de mapeamento ou um ficheiro de mapeamento
    • A partir de uma base de dados, para gerar um ficheiro intermédio de marcação de base de dados (.dbml) para personalização
    • A partir de um ficheiro .dbml, para gerar código e mapeamento de atributos ou um ficheiro de mapeamento

Línguas libertadas

SQL Server Compact 3.5 SP1 para todos os pacotes é lançado nos seguintes idiomas:
  • Inglês
  • Português brasileiro
  • Chinês simplificado
  • Chinês tradicional
  • Francês
  • Alemão
  • Italiano
  • Japonês
  • Coreano
  • Russo
  • Espanhol

Plataformas suportadas

SQL Server Compact 3.5 SP1 pode ser instalado nas seguintes plataformas:
Computadores de secretária windows
  • Windows Server 2008 Standard Server
  • Servidor Standard 2008 do Windows Server (sem Hiper-V)
  • Empresa Windows Server 2008
  • Empresa Windows Server 2008 (sem Hiper-V)
  • Centro de Dados Windows Server 2008
  • Centro de Dados Windows Server 2008 (sem Hiper-V)
  • Edição Web do Windows Server 2008
  • Servidor Standard 2008 do Windows Server x64
  • Servidor Standard 2008 do Windows Server x64 (sem Hiper-V)
  • Windows Server 2008 Enterprise x64
  • Windows Server 2008 Enterprise x64 (sem Hyper-V)
  • Windows Server 2008 Data Center x64
  • Windows Server 2008 Data Center x64 (sem Hiper-V)
  • Windows Server 2008 Web Edition x64
  • Windows Vista Home Basic SP1
  • Windows Vista Home Premium SP1
  • Windows Vista Business SP1
  • Windows Vista Enterprise SP1
  • Windows Vista Ultimate SP1
  • Arranque do Windows Vista SP1
  • Windows Vista Home Basic x64 SP1
  • Windows Vista Home Premium x64 SP1
  • Windows Vista Business x64 SP1
  • Windows Vista Enterprise x64 SP1
  • Windows Vista Ultimate x64 SP1
  • Windows XP Professional SP3
  • Windows XP Home Edition SP3
  • Edição 2005 do Windows XP Media Center
  • Windows XP Media Center Edition 2004 SP3
  • Windows XP Tablet PC Edition SP3
  • Windows XP Incorporado SP3
  • Windows XP Professional x64 SP3
  • Janelas incorporadas para ponto de serviço SP3
  • Windows Server 2003, Standard Edition SP2
  • Windows Server 2003, Enterprise Edition SP2
  • Windows Server 2003, Datacenter Edition SP2
  • Windows Server 2003 R2, Standard Edition
  • Windows Server 2003 R2, Enterprise Edition
  • Windows Server 2003 R2, Datacenter Edition
  • Windows Server 2003 x64, Standard Edition
  • Windows Server 2003 x64, Enterprise x64 Edition
  • Windows Server 2003 x64, Datacenter Edition
  • Windows Server 2003 R2 x64, Standard Edition
  • Windows Server 2003 R2 x64, Enterprise Edition
  • Windows Server 2003 R2 x64, Datacenter Edition
Dispositivos Windows Mobile
  • Windows CE 6.0
  • Windows CE 5.0
  • Windows CE 4.2
  • Windows Mobile 6.0
  • Windows Mobile 5.0
  • Windows Mobile 2003 para Pocket PC

Componentes adicionais

Os ficheiros SQL Server Compact 3.5 SP1 Windows Installer (.msi) são descritos nesta secção. Alguns destes ficheiros estão disponíveis para download a partir do Microsoft Download Center. Para descarregar os componentes SQL Server Compact 3.5 SP1, visite o seguinte web site da Microsoft:A lista seguinte descreve os ficheiros adicionais sql server Compact 3.5 SP1 .msi.Nota Nesta lista, a linguagem de espaço reservado representa a linguagem de produto do SQL Server Compact. Por exemplo, para o inglês, o espaço reservado representa a ENU,e para o japonês, o espaço reservado representa o JPN.
  • SQL Server Compact 3.5 SP1 Design Tools (SSCEVSTools-idioma.msi) Este ficheiro instala os componentes de tempo de design SQL Server Compact juntamente com o Visual Studio 2008 SP1. Os componentes do tempo de conceção são a interface do utilizador, as caixas de diálogo e o ambiente de tempo de conceção. Estes são usados para escrever aplicações para SQL Server Compact. Os componentes do tempo de design do SQL Server Compact estão instalados na seguinte pasta:
    %ProgramFiles%\Microsoft Visual Studio 9\Common7\IDE
    Os ficheiros de amostras são instalados na seguinte pasta:
    %ProgramFiles%\Microsoft SQL Server Compact Edition\v3.5\Samples
    Estes componentes estão ligados ao Visual Studio e não podem ser enviados independentemente do Visual Studio. As amostras compactas do SQL Server e os ficheiros de cabeçalho compacto sql server (para desenvolvimento nativo) também são instalados por este ficheiro.
  • SQL Server Compact 3.5 SP1 (SSCERuntime- language.msi)language Este ficheiro instala os componentes de tempo de funcionamento SQL Server Compact para computadores de secretária. Instala estes componentes na seguinte pasta central:
    %ProgramFiles%\Microsoft SQL Server Compact Edition\v3.5
    Estes componentes são necessários para o desenvolvimento de aplicações no Estúdio Visual e para executar aplicações baseadas no SQL Server Compact no ambiente de trabalho. SSCERuntime-language .msi também está disponível para download a partir da Web.language Este ficheiro também instala os Serviços de Sincronização da Microsoft para ADO.NET componentes SP1 1.0. Os componentes dos Serviços de Sincronização são instalados na seguinte pasta:
    %ProgramFiles%\Microsoft Synchronization Services\ADO.NET\v1.0
    Para mais informações, consulte os Serviços de Sincronização da Microsoft para ADO.NET Books Online. Este recurso está disponível no web site do Microsoft SQL Server.
  • SQL Server Compact 3.5 SP1 para Dispositivos (SSCEDeviceRuntime-idioma.msi) Este ficheiro instala os componentes de tempo de execução dos dispositivos SQL Server Compact na seguinte pasta:
    %ProgramFiles%\Microsoft SQL Server Compact Edition\v3.5\Dispositivos
    Os componentes de tempo de execução são necessários para o desenvolvimento de aplicações baseadas em dispositivos Windows Mobile e Windows CE no Visual Studio e para a implementação das aplicações em dispositivos móveis. SSCEDeviceRuntime-language .msi também está disponível para download no Web site do Microsoft SQL Server.language
  • Sql Server Compact 3.5 SP1 Server Tools (SSCEServerTools-language.msi) Este ficheiro instala as Ferramentas de Servidor Compacto SQL Server na seguinte pasta:
    %ProgramFiles%\Microsoft SQL Server Compact Edition\v3.5\sync\SQL
    Os componentes são necessários para ligar a base de dados SQL Server Compact num dispositivo móvel a uma base de dados SQL Server 2008 ou SQL Server 2005. SSCEServerTools-language .msi também está disponível para download no Web site do Microsoft SQL Server.language
  • SqL Server Compact 3.5 SP1 Ferramentas de consulta (SSCESqlWbTools-idioma.msi) Este ficheiro instala os ficheiros de ferramentas de consulta SQL Server Compact na seguinte pasta:
    %ProgramFiles%\Microsoft SQL Server Compact Edition\v3.5\Tools
    Adicionalmente, os ficheiros de amostras são instalados na seguinte pasta:
    %ProgramFiles%\Microsoft SQL Server Compact Edition\v3.5\Samples
    SSCESqlWbTools-language .msi faz parte do lançamento SQL Server Compact 3.5 SP1.language O ficheiro é instalado como parte do SQL Server 2008. Nota Começando pelo SQL Server Compact 3.5 SP1, o componente Ferramentas de Consulta também está disponível quando o SQL Server 2008 estiver instalado.

Questões conhecidas neste lançamento

Os problemas conhecidos no SQL Server Compact 3.5 SP1 são os seguintes:
  • Integração de documentação (BOL) no Visual Studio e na SQL Server Help SQL Server Compact 3.5 SP1 Books Online (BOL) e Microsoft Synchronization Services for ADO.NET estão disponíveis como um download web apenas a partir do Microsoft Download Center. Não estão incluídos no Visual Studio 2008 SP1 ou no SQL Server 2008. Para aceder a estas coleções a partir da documentação do Visual Studio 2008 SP1 ou para o SQL Server 2008 e aceder à Ajuda F1 do Visual Studio 2008 SP1 ou do SQL Server 2008, adicione estas coleções ao Visual Studio e à SQL Server Combined Help Collection. Para isso, baixe os Serviços de Sincronização SQL Server Compact 3.5 SP1 Books Online e Microsoft Synchronization Services para ADO.NET. Em seguida, feche todas as instâncias da Coleção de Ajuda Combinada do Estúdio Visual/SQL, do Visual Studio 2008 e do SQL Server 2008. Quando reabrir a Coleção de Ajuda Combinada do Estúdio Visual e do SQL Server, o SQL Server Compact 3.5 SP1 Books Online e os Serviços de Sincronização da Microsoft para ADO.NET Books Online ficam disponíveis na tabela de conteúdos, índice, pesquisa e Ajuda f1 das aplicações.
  • Suporte móvel do Windows O ficheiro sql server Compact 3.5 SP1 para dispositivos instalador não é instalador juntamente com o Visual Studio 2008 SP1. O ficheiro está disponível como um download web apenas a partir do Microsoft Download Center.
  • Upgrade a partir de versões pré-lançamento A atualização para as versões SQL Server Compact 3.5 ou para SQL Server Compact 3.5 SP1 a partir de versões de pré-visualização de tecnologia comunitária SQL Server Compact 3.5 ou a partir de versões beta SQL Server Compact 3.5 não é suportada. A atualização para SQL Server Compact 3.5 SP1 do SQL Server Compact 3.5 ou da versão beta SQL Server Compact 3.5 SP1 é suportada. A atualização a partir do CTP e das versões beta do SQL Server Compact 3.5 para a versão de lançamento não é suportada. Desinstalar uma versão CTP ou beta do Visual Studio 2008 não desinstala o SQL Server Compact 3.5. Tem de remover as instalações CTP ou beta do SQL Server Compact 3.5 antes de instalar a versão de lançamento do Visual Studio 2008. Para isso, tome uma das seguintes ações:
    • No Windows Vista, clique em Iniciar,clique em Painel de Controloe, em seguida, clique duas vezes em Programas e Funcionalidades. Desinstale todas as instalações CTP e beta das seguintes aplicações:
      • SQL Servidor Compacto 3.5
      • SQL Server Compact 3.5 para Dispositivos
      • Sql Server Compact 3.5 Ferramentas de design
    • No Windows XP ou no Windows Server 2003, clique em Iniciar, clique em Painel de Controloe, em seguida, clique duas vezesem Adicionar ou Remover Programas . Desinstale todas as instalações CTP e beta das seguintes aplicações:
      • SQL Servidor Compacto 3.5
      • SQL Server Compact 3.5 para Dispositivos
      • Sql Server Compact 3.5 Ferramentas de design
  • SQL Server Compact 3.5 SP1 não é desinstalado quando o Visual Studio 2008 SP1 está desinstalado Desinstalar o Visual Studio 2008 SP1 não desinstala as ferramentas de design SQL Server Compact 3.5 SP1 e o SQL Server Compact 3.5 SP1 automaticamente. Se pretender voltar à instalação do Visual Studio 2008, tem primeiro de desinstalar manualmente as Ferramentas de Design SQL Server Compact 3.5 SP1 e o SQL Server Compact 3.5 SP1. Em seguida, deve utilizar o meio de instalação Visual Studio 2008 para instalar as Ferramentas de Design SQL Server Compact 3.5 e o SQL Server Compact 3.5. Os pacotes do Instalador windows para SQL Server Compact 3.5 e para SQL Server Compact 3.5 Design Tools estão localizados na seguinte pasta nos meios de instalação Visual Studio 2008:
    WCU\SSCE
    O nome de ficheiro do pacote SQL Server Compact 3.5 é SSCERuntime-Language.msi. O nome de ficheiro do pacote SQL Server Compact 3.5 Design Tools é SSCEVSTools-Language.msi. Nota O espaço reservado idioma representa a linguagem do produto do SQL Server Compact.
  • Integração do SQL Server Management Studio 2008 Se selecionar a opção De Reparação quando instalar o SQL Server 2008, as ferramentas de consulta SQL Server Compact 3.5 SP1 e o SQL Server Compact 3.5 SP1 não são reinstalados automaticamente. Para resolver este problema, instale os ficheiros SQL Server Compact .msi a partir da seguinte pasta nos meios de instalação do SQL Server:
    Servers\Setup
    O nome de ficheiro do pacote SQL Server Compact 3.5 SP1 é SSCERuntime-Language.msi. O nome de ficheiro do pacote SQL Server Compact 3.5 SP1 Consultas é SSCESqlWbTools-Language .msi.Language Nota A língua de espaço reservado representa a linguagem do produto. Importante Se o SQL Server Compact 3.5 SP1 não for instalado quando utilizar o SQL Server 2008 Management Studio, receberá a seguinte mensagem de erro:
    Não é possível carregar o Microsoft SQL Server Compact. Instale OS MSIs compactos do Microsoft SQL Server a partir da pasta - Servidores\Configuração nos meios de instalação do SQL Server. Para mais detalhes, consulte o artigo KB 952218.
    Para resolver este problema, instale o Microsoft SQL Server Compact 3.5 SP1 Query Tools e o Microsoft SQL Server Compact 3.5 SP1 a partir do meio de instalação SQL Server 2008 na pasta "Servidores\Configuração". Para obter mais informações sobre este problema e como resolvê-lo, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:  
    952218 Mensagem de erro quando tenta ligar ao SQL Server Compact 3.5 Service Pack 1 do SQL Server Management Studio no SQL Server 2008: "Incapaz de carregar o Microsoft SQL Server Compact"  
  • O ficheiro SQL Server Compact 3.5 SP1 (x86) Server Tools .msi não reconhece o IIS quando o IIS é instalado no Vista (x64) ou no Servidor windows 2008 Para obter mais informações sobre este problema e como resolvê-lo, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:  
    955966 SQL Server Compact 3.5 Service Pack 1 Ferramentas de servidor não são instaladas no modo WOW quando executam o IIS 7.0 num computador baseado no Windows Server 2008 de 64 bits ou num computador baseado no Windows Vista de 64 bits  
  • Estúdio Visual para Dispositivos retrocompatibilidade Depois de instalar o SQL Server Compact 3.5 SP1 Device Runtime, qualquer projeto de "Dispositivo Inteligente" que faça referência à montagem System.Data.SqlServerCe.dll e foi criado utilizando o Visual Studio 2008 SP1 ou o Visual Studio 2008 não pode ser aberto para trás e para a frente. Este problema ocorre porque as versões de montagem do Conjunto System.Data.SqlServerCe.dll no SQL Server Compact 3.5 SP1 (3.5.1.0) e no SQL Server Compact 3.5 (3.5.0.0) são diferentes. Os cenários possíveis e as suas resoluções são os seguintes:
    • Cria um projeto "Smart Device" utilizando o Visual Studio 2008 e certifique-se de que o projeto faz referência à montagem System.Data.SqlServerCe.dll. Em seguida, instala o Visual Studio 2008 SP1 e o SQL Server Compact 3.5 SP1 Device Runtime. Quando abre e depois constrói o projeto, recebe a seguinte mensagem de erro:
      Esta operação requer uma referência ao SQL Server Compact 3.5. O projeto tem uma referência a uma versão diferente. Atualize a referência e tente novamente.
      Este problema ocorre porque a versão do sistema.Data.SqlServerCe.dll que é referenciada no projeto difere do ficheiro System.Data.SqlServerCe.dll que existe no computador. Para resolver este problema, siga estes passos:
      1. No menu Ver, clique em Solution Explorer.
      2. Clique em Referências.
      3. Clique para selecionar a caixa de verificação System.Data.SqlServerCe e, em seguida, definir a propriedade versão específica para Falso na caixa de diálogo Propriedades.
      Nota Esta resolução não requer que atualize a versão de montagem do ficheiro System.Data.SqlServerCe.dll se abrir o projeto de um lado para o outro utilizando o Visual Studio 2008 e o Visual Studio 2008 SP1.
    • Instala o Visual Studio 2008 e o SQL Server Compact 3.5 Device Runtime. Em seguida, abre-se um projeto "Smart Device" que foi previamente criado num computador que está a executar o Visual Studio 2008 SP1 e o SQL Server Compact 3.5 SP1 Device Runtime. Quando se constrói o projeto, a aplicação constrói-se com sucesso. No entanto, quando tenta depurar a aplicação, recebe a seguinte mensagem de erro:
      Não consigo encontrar PInvoke DLL 'sqlceme35.dll'
      Esta emissão ocorre porque o projeto tem uma cópia local do System.Data.SqlServerCe.dll com a versão 3.5.1.0. Mas os ficheiros nativos dependentes não estão presentes no computador. Estes ficheiros incluem Sqlceme35.dll. Para resolver este problema, siga estes passos:
      1. No menu Ver, clique em Solution Explorer.
      2. Clique em Referências.
      3. Clique para selecionar a caixa de verificação System.Data.SqlServerCe e, em seguida, definir a propriedade Copy Local para Falso na caixa de diálogo Propriedades.
      4. Remova o conjunto System.Data.SqlServerCe.dll da pasta local do projeto.
      5. Clique em Referências.
      6. Clique com direito System.Data.SqlServerCee, em seguida, clique em Remover.
      7. Clique em Referências.
      8. Clique com o botão direito na área de Referências e, em seguida, clique em Adicionar Referência.
      9. Na caixa de diálogo 'Adicionar Referência', clique no separador .NET.
      10. Na lista 'Nome do Componente', clique para selecionar a caixa de verificação System.Data.SqlServerCe e, em seguida, clique em OK.
  • Restrições padrão são replicadas "as-is" As restrições predefinidos são replicadas "as-is" quando um artigo que contém uma coluna de geometria tipo é replicado a um assinante que está a executar o SQL Server Compact. Para resolver esta questão, faça uma das seguintes:
    • Não replique as restrições predefinidos. Em vez disso, desative a opção de esquema para o artigo antes de o artigo ser replicado no assinante.
    • Retire a restrição predefinitiva da tabela antes de publicar.
    • Especifique o valor padrão como literal em vez de como uma função geométrica.
  • A propriedade "Encriptar" da classe "SqlCeConnection" não é usada SQL Server Compact 3.5 SP1 não utiliza a propriedade Encriptada da classe SqlCeConnection. A propriedade Encriptada da classe SqlCeConnection não deve ser utilizada. Nota A propriedade Encrypt será depreciada numa futura versão. A propriedade é retida no SQL Server Compact 3.5 SP1 apenas para retrocompatibilidade. Utilize a propriedade do Modo de Encriptação da classe SqlCeConnection para encriptar ficheiros de base de dados SQL Server Compact 3.5 SP1. Os exemplos a seguir mostram como criar uma nova base de dados SQL Server Compact 3.5 SP1 encriptada. C#
    SqlCeEngine engine = new SqlCeEngine("Data Source=Northwind.sdf;encryption mode=platform default;Password=<enterStrongPasswordHere>;");engine.CreateDatabase();
    Básico Visual
    Dim engine As SqlCeEngine = New SqlCeEngine("Data Source=Northwind.sdf;encryption mode=platform default;Password=<enterStrongPasswordHere>;")engine.CreateDatabase()
  • Uma aplicação ClickOnce deve ser republica depois de atualizar para Visual Studio 2008 Quando atualiza do Visual Studio 2005 para o Visual Studio 2008, uma base de dados compacta de servidor SQL encriptada não é atualizada e as aplicações clickOnce devem ser republicadas. Os ficheiros de base de dados (*.sdf) que foram criados por versões anteriores do SQL Server Compact são incompatíveis com o SQL Server Compact 3.5 SP1. Apenas ficheiros de base de dados não encriptados de versões anteriores do SQL Server Compact são atualizados quando um projeto Visual Studio 2005 é atualizado para Visual Studio 2008. Os ficheiros de base de dados encriptados têm de ser atualizados manualmente. Se o projeto Visual Studio 2005 utilizar o ClickOnce para publicar aplicações, a aplicação deve ser republicada após a atualização do projeto no Visual Studio 2008. Para atualizar manualmente os ficheiros de base de dados encriptados, siga estes passos:
    1. Clique em Dados.
    2. Clique em Adicionar Nova Fonte de Dados.
    3. Clique em Adicionar Ligação.
    Se abrir uma versão anterior do ficheiro de base de dados, receberá uma mensagem. Se clicar em OK para a mensagem, é apresentada a caixa de diálogo de base de dados do Upgrade para SQL Server Compact 3.5. Ou, você pode usar a API sqlCeEngine.Upgrade para cenários programáticos. Por exemplo, pode utilizar código que se assemelha às seguintes amostras de código. C#
    SqlCeEngine engine = new SqlCeEngine("Data Source=Northwind.sdf;Password=<enterStrongPasswordHere>;");engine.Upgrade ("Data Source=Northwind.sdf;encryption mode=platform default;Password=<enterStrongPasswordHere>;");
    Básico Visual
    Dim engine As SqlCeEngine = New SqlCeEngine("Data Source=Northwind.sdf;Password=<enterStrongPasswordHere>;")engine.Upgrade("Data Source=Northwind.sdf;encryption mode=platform default;Password=<enterStrongPasswordHere>;")
    Se o seu projeto utilizar o ClickOnce para publicar aplicações, a aplicação deve ser republicada após a atualização da aplicação no Visual Studio 2008. Quando republica a aplicação ClickOnce no Visual Studio 2008, poderá ver a seguinte mensagem de aviso:
    SQL Server 2005 Compact Edition pré-requisito não foi encontrado para o bootstrapping
    A mensagem de aviso pode ser ignorada com segurança.
  • Os tipos de dados SQL Server Compact 3.5 SP1 para parâmetros como SqlDbType e DbType devem ser explicitamente definidos Se os tipos de dados para parâmetros como SqlDbType e DbType não estiverem explicitamente definidos, um motor de base de dados pode tentar adivinhar o tipo de dados mais adequado para esse parâmetro. Este palpite pode não estar correto, especialmente para tipos de dados string e binário que não sejam de comprimento fixo (incluindo objetos grandes), tais como nvarchar,ntext,varbinário,e imagem. Nestes casos, pode ser lançada uma mensagem de erro de exceção. Para resolver este problema, recomendamos vivamente que especifique os tipos de dados de parâmetros para tipos de dados de cordas e binárias que não são de comprimento fixo. Por exemplo, pode utilizar código que se assemelha às seguintes amostras de código. C#
    SqlCeEngine engine = new SqlCeEngine(connString);engine.CreateDatabase();engine.Dispose();SqlCeConnection conn = new SqlCeConnection(connString);conn.Open();SqlCeCommand cmd = conn.CreateCommand();cmd.CommandText = "CREATE TABLE BlobTable(nameCol nvarchar(128), blobCol ntext);";cmd.ExecuteNonQuery();cmd.CommandText = "INSERT INTO BlobTable(nameCol, blobCol) VALUES (@nameParam, @blobParam);";SqlCeParameter paramName = cmd.Parameters.Add("nameParam", SqlDbType.NVarChar, 128);SqlCeParameter paramBlob = cmd.Parameters.Add("blobParam", SqlDbType.NText);paramName.Value = "Name1";paramBlob.Value = "Name1".PadLeft(4001);cmd.ExecuteNonQuery();
    Básico Visual
    Dim engine As SqlCeEngine = New SqlCeEngine(connString)engine.CreateDatabase()engine.Dispose()Dim conn As SqlCeConnection = New SqlCeConnection(connString)conn.Open()Dim cmd As SqlCeCommand = conn.CreateCommand()cmd.CommandText = "CREATE TABLE BlobTable(nameCol nvarchar(128), blobCol ntext);"cmd.ExecuteNonQuery() cmd.CommandText = "INSERT INTO BlobTable(nameCol, blobCol) VALUES (@nameParam, @blobParam);"Dim paramName As SqlCeParameterDim paramBlob As SqlCeParameterparamName = cmd.Parameters.Add("nameParam", SqlDbType.NVarChar, 128)paramBlob = cmd.Parameters.Add("blobParam", SqlDbType.NText)paramName.Value = "Name1"paramBlob.Value = "Name1".PadLeft(4001)cmd.ExecuteNonQuery()
  • A compatibilidade do formato do ficheiro de base de dados é restringida em alguns casos Os ficheiros SQL Server Compact 3.5 SP1 (.sdf) podem ser abertos no SQL Server Compact 3.5 e no SQL Server Compact 3.5 SP1. No entanto, em alguns casos, a compatibilidade do formato de ficheiros de base de dados pode ser restringida. Por exemplo, a compatibilidade do formato de ficheiros de base de dados pode ser restringida nos seguintes cenários:
    • Uma base de dados sensível a casos que é criada no SQL Server Compact 3.5 SP1 não pode ser aberta ou reconhecida no SQL Server Compact 3.5. Esteja ciente de que são introduzidas colagens sensíveis ao caso a partir do SQL Server Compact 3.5 SP1.
    • O mesmo ficheiro de base de dados não pode ser aberto ao mesmo tempo pelo sql Server Compact 3.5 e pelo período de funcionamento DO SQL Server Compact 3.5 SP1.
  • Uma consulta que contém um tipo DE JOIN LEFT OUTER com uma constante como uma ópera esquerda não devolve os resultados corretos Quando você executar uma consulta que inclui um tipo LEFT OUTER JOIN com uma constante como uma ópera esquerda, os resultados corretos não são devolvidos. Este problema ocorre porque o SQL Server Compact não avalia corretamente tais consultas. Segue-se um exemplo de tal consulta:
    SELECT * FROM table1 LEFT OUTER JOIN table2 ON 1 = table1.column1
    A seguinte consulta LINQ a Entidades também inclui um valor constante como função de seletor chave no método GroupBy. Esta consulta é convertida para um LEFT OUTER JOIN com uma constante como uma ópera esquerda internamente e devolve um valor incorreto. C#
    using (NorthwindEntities nwEntities = new NorthwindEntities()){   var customers = nwEntities.Customers                   .GroupBy( c => 1, c => c.Customer_ID)                   .Select( c => c);}
  • Problemas de tempo de execução DO SQL Server Compact 3.5 SP1 para o Quadro de Entidade ADO.NET
    • Os subqueries correlacionados que são convertidos em subqueries scalar internamente não são suportados nesta versão. Para tais subqueries, recebe a seguinte mensagem de erro:
      Ocorreu um erro durante a execução da definição de comando. Veja a exceção interior para detalhes. A Exceção Interior contém a seguinte mensagem "Houve um erro a analisar a consulta. [.., Token em erro = AS ]
      Esta questão ocorre porque o Quadro de Entidades interpreta a consulta de entrada como uma consulta com o tipo de junção CROSS APPLY ou OUTER APPLY. Se o lado direito da condição de junção devolver um valor escalar, a junção é convertida num sublote escalar. O fornecedor de Quadro de Entidade para o SQL Server Compact tem de converter esse subquery escalar para uma consulta equivalente com o tipo de junta OUTER APPLY que é suportado pelo SQL Server Compact. No entanto, nesta versão, esta conversão não é feita corretamente. Por exemplo, a seguinte consulta irá lançar uma mensagem de erro nesta versão: C#
      using (NorthwindEntities nwEntities = new NorthwindEntities()){    var orders = nwEntities.Employees                .Select(employee => employee.Orders.Max(order => order.Order_ID));    foreach (var order in orders)    {       Console.WriteLine(order.ToString());    }}
      • Uma exceção de violação de acesso ocorre durante a execução de uma consulta do Quadro de Entidades se tanto a consulta principal como o subquery incluem uma palavra-chave DISTINTA e uma condição de junção é indicada com uma cláusula DE JOIN EXTERIOR. Por exemplo, a seguinte consulta criará uma violação de acesso:
        SELECT DISTINCT [o].[CustomerID]FROM (SELECT DISTINCT * FROM [Orders]) AS [o]LEFT OUTER JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID]

Lista de questões que são corrigidas

Este pacote de serviços corrige as seguintes questões:
  • 923979 Mensagem de erro quando tenta inserir uma linha ou realizar outras operações de base de dados numa base de dados SQL Server 2005 Mobile Edition: "Página errada possível corrupção na base de dados"
  • 933463 As aplicações geridas que utilizam o SQL Server 2005 Mobile Edition podem parar inesperadamente se a localização dos DLLs móveis SQL mudar
  • 934386 Não é possível utilizar o SQL Server 2005 Compact Edition num dispositivo baseado em ARMV4i que está a executar o Windows CE .NET 4.2
  • 935769 Mensagem de erro quando atualiza uma base de dados do SQL Server 2000 Windows CE Edition 2.0 para SQL Server 2005 Mobile Edition: "O ficheiro de base de dados é maior do que o tamanho máximo de base de dados configurado"
  • 936487 As aplicações geridas que utilizam o SQL Server 2005 Compact Edition 3.1 podem parar inesperadamente em dispositivos compatíveis com o Windows Mobile 5.0 ARMV4i se a localização dos DLLs de Edição Compacta do SQL Server for muda
  • 938786 .NET Compact Framework 2.0 aplicação de dispositivo baseada em 2.0 que chama o método SqlCeEngine.Verificar contra uma base de dados SQL Server 2005 Compact Edition deixa de responder
  • 947002 Mensagem de erro quando tenta eliminar as linhas da tabela na SQL Server 2005 Compact Edition ou no SQL Server Compact 3.5: "Erro principal 0x80004005, Erro Menor 0. Tentou dividir por zero"
  • 950440 A aplicação parece parar de responder quando uma aplicação executa uma grande consulta que tem parâmetros em predicados em SQL Server 2005 Compact Edition
  • 951932 Mensagem de erro quando cria uma subscrição na SQL Server 2005 Compact Edition para uma publicação de fusão no SQL Server 2000: "O nome da tabela não é válido. [Número da linha Token (se conhecido) = 1,token line offset (se conhecido) = 22,nome de tabela = <TableName>]"
  • 953259 Mensagem de erro quando executa uma declaração SQL que utiliza a função Charindex numa base de dados que utiliza a posição checa na SQL Server 2005 Compact Edition: "A função não é reconhecida pela SQL Server Compact Edition"
Este pacote de serviço corrige os seguintes problemas que não foram previamente documentados num artigo da Base de Conhecimento do Microsoft:SQL Server Compact 3.5 SP1
  • Durante a replicação da fusão de dados do SQL Server 2005 para o SQL Server Compact 3.5, podem ser criadas declarações transact-SQL incorretas. Além disso, as alterações de dados não são aplicadas ao SQL Server Compact. Por exemplo, este problema pode ocorrer quando for criada uma declaração transact-SQL incorreta, como a seguinte:
    not null default n e w i d ( )
    Pode esperar que seja criada uma declaração Transact-SQL, como a seguinte:
    not null default newid()
  • Experimenta um desempenho de consulta mais lento no SQL Server Compact 3.5 em comparação com o SQL Server 2005 Compact Edition. Este problema é causado por diferentes planos de consulta. Se executar o seguinte código, é gerado um plano de consulta incorreto no SQL Server Compact 3.5 e a verificação da tabela é utilizada em vez de digitalização de índice:
    cmd.CommandText = @"select * from  Customers where Customers.Customer_ID = @v0";cmd.Parameters.Add("@v0", SqlDbType.NVarChar);rdr = cmd.ExecuteReader();
  • Um parâmetro TransactionScope é comprometido independentemente de ts.Complete ser chamado. Por exemplo, este problema ocorre quando o LINQ para o SQL DataContext é utilizado, como no seguinte código de exemplo com SQL Server Compact 3.5:
    using System;using System.Data.Linq;using System.Transactions;namespace bug{    class Program    {        static void Main(string[] args)        {            DataContext ctx = new DataContext("Test.sdf");            using (TransactionScope ts = new TransactionScope())            {                ctx.ExecuteCommand("INSERT INTO x (y) VALUES (2)");            }        }    }
  • Quando utilizar o SQL Server Compact juntamente com ADO.Net Estrutura de Entidade, os valores que são superiores a 8.000 bytes não podem ser inseridos numa tabela compacta de servidor SQL que contém colunas binárias de objetos grandes.
  • Se um índice estiver em mau estado, as estatísticas de atualização falham quando a ligação ao SQL Server Compact 3.5 é aberta num modo apenas de leitura.
  • Recebe uma mensagem de erro de Violação de Acesso no processo GetColumnRowSet para conjuntos de resultados scrolláveis. Além disso, o processo OpenSharedMemory não repõe o objeto pError quando a criação de memória partilhada falha num espaço de nome Global.
  • A eliminação de um objeto de Comando após um processo de Ligação pode lançar uma mensagem de erro de exceção. Este problema pode ocorrer quando o seguinte código é executado:
    SqlCeConnection cn;SqlCeCommand cmd;... cn.Dispose();cmd.Dispose(); 
  • Uma mensagem de erro de Violação de Acesso é lançada quando uma declaração Select não devolve todas as colunas que são classificadas pelo parâmetro Grupo Por parâmetro e pelo parâmetro Ordem Por. Por exemplo, este problema pode ocorrer com a seguinte declaração Select:
    SELECT        [Company Name], [Contact Name]FROM            CustomersGROUP BY [Customer ID], [Company Name], [Contact Name]ORDER BY [Customer ID], [Company Name], [Contact Name]
  • CASCADE DELETE não funciona corretamente se houver apenas um elemento na tabela e uma condição E é utilizada numa cláusula WHERE. A utilização de "NÃO" com "OR" funciona corretamente. Por exemplo, a seguinte consulta não funciona corretamente:
    Select from table where (a=x AND b=y)
  • Um valor nulo na lista Select pode causar uma mensagem de erro de exceção nativa no processo ExecutReader intermitentemente. A exceção não é captada pela classe SqlCeException, e recebe a seguinte mensagem de erro de exceção nativa:
    Uma exceção nativa ocorreu em SqlMobileCrash.exe. Selecione desistir E, em seguida, reinicie este programa ou selecione detalhes para mais informações. Código de exceção: 0xc0000005Exceção Endereço: 0x00d1aaa68Reading: 0x0027f0000
  • O parâmetro Nome da Tabela é tratado como sensível a casos quando o comando SET IDENTITY_INSERT é utilizado. Este problema ocorre porque os metadados devem ser sempre insensíveis a casos.
  • As inserções nas colunas do tipo Float falham se o objeto IDbCommand for utilizado. Por exemplo, este problema ocorre com o seguinte código:
    try            {                string ConnectionString = "Data Source='Northwind.sdf'";                IDbConnection conn = new SqlCeConnection(ConnectionString);                IDbCommand cmd = conn.CreateCommand();                cmd.CommandText = "insert into \"newtable\"(\"t1\")values(@p0)";                conn.Open();                IDbDataParameter p;                p = cmd.CreateParameter();                p.Value = 7.6M;                p.ParameterName = "@p0";                cmd.Parameters.Add(p);                IDbTransaction t = cmd.Connection.BeginTransaction();                cmd.Transaction = t;                cmd.Prepare();                cmd.ExecuteNonQuery();                p.Value = 10M;                cmd.ExecuteNonQuery(); // Exception is thrown here                t.Commit();            }            catch (Exception ex)            {             }
  • O comando SqlCeResultSet.GetEnumerator lança uma mensagem de erro StackOverflowException e o comando SqlCeDataReader.GetEnumerator lança uma mensagem de erro NotSupportedException quando o seguinte código é executado:
    SqlCeConnection conn = new SqlCeConnection(@"Data Source=Northwind.sdf");conn.Open();SqlCeCommand cmd = conn.CreateCommand();cmd.CommandText = "Select * from categories";SqlCeResultSet res = cmd.ExecuteResultSet(ResultSetOptions.Scrollable | ResultSetOptions.Updatable | ResultSetOptions.Sensitive);IEnumerator e= res.GetEnumerator(); // Exception is thrown here.conn.Close();
  • Quando uma chamada RAPI simula um cenário System.Web (ASP.NET), o SQL Server Compact pode lançar uma mensagem de erro de exceção de referência nula.
SQL Servidor Compacto 3.5
  • As inicializações de fusão não podem executar uma declaração de Alter Table para a restrição de índice principal se um plano de manutenção para reconstruir o índice for executado. A inicialização da fusão falha e recebe a seguinte mensagem de erro:
    O nome da mesa não é válido. [ Número da linha token (se conhecido) = 1,token line offset (se conhecido) = 21,nome de tabela = categorias ] HRESULT 0x80040E14 (26100). A declaração do SQL não foi executada. [ SQL statement = ALTER TABLE [dbo]. [Categorias] ADIÇÃO DE RESTRIÇÃO [PK_CATEGORIES] CHAVE PRIMÁRIA AGRUPADA ([CategoryID] )com PAD_INDEX , FILLFACTOR = 85 ] HRESULT 0x80040E14 (28560)
  • Se um PC de bolso baseado no Windows Mobile 2003 executa vários fios e processos para aceder à mesma base de dados, a aplicação pode sair com uma mensagem de erro aleatória.
  • No Microsoft Visual Studio 2008, uma ligação de base de dados não pode ser estabelecida numa base de dados SQL Server Compact. Este problema ocorre se a base de dados for superior a 256 megabytes (MB).
  • Os seguintes binários nativos SQL Server Compact são agora assinados pela Microsoft.Ficheiros Global .dll
    • Sqlcese35.dll
    • Sqlcecompact35.dll
    • Sqlceqp35.dll
    • Sqlceoledb35.dll
    • Sqlceme35.dll
    • Sqlceca35.dll
    • Sqlcesa35.dll
    • Sqlcerp35.dll
    Ficheiros .dll específicos da linguagem
    • Sqlceer35br.dll
    • Sqlceer35cn.dll
    • Sqlceer35cs.dll
    • Sqlceer35da.dll
    • Sqlceer35de.dll
    • Sqlceer35el.dll
    • Sqlceer35en.dll
    • Sqlceer35es.dll
    • Sqlceer35fi.dll
    • Sqlceer35fr.dll
    • Sqlceer35it.dll
    • Sqlceer35ja.dll
    • Sqlceer35ko.dll
    • Sqlceer35nl.dll
    • Sqlceer35no.dll
    • Sqlceer35pl.dll
    • Sqlceer35ps.dll
    • Sqlceer35pt.dll
    • Sqlceer35ru.dll
    • Sqlceer35sv.dll
    • Sqlceer35tw.dll
  • Uma mensagem de erro de violação de acesso é lançada quando uma consulta tem vários predicados OR, como nos seguintes exemplos de código:
    create table t1 (c1 int);create index t1_idx on t1(c1);insert into t1 values (1);insert into t1 values (2);insert into t1 values (3);create table t2 (col1 int, col2 int);insert into t2 values (2,3);insert into t2 values (1,3);insert into t2 values (3,3);select * from t1,t2 where c1 = col1 or c1 = col2 or c1 = 1;
  • Você executou um computador baseado no Windows XP que usa um sistema de ficheiros FAT32. Se uma base de dados SQL Server Compact for acedida ao mesmo tempo por um serviço Windows e por uma aplicação, a aplicação falha.
  • O método SqlCeEngine Compact define o valor Autoinc_Next incorretamente quando o valor máximo atribuído numa gama atribuída é eliminado. Se o valor máximo atribuído for eliminado, o valor Autoinc_Next será definido para um valor 1 superior ao valor máximo atual que é utilizado por um determinado artigo dentro do seu alcance.
  • Podem ocorrer resultados inesperados quando os registos que contêm caracteres especiais são acedidos numa declaração do TableDirectIndexSearch e numa declaração Select.
  • Microsoft Visual Studio 2005 Query Designer adiciona suportes quadrados para funções de data.
  • Durante uma replicação de fusão de dados entre o SQL Server e o SQL Server Compact, recebe a seguinte mensagem de erro:
    O gerente da fechadura está sem espaço para fechaduras adicionais. Isto pode ser causado por grandes transações, por grandes operações de tipo, ou por operações onde a SQL Server Compact Edition cria tabelas temporárias. Não se pode aumentar o espaço de bloqueio.
  • Uma mensagem de erro FormatException é lançada quando uma corda é concatenada com o parâmetro do tipo String. Por exemplo, este problema ocorre quando se executam o seguinte código:
    SqlCeConnection con = new SqlCeConnection("Test.sdf"); SqlCeCommand cmd = con.CreateCommand();cmd.CommandText = "select firstname + ' ' + lastname from person";bool i = cmd.ExecuteReader().Read();cmd.CommandText = "select firstname + @p0 + lastname from person";cmd.Parameters.Add("@p0", " ");i = cmd.ExecuteReader().Read();
  • Os nomes de parâmetros duplicados não estão ativados.
  • Se ocorrer uma sequência de "Excluir", "Ler", "ReadPrevious" quando utilizar uma declaração Select que contenha uma cláusula De Ordem Por cláusula, ocorre uma mensagem de erro de exceção.
  • SELECIONAM DECLARAções DISTINTAS * não são permitidas quando uma cláusula ORDER BY é utilizada.
  • Quando um nome de restrição é especificado, uma coluna não pode ser adicionada a uma tabela povoada existente que contenha valores NÃO NULOS e Valores DE INCUMPRIMENTO. Por exemplo, este problema ocorre quando se executam o seguinte código:
    ALTER TABLE Categories ADD COLUMN bitcol1 bit NOT NULL CONSTRAINT MyConstraint DEFAULT (1);
  • Quando executar a seguinte consulta, é selecionado um índice incorreto:
    SELECT store_uid, stock_price, stock_class, stock_number, ticket_number, pocket, max(last_reorder_date) last_reorder_date, reorder_point, last_order_qty, sys_line_flag, stock_status, max(last_ship_date) last_ship_date, max(last_scan_date) last_scan_date, max(back_order_status) back_order_status, max(unit_last_scan_date) unit_last_scan_date, max(revision_target) revision_target FROM tbl_master_chart WHERE store_uid = 22359 and stock_price = '0399' and stock_class = 'EGB' and stock_number = '4759' GROUP BY store_uid, stock_price, stock_class, stock_number, ticket_number, pocket, reorder_point, last_order_qty, sys_line_flag, stock_status ORDER BY sys_line_flag DESC, ticket_number
  • Se utilizar o procedimento ReadAbsolute (número inteiro negativo) para recuperar o valor getString de uma linha, recebe a seguinte mensagem de erro de exceção:
    Não existem dados para a linha/coluna