Usando
User Instance
significa que o SQL Server está criando uma cópia especial desse arquivo de banco de dados para uso pelo seu programa. Se você tiver dois programas diferentes usando a mesma cadeia de conexão, eles obterão duas cópias totalmente diferentes do banco de dados. Isso leva a muito de confusão, pois as pessoas testarão a atualização de dados com seu programa, depois se conectarão a uma cópia diferente de seu banco de dados no Management Studio e reclamarão que sua atualização não está funcionando. Isso os envia por uma série falha de etapas de perseguição de ganso selvagem tentando solucionar o problema errado. Este artigo se aprofunda sobre como usar esse recurso, mas preste atenção à primeira observação:a
User Instance
recurso foi descontinuado . No SQL Server 2012, as alternativas preferidas são (nesta ordem, IMHO):-
Crie ou anexe seu banco de dados a uma instância real do SQL Server. Sua string de conexão precisará apenas especificar o nome da instância, o nome do banco de dados e as credenciais. Não haverá confusão, pois o Management Studio, o Visual Studio e seus programas estarão todos se conectando a uma única cópia do banco de dados.
-
UseSqlLocalDb
para o desenvolvimento local. Acredito que indiquei este artigo ontem:"Introdução ao SQL Server 2012 Express LocalDB".
- Use o SQL Server Compact. Eu gosto menos dessa opção porque a funcionalidade e a sintaxe não são as mesmas - portanto, não necessariamente fornecerá todas as funcionalidades que você deseja implantar. A Compact Edition também está obsoleta, então é isso.
Claro que se você estiver usando uma versão
AttachDbFileName
. EDITAR: Já escrevi sobre isso aqui:
- Maus hábitos:usando AttachDBFileName