Converter SDF para MDF
Migre um banco de dados SDF do SQL Server Compact para um banco de dados MDF do SQL Server utilizável.
Como converter sdf para mdf arquivo
- Bancos de dados
- Classificação: 2.0/5
Aplicações desenvolvidas para o Microsoft SQL Server Database Engine completo não podem abrir diretamente um arquivo .sdf do SQL Server Compact. Migrar o esquema e os dados para um banco de dados SQL Server produz um arquivo de dados primário .mdf e permite que aplicações baseadas em servidor, administradores e vários clientes usem o banco de dados.
O que é o formato SDF
Para bancos de dados, SDF normalmente identifica um banco de dados SQL Server Compact criado pelo SQL Server Compact 3.5 ou 4.0. É um banco de dados relacional incorporado de arquivo único, usado por aplicações desktop e .NET, caches locais, software móvel e sistemas de entrada de dados desconectados.
O arquivo contém tabelas, índices, restrições e dados da aplicação. O SQL Server Compact é executado no processo e não usa o serviço completo do SQL Server Database Engine. Portanto, seu arquivo não é um banco de dados SQL Server que possa ser anexado diretamente no SQL Server Management Studio.
O que é o formato MDF
MDF é o arquivo de dados primário de um banco de dados gerenciado pelo Microsoft SQL Server Database Engine completo; não é um formato de banco de dados separado e intercambiável. Um banco de dados SQL Server normalmente inclui um arquivo de dados primário .mdf, arquivos de dados secundários .ndf opcionais e um arquivo de log de transações .ldf.
O SQL Server fornece autenticação e permissões gerenciadas pelo servidor, transações, stored procedures, views, triggers, backups, replicação, ferramentas de administração e acesso concorrente de clientes. Esses recursos tornam um banco de dados baseado em MDF apropriado quando uma aplicação requer SQL Server ou quando vários usuários precisam acessar os dados por meio de um servidor de banco de dados.
Como realizar a migração
A opção desktop mais prática é o SQL Server Compact Toolbox, de ErikEJ, usado com uma instalação compatível do SQL Server. Instale o runtime e as ferramentas do SQL Server Compact exigidos pela versão do SDF, o SQL Server Express ou Developer Edition e o SQL Server Management Studio quando forem necessárias tarefas administrativas. Quando necessário, corresponda o provider de 32 bits ou 64 bits à aplicação ou às ferramentas.
- Faça um backup do arquivo
.sdfe feche todas as aplicações que o utilizam. - Abra o SQL Server Compact Toolbox no ambiente compatível do Visual Studio, conecte-se ao SDF com o provider do SQL Server Compact 3.5 ou 4.0 que o criou e verifique se as tabelas e os dados podem ser lidos.
- Crie um banco de dados de destino vazio na instância do SQL Server usando Databases → New Database no SSMS ou deixe o assistente de migração criá-lo, se essa opção estiver disponível. Não crie o destino renomeando o SDF.
- Execute o comando de migração ou exportação de banco de dados do Toolbox, selecione a instância do SQL Server e o banco de dados de destino e migre o esquema e os dados. Inclua índices, chaves primárias, chaves estrangeiras e outras restrições compatíveis.
- Revise os objetos gerados no SSMS, compare as contagens de linhas da origem e do destino e teste a aplicação usando a nova conexão do SQL Server.
Se o comando de migração não estiver disponível para o Toolbox ou provider instalado, gere um script SQL de esquema e dados a partir do SDF, crie o banco de dados de destino no SSMS e execute o script depois de corrigir a sintaxe específica do SQL Server Compact. Uma migração .NET personalizada pode ler a origem com System.Data.SqlServerCe e gravar no SQL Server com Microsoft.Data.SqlClient ou System.Data.SqlClient; SqlBulkCopy é adequado para transferências de tabelas grandes e migrações repetíveis.
Não há um conversor online de SDF para MDF geralmente confiável que possa ser recomendado. O serviço precisaria interpretar um banco de dados SQL Server Compact, criar um banco de dados de servidor e lidar com diferenças de esquema específicas do provider; o upload do arquivo também expõe seu conteúdo. Use ferramentas locais para dados confidenciais ou de produção, em vez de sites genéricos de conversão de extensões de arquivo.
Verificações de compatibilidade e qualidade
O SQL Server Compact e o SQL Server completo não possuem tipos de dados ou dialetos SQL idênticos. Inspecione colunas identity, texto Unicode, precisão e escala decimais, valores de data e hora, GUIDs, colunas que aceitam NULL, expressões padrão, identificadores reservados, índices e relações de chaves estrangeiras após a migração.
O SQL Server Compact não fornece o modelo completo de objetos de servidor do SQL Server. Stored procedures, permissões do lado do servidor, jobs, configurações de replicação, triggers e outros recursos do SQL Server não podem ser transferidos de um SDF se nunca estiveram presentes nele; recrie qualquer lógica de aplicação e configuração administrativa necessária no banco de dados de destino.
Valide as contagens de linhas, as chaves primárias e estrangeiras, as definições de índices, o tratamento de valores NULL, valores representativos de texto e numéricos e o comportamento de identity. Teste inserções, atualizações, transações e a recuperação de valores identity por meio da aplicação de destino. Substitua a antiga string de conexão do SQL Server Compact por uma string de conexão do SQL Server e confirme que a versão de destino do SQL Server é compatível com os objetos migrados.
Não copie nem renomeie apenas database.sdf como database.mdf. Os formatos internos são diferentes, e um banco de dados SQL Server normal também depende de seus metadados de banco de dados e do log de transações; um arquivo MDF sozinho não é uma exportação lógica completa.