SQL Server

Strings de conexão para SQL Server

.NET Framework Data Provider for SQL Server

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 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;

Sempre Criptografado

Data Source=Servidor;Initial Catalog=BancoDeDados;Integrated Security=true;Column Encryption Setting=enabled;

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

Data Source=Servidor;Initial Catalog=BancoDeDados;Integrated Security=true;Column Encryption Setting=enabled;Enclave Attestation Url=http://hgs.bastion.local/Attestation;

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.

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

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 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;

Sempre Criptografado

Data Source=Servidor;Initial Catalog=BancoDeDados;Integrated Security=true;Column Encryption Setting=enabled;

Este está disponível no .NET Core (em oposição ao System.Data.SqlClient).

Sempre criptografado com enclaves seguros

Data Source=Servidor;Initial Catalog=BancoDeDados;Integrated Security=true;Column Encryption Setting=enabled;Enclave Attestation Url=http://hgs.bastion.local/Attestation;

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.

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

SQL Native Client 9.0 OLE DB Provider

Segurança padrão

Provider=SQLNCLI;Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;

Você está usando SQL Server 2005 Express? Não esqueça da sintaxe do nome do servidor Servidor\SQLEXPRESS onde você substitui Servidor pelo nome do computador onde a instalação do SQL Server 2005 Express reside.

Quando usar o SQL Native Client?

Conexão Confiável

Provider=SQLNCLI;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=SQLNCLI;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

Provider=SQLNCLI;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

Provider=SQLNCLI;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.

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=SQLNCLI;Server=Servidor\Instancia;Database=BancoDeDados;Trusted_Connection=yes;

Criptografar dados enviados pela rede

Provider=SQLNCLI;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=SQLNCLI;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

Provider=SQLNCLI;Server=Servidor;Database=BancoDeDados;Trusted_Connection=yes;MARS Connection=True;

Prompt para nome de usuário e senha

Este é um pouco complicado. Primeiro, defina a propriedade Prompt do objeto de conexão para adPromptAlways. Em seguida, use a string de conexão para se conectar ao banco de dados.

oConn.Properties("Prompt") = adPromptAlways
oConn.Open "Provider=SQLNCLI
;Server=Servidor;DataBase=BancoDeDados;"

SQL Server Native Client 10.0 OLE DB Provider

Segurança padrão

Provider=SQLNCLI10;Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;

Você está usando SQL Server 2008 Express? Não esqueça da sintaxe do nome do servidor Servidor\SQLEXPRESS onde você substitui Servidor pelo nome do computador onde a instalação do SQL Server 2008 Express reside.

Quando usar o SQL Native Client?

Conexão Confiável

Provider=SQLNCLI10;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=SQLNCLI10;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

Provider=SQLNCLI10;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

Provider=SQLNCLI10;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.

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=SQLNCLI10;Server=Servidor\Instancia;Database=BancoDeDados;Trusted_Connection=yes;

Criptografar dados enviados pela rede

Provider=SQLNCLI10;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=SQLNCLI10;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

Provider=SQLNCLI10;Server=Servidor;Database=BancoDeDados;Trusted_Connection=yes;MARS Connection=True;

Prompt para nome de usuário e senha

Este é um pouco complicado. Primeiro, defina a propriedade Prompt do objeto de conexão para adPromptAlways. Em seguida, use a string de conexão para se conectar ao banco de dados.

oConn.Properties("Prompt") = adPromptAlways
oConn.Open "Provider=SQLNCLI10
;Server=Servidor;DataBase=BancoDeDados;"

SQL Server Native Client 11.0 OLE DB Provider

Segurança padrão

Provider=SQLNCLI11;Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;

Você está usando o SQL Server 2012 Express? Não perca a sintaxe do nome do servidor Servidor\SQLEXPRESS onde você substitui Servidor pelo nome do computador onde a instalação do SQL Server 2012 Express reside.

Quando usar o SQL Native Client?

Conexão Confiável

Provider=SQLNCLI11;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=SQLNCLI11;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

Provider=SQLNCLI11;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

Provider=SQLNCLI11;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.

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=SQLNCLI11;Server=Servidor\Instancia;Database=BancoDeDados;Trusted_Connection=yes;

Criptografar dados enviados pela rede

Provider=SQLNCLI11;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=SQLNCLI11;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

Provider=SQLNCLI11;Server=Servidor;Database=BancoDeDados;Trusted_Connection=yes;MARS Connection=True;

Prompt para nome de usuário e senha

Este é um pouco complicado. Primeiro, defina a propriedade Prompt do objeto de conexão para adPromptAlways. Em seguida, use a string de conexão para se conectar ao banco de dados.

oConn.Properties("Prompt") = adPromptAlways
oConn.Open "Provider=SQLNCLI11
;Server=Servidor;DataBase=BancoDeDados;"

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.

Microsoft OLE DB Provider for SQL Server

Segurança padrão

Provider=sqloledb;Data Source=BancoDeDados;Initial Catalog=BancoDeDados;User Id=Usuario;Password=Senha;

Conexão Confiável

Provider=sqloledb;Data Source=BancoDeDados;Initial Catalog=BancoDeDados;Integrated Security=SSPI;

Use Servidor\Instancia como Data Source para usar uma instância específica do SQL Server. Observe que o recurso de várias instâncias do SQL Server está disponível apenas a partir da versão 2000 do SQL Server e não em versões anteriores.

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=sqloledb;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.

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=sqloledb;Data Source=Servidor\Instancia;Initial Catalog=BancoDeDados;Integrated Security=SSPI;

Conectar via um endereço IP

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

DBMSSOCN=TCP/IP. Isso é 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 no artigo sobre como definir qual protocolo de rede usar.

Desativar pool de conexões

Este é útil ao receber erros "sp_setapprole was not invoked correctly." (7.0) ou "General network error. Check your network documentation" (2000) ao se conectar usando uma conexão habilitada para função de aplicativo. O agrupamento de aplicativos (ou agrupamento de recursos OLE DB) está ativado por padrão. Desativá-lo pode ajudar nesse erro.

Provider=sqloledb;Data Source=BancoDeDados;Initial Catalog=BancoDeDados;User ID=Usuario;Password=Senha;OLE DB Services=-2;

Prompt para nome de usuário e senha

Este é um pouco complicado. Primeiro, defina a propriedade Provider do objeto de conexão como "sqloledb". Depois, defina a propriedade Prompt do objeto de conexão para adPromptAlways. Em seguida, use a string de conexão para se conectar ao banco de dados.

oConn.Provider = "sqloledb"
oConn.Properties("Prompt") = adPromptAlways
oConn.Open "Data Source=Servidor
;Initial Catalog=BancoDeDados;"

SQLXML 3.0 OLEDB Provider

Usando SQL Server Ole Db

A versão 3.0 do SQLXML restringe o provedor de dados apenas ao SQLOLEDB.

Provider=SQLXMLOLEDB.3.0;Data Provider=SQLOLEDB;Data Source=BancoDeDados;Initial Catalog=BancoDeDados;User Id=Usuario;Password=Senha;

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.

Usando SQL Server Native Client provider (SQLNCLI)

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

Usando SQL Server Native Client provider 10 (SQLNCLI10)

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

Usando SQL Server Native Client provider 11 (SQLNCLI11)

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

SQL Native Client 9.0 ODBC Driver

Segurança padrão

Driver={SQL Native Client};Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;

Você está usando SQL Server 2005 Express? Não esqueça da sintaxe do nome do servidor Servidor\SQLEXPRESS onde você substitui Servidor pelo nome do computador onde a instalação do SQL Server 2005 Express reside.

Quando usar o SQL Native Client?

Conexão Confiável

Driver={SQL Native Client};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={SQL Native Client};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={SQL Native Client};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

Driver={SQL Native Client};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.

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={SQL Native Client};Server=Servidor\Instancia;Database=BancoDeDados;Trusted_Connection=yes;

Criptografar dados enviados pela rede

Driver={SQL Native Client};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.

Driver={SQL Server Native Client 10.0};Server=Servidor;Failover_Partner=Servidor2;Database=BancoDeDados;Trusted_Connection=yes;

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={SQL Native Client};Server=Servidor;Database=BancoDeDados;Trusted_Connection=yes;MARS_Connection=yes;

Prompt para nome de usuário e senha

Este é um pouco complicado. Primeiro, defina a propriedade Prompt do objeto de conexão para adPromptAlways. Em seguida, use a string de conexão para se conectar ao banco de dados.

oConn.Properties("Prompt") = adPromptAlways
oConn.Open "Driver={SQL Native Client}
;Server=Servidor;Database=BancoDeDados;"

SQL Server Native Client 10.0 ODBC Driver

Segurança padrão

Driver={SQL Server Native Client 10.0};Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;

Você está usando SQL Server 2008 Express? Não esqueça da sintaxe do nome do servidor Servidor\SQLEXPRESS onde você substitui Servidor pelo nome do computador onde a instalação do SQL Server 2008 Express reside.

Quando usar o SQL Native Client?

Conexão Confiável

Driver={SQL Server Native Client 10.0};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={SQL Server Native Client 10.0};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={SQL Server Native Client 10.0};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

Driver={SQL Server Native Client 10.0};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.

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={SQL Server Native Client 10.0};Server=Servidor\Instancia;Database=BancoDeDados;Trusted_Connection=yes;

Criptografar dados enviados pela rede

Driver={SQL Server Native Client 10.0};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.

Driver={SQL Server Native Client 10.0};Server=Servidor;Failover_Partner=Servidor2;Database=BancoDeDados;Trusted_Connection=yes;

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={SQL Server Native Client 10.0};Server=Servidor;Database=BancoDeDados;Trusted_Connection=yes;MARS_Connection=yes;

Prompt para nome de usuário e senha

Este é um pouco complicado. Primeiro, defina a propriedade Prompt do objeto de conexão para adPromptAlways. Em seguida, use a string de conexão para se conectar ao banco de dados.

oConn.Properties("Prompt") = adPromptAlways
oConn.Open "Driver={SQL Server Native Client 10.0}
;Server=Servidor;Database=BancoDeDados;"

SQL Server Native Client 11.0 ODBC Driver

Segurança padrão

Driver={SQL Server Native Client 11.0};Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;

Você está usando o SQL Server 2012 Express? Não perca a sintaxe do nome do servidor Servidor\SQLEXPRESS onde você substitui Servidor pelo nome do computador onde a instalação do SQL Server 2012 Express reside.

Quando usar o SQL Native Client?

Conexão Confiável

Driver={SQL Server Native Client 11.0};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={SQL Server Native Client 11.0};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={SQL Server Native Client 11.0};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

Driver={SQL Server Native Client 11.0};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.

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={SQL Server Native Client 11.0};Server=Servidor\Instancia;Database=BancoDeDados;Trusted_Connection=yes;

Criptografar dados enviados pela rede

Driver={SQL Server Native Client 11.0};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.

Driver={SQL Server Native Client 11.0};Server=Servidor;Failover_Partner=Servidor2;Database=BancoDeDados;Trusted_Connection=yes;

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={SQL Server Native Client 11.0};Server=Servidor;Database=BancoDeDados;Trusted_Connection=yes;MARS_Connection=yes;

Prompt para nome de usuário e senha

Este é um pouco complicado. Primeiro, defina a propriedade Prompt do objeto de conexão para adPromptAlways. Em seguida, use a string de conexão para se conectar ao banco de dados.

oConn.Properties("Prompt") = adPromptAlways
oConn.Open "Driver={SQL Server Native Client 11.0}
;Server=Servidor;Database=BancoDeDados;"

Context Connection

Conexão de Contexto

Conectando a "si mesmo" de dentro de seu procedimento/função CLR armazenado. A conexão de contexto permite executar instruções Transact-SQL no mesmo contexto (conexão) que seu código foi invocado inicialmente.

C#
 using(SqlConnection connection = new SqlConnection("context connection=true"))
 {
     connection.Open()
;
     // Use the connection
 }

VB.Net
 Using connection as new SqlConnection("context connection=true")
     connection.Open()
     ' Use the connection
 End Using

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;

Microsoft SQL Server ODBC Driver

Segurança padrão

Driver={SQL Server};Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;

Conexão Confiável

Driver={SQL Server};Server=Servidor;Database=BancoDeDados;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={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.

Prompt para nome de usuário e senha

Este é um pouco complicado. Primeiro, defina a propriedade Prompt do objeto de conexão para adPromptAlways. Em seguida, use a string de conexão para se conectar ao banco de dados.

oConn.Properties("Prompt") = adPromptAlways
oConn.Open "Driver={SQL Server}
;Server=Servidor;Database=BancoDeDados;"

MSDataShape

MSDataShape

Provider=MSDataShape;Data Provider=SQLOLEDB;Data Source=BancoDeDados;Initial Catalog=BancoDeDados;User ID=Usuario;Password=Senha;