SQL Server
Segurança padrão
Conexão Confiável
Usar uma porta diferente
Se o seu SQL Server escuta em uma porta não padrão, você pode especificar isso usando a sintaxe Servidor,Porta (note a vírgula, não é um dois pontos).
A porta padrão do SQL Server é 1433 e não há necessidade de especificá-la na string de conexão.
Anexar um arquivo de banco de dados ao conectar a uma instância local do SQL Server Express
Por que o parâmetro Database é necessário? Se o banco de dados nomeado já foi anexado, o SQL Server não o anexa novamente. Ele usa o banco de dados anexado como padrão para a conexão.
Anexar um arquivo de banco de dados, localizado no diretório de dados, ao conectar a uma instância local do SQL Server Express
Por que o parâmetro Database é necessário? Se o banco de dados nomeado já foi anexado, o SQL Server não o anexa novamente. Ele usa o banco de dados anexado como padrão para a conexão.
Conectar via um endereço IP
DBMSSOCN=TCP/IP é como usar TCP/IP em vez de Named Pipes. No final do Data Source está a porta a ser usada. 1433 é a porta padrão para o SQL Server. Leia mais aqui.
Conexão com uma instância do SQL Server
A sintaxe do nome ServidorInstancia usada na opção Server é a mesma para todas as strings de conexão do SQL Server.
Conexão confiável de um dispositivo CE
Um dispositivo Windows CE na maioria das vezes não é autenticado e logado em um domínio, mas é possível usar SSPI ou conexão confiável e autenticação de um dispositivo CE usando esta string de conexão.
Observe que isso funcionará apenas em um dispositivo CE.
Especificando tamanho do pacote
Por padrão, o Microsoft .NET Framework Data Provider para SQL Server define o tamanho do pacote de rede para 8192 bytes. No entanto, isso pode não ser o ideal, tente definir este valor para 4096. O valor padrão de 8192 pode causar erros de Falha ao reservar memória contígua também, leia mais aqui.
Espelhamento de Banco de Dados
Se você se conectar com ADO.NET ou o SQL Native Client a um banco de dados que está sendo espelhado, sua aplicação pode aproveitar a capacidade do driver de redirecionar automaticamente as conexões quando ocorre uma falha no espelhamento do banco de dados. Você deve especificar o servidor principal inicial e o banco de dados na string de conexão e o servidor parceiro de failover.
Existem, claro, muitas outras maneiras de escrever a string de conexão usando o espelhamento de banco de dados, este é apenas um exemplo destacando a funcionalidade de failover. Você pode combinar isso com as outras opções de string de conexão disponíveis.
Habilitar MARS
Instância automática LocalDB
A primeira conexão ao LocalDB criará e iniciará a instância, isso leva algum tempo e pode causar uma falha de tempo limite de conexão. Se isso acontecer, espere um pouco e conecte-se novamente.
Instância automática LocalDB com arquivo de dados específico
Instância compartilhada LocalDB
Tanto instâncias automáticas quanto nomeadas do LocalDB podem ser compartilhadas.
Use o SqlLocalDB.exe para compartilhar ou deixar de compartilhar uma instância. Por exemplo, execute SqlLocalDB.exe share "MyInstance" "MyInstanceShare" para compartilhar uma instância.
Instância de Usuário no SQL Server Express local
O recurso User Instance foi descontinuado com o SQL Server 2012, use o recurso SQL Server Express LocalDB em vez disso.
Instância nomeada LocalDB
Para criar uma instância nomeada, use o programa SqlLocalDB.exe. Exemplo: SqlLocalDB.exe create MyInstance e SqlLocalDB.exe start MyInstance
Instância nomeada LocalDB via nome do pipe de named pipes
A sintaxe Server=(localdb) não é suportada pelas versões do .NET framework anteriores à 4.0.2. No entanto, a conexão por named pipes funcionará para conectar aplicativos pré 4.0.2 às instâncias do LocalDB.
Ao executar SqlLocalDB.exe info MyInstance você obterá (junto com outras informações) o nome do pipe da instância, como "np:\\.\pipe\LOCALDB#F365A78E\tsql\query".
Processamento assíncrono
Uma conexão com o SQL Server que permite a emissão de requisições assíncronas através de objetos ADO.NET.
Sempre Criptografado
O Always Encrypted no System.Data.SqlClient está disponível apenas para .NET Framework, não para .NET Core. Para usar o Always Encrypted no .NET Core, mude para o Microsoft.Data.SqlClient (pacote NuGet).
Sempre criptografado com enclaves seguros
O Always Encrypted no System.Data.SqlClient está disponível apenas para .NET Framework, não para .NET Core. Para usar o Always Encrypted no .NET Core, mude para o Microsoft.Data.SqlClient (pacote NuGet).
Usando uma Instância de Usuário em uma instância local do SQL Server Express
A funcionalidade de Instância de Usuário cria uma nova instância do SQL Server instantaneamente durante a conexão. Isso só funciona em uma instância local do SQL Server e apenas quando conectando usando autenticação windows sobre pipes nomeados locais. O propósito é poder criar uma instância do SQL Server com plenos direitos para um usuário com direitos administrativos limitados no computador.
Para usar a funcionalidade de Instância de Usuário, você precisa habilitá-la no SQL Server. Isso é feito executando o seguinte comando: sp_configure 'user instances enabled', '1'. Para desabilitar a funcionalidade, execute sp_configure 'user instances enabled', '0'.
Azure SQL Database
Padrão
Use 'mylogin@myserver' para o parâmetro User ID.
Autenticação integrada do Windows com uma identidade Azure AD
Para se conectar com autenticação integrada e identidade Azure AD, a Autenticação deve ser definida como Active Directory Integrated. O cliente deve estar executando em uma máquina vinculada ao domínio.
Nota! Você não pode usar Integrated Security=True/SSPI ao se conectar ao Azure SQL Database.
Com MARS habilitado
Identidade Azure AD especificando nome de usuário e senha
Para conectar usando uma identidade Azure AD com um usuário específico, a Autenticação deve ser definida como Senha do Diretório Ativo.