.NET Framework Data Provider for 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'.
Microsoft SqlClient Data Provider for 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.
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
Este está disponível no .NET Core (em oposição ao System.Data.SqlClient).
Sempre criptografado com enclaves seguros
Este está disponível no .NET Core (em oposição ao System.Data.SqlClient).
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'.
Microsoft OLE DB Driver for SQL Server
Segurança padrão
Conexão Confiável
Estes parâmetros são equivalentes: "Integrated Security=SSPI" é igual a "Trusted_Connection=yes"
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.
ADO para mapear novos tipos de dados
Para que o ADO mapeie corretamente os novos tipos de dados do SQL Server, ou seja, XML, UDT, varchar(max), nvarchar(max) e varbinary(max), inclua DataTypeCompatibility=80; na string de conexão. Se você não está usando ADO, isso não é necessário.
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.
Conectando a uma instância do SQL Server
A sintaxe para especificar a instância do servidor no valor da chave do servidor é a mesma para todas as strings de conexão para o SQL Server.
Criptografar dados enviados pela rede
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.
Grupo de disponibilidade e cluster de failover
Ative a falha rápida para Grupos de Disponibilidade Always On e Instâncias de Cluster de Failover. TCP é o único protocolo suportado. Também defina um timeout explícito, pois esses cenários podem exigir mais tempo.
MultiSubnetFailover realizará tentativas em paralelo e fará isso mais rápido do que os intervalos de retransmissão TCP padrão. Isso não pode ser combinado com espelhamento, por exemplo, Failover_Partner=mirrorServer.
Habilitar MARS
Intenção de aplicação Somente Leitura
Use uma carga de trabalho de leitura ao conectar. Aplica somente leitura no momento da conexão e também para instruções USE database.
O resultado do uso de ApplicationIntent depende da configuração do banco de dados. Veja roteamento somente leitura. O padrão para ApplicationIntent é ReadWrite.
Roteamento Somente Leitura
Você pode usar um ouvinte de grupo de disponibilidade para o servidor OU o nome de instância somente leitura para impor uma instância específica somente leitura.
Um grupo de disponibilidade deve habilitar o roteamento somente leitura para que isso funcione.
SQLXML 4.0 OLEDB Provider
Com Microsoft OLE DB Driver para SQL Server (MSOLEDBSQL)
O DataTypeCompatibility=80 é importante para que os tipos XML sejam reconhecidos pelo ADO.
Veja também as outras opções disponíveis para strings de conexão MSOLEDBSQL.
Microsoft ODBC Driver 17 for SQL Server
Segurança padrão
Usando SQL Server Express? A sintaxe do nome do servidor é Servidor\SQLEXPRESS onde você substitui Servidor pelo nome do servidor onde o SQL Server Express está rodando.
Conexão Confiável
Estes parâmetros são equivalentes: "Integrated Security=SSPI" é igual a "Trusted_Connection=yes"
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.
Conectando a uma instância do SQL Server
A sintaxe para especificar a instância do servidor no valor da chave do servidor é a mesma para todas as strings de conexão para o SQL Server.
Criptografar dados enviados pela rede
Espelhamento de Banco de Dados
Se você se conectar 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.
Este funciona apenas no Windows, não no macOS ou Linux. 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.
Note que se você estiver usando TCP/IP (usando o parâmetro de biblioteca de rede) e espelhamento de banco de dados, incluindo o número da porta no endereço (formado como Servidor,Porta) para o servidor principal e o parceiro de failover pode resolver alguns problemas relatados.