Conectar-se ao SQL do Synapse

Tip

Microsoft Fabric Data Warehouse é um armazém relacional de escala empresarial com base de data lake, arquitetura pronta para o futuro, IA integrada e novos recursos. Se você não estiver familiarizado com o data warehouse, comece com Fabric Data Warehouse. As cargas de trabalho existentes de pools de SQL dedicados podem ser atualizadas para Fabric para acessar novos recursos em ciência de dados, análise em tempo real e relatórios.

Conecte-se à funcionalidade do SQL do Synapse no Azure Synapse Analytics.

Importante

Use a autenticação Microsoft Entra sempre que possível. Para obter mais informações, consulte Usar a autenticação do Microsoft Entra para autenticação com o SQL do Synapse.

Localizar o nome do servidor

O nome do servidor para o pool de SQL dedicado no seguinte exemplo é: <server-name>.sql.azuresynapse.net. O nome do servidor para o pool de SQL sem servidor no seguinte exemplo é: <server-name>-ondemand.sql.azuresynapse.net.

Para localizar o nome de servidor totalmente qualificado:

  1. Vá para o portal do Azure.
  2. Selecione Workspaces do Azure Synapse.
  3. Selecione o workspace ao qual deseja se conectar.
  4. Acesse a visão geral.
  5. Localize o nome completo do servidor.
    • Para um pool de SQL dedicado, use o ponto de extremidade do SQL.
    • Para o pool de SQL sem servidor, use o ponto de extremidade do SQL sob demanda.

Ferramentas com suporte

Use o SSMS (SQL Server Management Studio) ou a extensão MSSQL para Visual Studio Code.

Para pools de SQL sem servidor, as seguintes ferramentas têm suporte parcial (somente conexão e consulta):

Drivers suportados e cadeias de conexão

O SQL do Synapse dá suporte a ADO.NET, ODBC, PHP e JDBC. Para encontrar a versão e a documentação mais recentes, selecione um dos drivers anteriores. Para gerar automaticamente a cadeia de conexão para o driver que você está usando no Portal do Azure, selecione Mostrar cadeias de conexão de banco de dados no exemplo anterior. A seguir também há alguns exemplos da aparência de uma cadeia de conexão para cada driver.

Observação

Considere definir o tempo limite de conexão para 300 segundos a fim de permitir que a conexão perdure em curtos períodos de indisponibilidade.

Exemplo de cadeia de conexão do ADO.NET

Esse exemplo simples usa a autenticação do SQL, mas a autenticação do Microsoft Entra com ADO.NET é mais segura e recomendada.

Server=tcp:{your_server}.sql.azuresynapse.net,1433;Database={your_database};User ID={your_user_name};Password={your_password_here};Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;

Exemplo de cadeia de conexão do ODBC

Esse exemplo simples usa a autenticação do SQL, mas a autenticação do Microsoft Entra com ODBC é mais segura e recomendada.

Driver={SQL Server Native Client 11.0};Server=tcp:{your_server}.sql.azuresynapse.net,1433;Database={your_database};Uid={your_user_name};Pwd={your_password_here};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;

Exemplo de cadeia de conexão do PHP

Esse exemplo simples usa a autenticação do SQL, mas a autenticação do Microsoft Entra com PHP é mais segura e recomendada.

Server: {your_server}.sql.azuresynapse.net,1433 \r\nSQL Database: {your_database}\r\nUser Name: {your_user_name}\r\n\r\nPHP Data Objects(PDO) Sample Code:\r\n\r\ntry {\r\n   $conn = new PDO ( \"sqlsrv:server = tcp:{your_server}.sql.azuresynapse.net,1433; Database = {your_database}\", \"{your_user_name}\", \"{your_password_here}\");\r\n    $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );\r\n}\r\ncatch ( PDOException $e ) {\r\n   print( \"Error connecting to SQL Server.\" );\r\n   die(print_r($e));\r\n}\r\n\rSQL Server Extension Sample Code:\r\n\r\n$connectionInfo = array(\"UID\" => \"{your_user_name}\", \"pwd\" => \"{your_password_here}\", \"Database\" => \"{your_database}\", \"LoginTimeout\" => 30, \"Encrypt\" => 1, \"TrustServerCertificate\" => 0);\r\n$serverName = \"tcp:{your_server}.sql.azuresynapse.net,1433\";\r\n$conn = sqlsrv_connect($serverName, $connectionInfo);

Exemplo de cadeia de conexão do JDBC

Esse exemplo simples usa a autenticação do SQL, mas a autenticação do Microsoft Entra com JDBC é mais segura e recomendada.

jdbc:sqlserver://yourserver.sql.azuresynapse.net:1433;database=yourdatabase;user={your_user_name};password={your_password_here};encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.sql.azuresynapse.net;loginTimeout=30;

Configurações de conexão

O SQL do Synapse padroniza algumas configurações durante a conexão e a criação do objeto. Essas configurações não podem ser substituídas e incluem:

Configuração de banco de dados Valor
ANSI_NULLS ATIVADO
QUOTED_IDENTIFIERS ATIVADO
DATEFORMAT mda
DATEFIRST 7

Recomendações

Para executar consultas de pool de SQL sem servidor, a ferramenta recomendada é o Azure Synapse Studio.

Para se conectar e consultar com o Visual Studio, veja Consultar com o Visual Studio. Para saber mais sobre as opções de autenticação, confira Autenticação no SQL do Synapse.