Suporte SqlClient para LocalDB

Use o pacote NuGet Microsoft.Data.SqlClient para se ligar ao LocalDB, uma versão leve do SQL Server disponível no Windows. Utilize a autenticação integrada do Windows para os exemplos deste artigo.

Observações

Para resumir o que você pode fazer com o LocalDB:

  • Crie e inicie instâncias LocalDB com SqlLocalDB.exe.

  • Use sqlcmd.exe para adicionar e modificar bancos de dados em uma instância LocalDB. Por exemplo, sqlcmd -S (localdb)\myinst.

  • Utilize a palavra-chave da string de conexão AttachDBFilename para adicionar um banco de dados à sua instância LocalDB. Ao usar AttachDBFilename, se não especificar o nome do banco de dados com a palavra-chave Database da string de conexão, o banco de dados será removido da instância LocalDB quando a aplicação for encerrada.

  • Especifique uma instância LocalDB em sua cadeia de conexão. Por exemplo, o nome da instância é myInstance, a cadeia de conexão incluiria:

    Server=(localdb)\myInstance;Database=<database>;Integrated Security=true;Encrypt=true

User Instance=True não é permitido ao se conectar a um banco de dados LocalDB.

Para obter informações sobre como instalar o LocalDB, consulte SQL Server Express LocalDB.

Criar programaticamente uma instância nomeada

Microsoft.Data.SqlClient no .NET moderno não utiliza a secção de configuração do .NET Framework system.data.localdb. Crie e inicie a instância antes que a sua aplicação abra uma ligação:

SqlLocalDB.exe create myInstance
SqlLocalDB.exe start myInstance

Especifique o mesmo nome de instância na palavra-chave da cadeia de ligação Server. Para anexar um ficheiro de base de dados existente, defina AttachDBFilename para o caminho completo do ficheiro e defina Database para o nome da base de dados.

Para desenvolvimento local com uma instância LocalDB que não tenha um certificado de servidor confiável, use Encrypt=true;TrustServerCertificate=true. Esta configuração encripta a ligação mas ignora a validação do certificado do servidor. Para ligações remotas de produção, use Encrypt=true;TrustServerCertificate=false e configure um certificado de servidor em que o cliente confia e que corresponda ao nome do servidor. Para obter mais informações, consulte Criptografia e validação de certificado em Microsoft.Data.SqlClient.

Ver também