SQL Server 2014

Strings de conexão para SQL Server 2014

.NET Framework Data Provider for SQL Server

Segurança padrão

Server=Servidor;Database=BancoDeDados;User Id=Usuario;Password=Senha;

Conexão Confiável

Server=Servidor;Database=BancoDeDados;Trusted_Connection=True;

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).

Server=Servidor,Porta;Database=BancoDeDados;User Id=Usuario;Password=Senha;

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

Server=.\SQLExpress;AttachDbFilename=C:\Diretorio\Arquivo.mdf;Database=BancoDeDados;Trusted_Connection=Yes;

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

Server=.\SQLExpress;AttachDbFilename=Arquivo.mdf;Database=BancoDeDados;Trusted_Connection=Yes;

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

Data Source=Servidor,1433;Network Library=DBMSSOCN;Initial Catalog=BancoDeDados;User ID=Usuario;Password=Senha;

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.

Server=Servidor\Instancia;Database=BancoDeDados;User Id=Usuario;Password=Senha;

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.

Data Source=BancoDeDados;Initial Catalog=BancoDeDados;Integrated Security=SSPI;User ID=Dominio\Usuario;Password=Senha;

Observe que isso funcionará apenas em um dispositivo CE.

Especificando tamanho do pacote

Server=Servidor;Database=BancoDeDados;User ID=Usuario;Password=Senha;Trusted_Connection=False;Packet Size=4096;

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.

Data Source=BancoDeDados;Failover Partner=Servidor2;Initial Catalog=BancoDeDados;Integrated Security=True;

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

Server=Servidor;Database=BancoDeDados;Trusted_Connection=True;MultipleActiveResultSets=true;

Instância automática LocalDB

Server=(localdb)\v11.0;Integrated Security=true;

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

Server=(localdb)\v11.0;Integrated Security=true;AttachDbFileName=C:\Diretorio\Arquivo.mdf;

Instância compartilhada LocalDB

Tanto instâncias automáticas quanto nomeadas do LocalDB podem ser compartilhadas.

Server=(localdb)\.\MyInstanceShare;Integrated Security=true;

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

Server=(localdb)\Instancia;Integrated Security=true;

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.

Server=np:\\.\pipe\LOCALDB#F365A78E\tsql\query;

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.

Server=Servidor;Database=BancoDeDados;Integrated Security=True;Asynchronous Processing=True;

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.

Data Source=.\SQLExpress;Integrated Security=true;AttachDbFilename=C:\Diretorio\Arquivo.mdf;User Instance=true;

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

Server=Servidor;Database=BancoDeDados;User Id=Usuario;Password=Senha;

Conexão Confiável

Server=Servidor;Database=BancoDeDados;Trusted_Connection=True;

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).

Server=Servidor,Porta;Database=BancoDeDados;User Id=Usuario;Password=Senha;

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

Server=.\SQLExpress;AttachDbFilename=C:\Diretorio\Arquivo.mdf;Database=BancoDeDados;Trusted_Connection=Yes;

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

Server=.\SQLExpress;AttachDbFilename=Arquivo.mdf;Database=BancoDeDados;Trusted_Connection=Yes;

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

Data Source=Servidor,1433;Network Library=DBMSSOCN;Initial Catalog=BancoDeDados;User ID=Usuario;Password=Senha;

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.

Server=Servidor\Instancia;Database=BancoDeDados;User Id=Usuario;Password=Senha;

Especificando tamanho do pacote

Server=Servidor;Database=BancoDeDados;User ID=Usuario;Password=Senha;Trusted_Connection=False;Packet Size=4096;

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.

Data Source=BancoDeDados;Failover Partner=Servidor2;Initial Catalog=BancoDeDados;Integrated Security=True;

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

Server=Servidor;Database=BancoDeDados;Trusted_Connection=True;MultipleActiveResultSets=true;

Instância automática LocalDB

Server=(localdb)\v11.0;Integrated Security=true;

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

Server=(localdb)\v11.0;Integrated Security=true;AttachDbFileName=C:\Diretorio\Arquivo.mdf;

Instância compartilhada LocalDB

Tanto instâncias automáticas quanto nomeadas do LocalDB podem ser compartilhadas.

Server=(localdb)\.\MyInstanceShare;Integrated Security=true;

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

Server=(localdb)\Instancia;Integrated Security=true;

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.

Server=np:\\.\pipe\LOCALDB#F365A78E\tsql\query;

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.

Server=Servidor;Database=BancoDeDados;Integrated Security=True;Asynchronous Processing=True;

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.

Data Source=.\SQLExpress;Integrated Security=true;AttachDbFilename=C:\Diretorio\Arquivo.mdf;User Instance=true;

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

Provider=MSOLEDBSQL;Server=Servidor;Database=BancoDeDados;UID=Usuario;PWD=Senha;

Conexão Confiável

Provider=MSOLEDBSQL;Server=Servidor;Database=BancoDeDados;Trusted_Connection=yes;

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).

Provider=MSOLEDBSQL;Server=Servidor,Porta;Database=BancoDeDados;UID=Usuario;PWD=Senha;

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.

Provider=MSOLEDBSQL;DataTypeCompatibility=80;Server=Servidor;Database=BancoDeDados;UID=Usuario;PWD=Senha;

Anexar um arquivo de banco de dados ao conectar a uma instância local do SQL Server Express

Provider=MSOLEDBSQL;Server=.\SQLExpress;AttachDBFilename=C:\Diretorio\Arquivo.mdf;Database=BancoDeDados;Trusted_Connection=Yes;

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.

Provider=MSOLEDBSQL;Server=Servidor\Instancia;Database=BancoDeDados;Trusted_Connection=yes;

Criptografar dados enviados pela rede

Provider=MSOLEDBSQL;Server=Servidor;Database=BancoDeDados;Trusted_Connection=yes;Encrypt=yes;

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.

Provider=MSOLEDBSQL;Data Source=BancoDeDados;Failover Partner=Servidor2;Initial Catalog=BancoDeDados;Integrated Security=True;

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.

Provider=MSOLEDBSQL;Server=tcp:AvailabilityGroupListenerDnsName,1433;MultiSubnetFailover=Yes;Database=MyDB;Integrated Security=SSPI;Connect Timeout=30;

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

Provider=MSOLEDBSQL;Server=Servidor;Database=BancoDeDados;Trusted_Connection=yes;MARS Connection=true;

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.

Provider=MSOLEDBSQL;Server=tcp:AvailabilityGroupListenerDnsName,1433;MultiSubnetFailover=Yes;ApplicationIntent=ReadOnly;Database=MyDB;Integrated Security=SSPI;Connect Timeout=30;

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.

Provider=MSOLEDBSQL;Server=aKnownReadOnlyInstance;MultiSubnetFailover=Yes;ApplicationIntent=ReadOnly;Database=MyDB;Integrated Security=SSPI;Connect Timeout=30;

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.

Provider=SQLXMLOLEDB.4.0;Data Provider=MSOLEDBSQL;DataTypeCompatibility=80;Data Source=BancoDeDados;Initial Catalog=BancoDeDados;User Id=Usuario;Password=Senha;

Veja também as outras opções disponíveis para strings de conexão MSOLEDBSQL.

Microsoft ODBC Driver 11 for SQL Server

Segurança padrão

Driver={ODBC Driver 11 for SQL Server};Server=Servidor;Database=BancoDeDados;UID=Usuario;PWD=Senha;

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

Driver={ODBC Driver 11 for SQL Server};Server=Servidor;Database=BancoDeDados;Trusted_Connection=yes;

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).

Driver={ODBC Driver 11 for SQL Server};Server=Servidor,Porta;Database=BancoDeDados;UID=Usuario;PWD=Senha;

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

Driver={ODBC Driver 11 for SQL Server};Server=.\SQLExpress;AttachDBFileName=C:\Diretorio\Arquivo.mdf;Database=BancoDeDados;Trusted_Connection=yes;

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.

Driver={ODBC Driver 11 for SQL Server};Server=Servidor\Instancia;Database=BancoDeDados;Trusted_Connection=yes;

Criptografar dados enviados pela rede

Driver={ODBC Driver 11 for SQL Server};Server=Servidor;Database=BancoDeDados;Trusted_Connection=yes;Encrypt=yes;

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.

Driver={ODBC Driver 11 for SQL Server};Server=Servidor;Failover_Partner=Servidor2;Database=BancoDeDados;Trusted_Connection=yes;

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.

Habilitar MARS

Driver={ODBC Driver 11 for SQL Server};Server=Servidor;Database=BancoDeDados;Trusted_Connection=yes;MARS_Connection=yes;

Microsoft ODBC Driver 13 for SQL Server

Segurança padrão

Driver={ODBC Driver 13 for SQL Server};Server=Servidor;Database=BancoDeDados;UID=Usuario;PWD=Senha;

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

Driver={ODBC Driver 13 for SQL Server};Server=Servidor;Database=BancoDeDados;Trusted_Connection=yes;

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).

Driver={ODBC Driver 13 for SQL Server};Server=Servidor,Porta;Database=BancoDeDados;UID=Usuario;PWD=Senha;

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

Driver={ODBC Driver 13 for SQL Server};Server=.\SQLExpress;AttachDBFileName=C:\Diretorio\Arquivo.mdf;Database=BancoDeDados;Trusted_Connection=yes;

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.

Driver={ODBC Driver 13 for SQL Server};Server=Servidor\Instancia;Database=BancoDeDados;Trusted_Connection=yes;

Criptografar dados enviados pela rede

Driver={ODBC Driver 13 for SQL Server};Server=Servidor;Database=BancoDeDados;Trusted_Connection=yes;Encrypt=yes;

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.

Driver={ODBC Driver 13 for SQL Server};Server=Servidor;Failover_Partner=Servidor2;Database=BancoDeDados;Trusted_Connection=yes;

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.

Habilitar MARS

Driver={ODBC Driver 13 for SQL Server};Server=Servidor;Database=BancoDeDados;Trusted_Connection=yes;MARS_Connection=yes;

Microsoft ODBC Driver 17 for SQL Server

Segurança padrão

Driver={ODBC Driver 17 for SQL Server};Server=Servidor;Database=BancoDeDados;UID=Usuario;PWD=Senha;

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

Driver={ODBC Driver 17 for SQL Server};Server=Servidor;Database=BancoDeDados;Trusted_Connection=yes;

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).

Driver={ODBC Driver 17 for SQL Server};Server=Servidor,Porta;Database=BancoDeDados;UID=Usuario;PWD=Senha;

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

Driver={ODBC Driver 17 for SQL Server};Server=.\SQLExpress;AttachDBFileName=C:\Diretorio\Arquivo.mdf;Database=BancoDeDados;Trusted_Connection=yes;

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.

Driver={ODBC Driver 17 for SQL Server};Server=Servidor\Instancia;Database=BancoDeDados;Trusted_Connection=yes;

Criptografar dados enviados pela rede

Driver={ODBC Driver 17 for SQL Server};Server=Servidor;Database=BancoDeDados;Trusted_Connection=yes;Encrypt=yes;

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.

Driver={ODBC Driver 17 for SQL Server};Server=Servidor;Failover_Partner=Servidor2;Database=BancoDeDados;Trusted_Connection=yes;

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.

Habilitar MARS

Driver={ODBC Driver 17 for SQL Server};Server=Servidor;Database=BancoDeDados;Trusted_Connection=yes;MARS_Connection=yes;