O que são Extensões de Linguagem do SQL Server?

Aplica-se a: simSQL Server 2019 (15.x)

As Extensões de Linguagem é um recurso do SQL Server usado para executar código externo. Os dados relacionais podem ser usados no código externo usando a estrutura de extensibilidade. No SQL Server 2019, há suporte para os runtimes do Java, C#, Python e R.

Observação

Para executar o Python ou o R no SQL Server, confira a documentação do Serviços de Machine Learning. Com o SQL Server 2019 e posterior, você pode usar um runtime personalizado do Python e do R com as extensões de linguagem. Para obter mais informações, confira como instalar o runtime personalizado do Python e o runtime personalizado do R.

O que você pode fazer com as Extensões de Linguagem

As Extensões de Linguagem usam a estrutura de extensibilidade para executar código externo. A execução de código é isolada dos principais processos de mecanismo, mas totalmente integrada à execução de consulta do SQL Server. Você pode executar o código na fonte dos dados, eliminando a necessidade de efetuar pull dos dados na rede.

As linguagens externas são definidas com CREATE EXTERNAL LANGUAGE. O procedimento armazenado do sistema sp_execute_external_script é usado como a interface para executar o código.

As Extensões de Linguagem oferecem várias vantagens:

  • Segurança de dados. Aproximar a execução de linguagem externa da fonte de dados evita uma movimentação de dados não segura.
  • Velocidade. Os bancos de dados são otimizados para operações baseadas em conjunto.
  • Facilidade de implantação e integração. SQL Server é o ponto central de operações para muitas outras tarefas e aplicativos de gerenciamento de dados. Usando os dados do banco de dados, você garante que os dados usados pela extensão de linguagem sejam consistentes e atualizados.

O SQL CRL (Common Language Runtime) nativo permite que você implemente algumas das funcionalidades do SQL Server com linguagens .NET. Para ver uma discussão sobre as diferenças entre SQL CLR e extensões de linguagem do SQL, confira Comparação das Extensões de Linguagem do SQL Server com SQL CLR.

Próximas etapas