Share via


Instalar a Extensão de Linguagem .NET do SQL Server no Windows

Aplica-se a: SQL Server 2019 (15.x) e versões posteriores

Saiba como instalar o componente Extensão de Linguagem .NET (usada pelo C#) para SQL Server no Windows. A Extensão de Linguagem .NET faz parte das Extensões de Linguagem do SQL Server.

Observação

Este artigo aborda a instalação da Extensão de Linguagem .NET para o SQL Server no Windows. Não há suporte para o Linux.

Pré-requisitos

Observação

As funcionalidades de recursos e as opções de instalação variam entre as versões do SQL Server. Use a lista suspensa seletor de versão para escolher a versão apropriada do SQL Server.

  • A Instalação do SQL Server será necessária se você quiser instalar suporte para a Extensão de Linguagem .NET.

  • A extensão de linguagem .NET oferece suporte a runtimes .NET 6 e posteriores e só é compatível com o Windows.

  • Uma instância do mecanismo de banco de dados é necessária. Não é possível instalar apenas os recursos da Extensão de Linguagem .NET, embora você possa adicioná-los incrementalmente a uma instância existente.

  • Para fins de continuidade de negócios, há suporte a grupos de disponibilidade Always On para Extensões de Linguagem. Você precisa instalar extensões de linguagem e configurar pacotes em cada nó. Também há suporte à instalação da Extensão de Linguagem .NET em uma instância de cluster de failover no SQL Server.

  • Não instale Extensões de Linguagem do SQL Server nem a Extensão de Linguagem .NET em um controlador de domínio. A parte da configuração das Extensões de Linguagem falhará.

  • As Extensões de Linguagem e os Serviços de Machine Learning são instalados por padrão em Clusters de Big Data do SQL Server. Se você usa Clusters de Big Data, não precisa seguir as etapas deste artigo. Para obter mais informações, consulte Executar scripts do Python e do R com serviços do Machine Learning em Clusters de Big Data do SQL Server 2019.

Importante

Após a conclusão da instalação, conclua as etapas de pós-configuração descritas neste artigo. Essas etapas incluem a habilitação do SQL Server para usar código externo e a adição de contas necessárias para o SQL Server executar o código C# em seu nome. Geralmente, as alterações na configuração exigem uma reinicialização da instância ou do serviço Launchpad.

Runtime do .NET

O suporte de longo prazo (LTS) do .NET 6 é o primeiro runtime com suporte. Você pode baixar o runtime do .NET para Windows. Não há suporte para o Linux.

Se você deseja usar a versão LTS mais recente do runtime do .NET, é necessário recompilar a extensão de linguagem .NET.

Obtenha a mídia de instalação

O local de download para SQL Server depende da edição:

  • Edições SQL Server Enterprise, Standard e Express. Essas edições são licenciadas para uso em produção. Para as edições Enterprise e Standard, entre em contato com seu fornecedor de software para obter a mídia de instalação. Você pode encontrar informações de compra e um diretório de parceiros da Microsoft no site de compras da Microsoft.
  • A última edição gratuita.

Executar a instalação

Para instalações locais, você deve executar a Instalação como um administrador. Se você instalar o SQL Server de um compartilhamento remoto, deverá usar uma conta de domínio que tenha permissões de leitura e de execução no compartilhamento remoto.

  1. Inicie o assistente de instalação do SQL Server.

  2. Na guia Instalação, selecione Nova instalação autônoma do SQL Server ou adicionar recursos a uma instalação existente.

  3. Na página Seleção de Recursos , selecione estas opções:

    Serviços de mecanismo do banco de dados: para usar as Extensões de Linguagem com o SQL Server, você deverá instalar uma instância do mecanismo de banco de dados. Você pode usar uma instância padrão ou nomeada.

    Serviços do Machine Learning e Extensões de Linguagem: essa opção instala o componente Extensões de Linguagem que dá suporte à execução de código C#.

    Captura de tela das funcionalidades da instância.

  4. Na página Pronto para instalar, verifique se essas seleções estão incluídas e selecione Instalar.

    • Serviços do Mecanismo de Banco de Dados
    • Serviços de Machine Learning e Extensões de Linguagem

    Observação da localização da pasta no caminho ..\Setup Bootstrap\Log em que os arquivos de configuração são armazenados. Quando a instalação for concluída, você poderá examinar os componentes instalados no arquivo de Resumo.

  5. Após a conclusão da instalação, se você receber instruções para reiniciar o computador, faça-o agora. É importante ler a mensagem do assistente de instalação ao concluir a configuração. Para saber mais, veja Exibir e ler arquivos de log da Instalação do SQL Server.

Registrar a extensão de linguagem

  1. Siga estas etapas para baixar e registrar a extensão de linguagem .NET que é usada para o runtime personalizado do C#.

    1. Baixe o arquivo dotnet-core-CSharp-lang-extension-windows-release.zip da extensão de linguagem .NET para o repositório GitHub do SQL Server. Baixar o arquivo mais recente do Windows dotnet-core-CSharp-lang-extension-windows-release.zip. Se você preferir usar um runtime do .NET mais recente, precisará compilar dotnet-core-CSharp-lang-extension do código-fonte do GitHub.

    2. Use o SQL Server Management Studio (SSMS) ou o Azure Data Studio para se conectar à instância do SQL Server e executar o comando Transact-SQL (T-SQL) a seguir para registrar a extensão de linguagem .NET com CREATE EXTERNAL LANGUAGE.

    3. Modifique o caminho na instrução de maneira a refletir o local do arquivo zip da extensão de linguagem baixada (dotnet-core-CSharp-lang-extension-windows-release.zip).

    CREATE EXTERNAL LANGUAGE [dotnet]
    FROM (CONTENT = N'C:\path\to\dotnet-core-CSharp-lang-extension-windows-release.zip',
        FILE_NAME = 'dotnetextension.dll');
    GO
    
  2. Reinicie Launchpad.

    1. Abra o SQL Server Configuration Manager.

    2. Em Serviços do SQL Server, clique com o botão direito do mouse no SQL Server Launchpad e selecione Reiniciar.

Reinicie o serviço.

Quando a instalação for concluída, reinicie o mecanismo de banco de dados antes de prosseguir para a próxima etapa, habilitando a execução do script.

Reiniciar o serviço também reinicia automaticamente o serviço SQL Server Launchpad relacionado.

Você pode reiniciar o serviço usando o clique com o botão direito do mouse no comando Reiniciar para a instância no SSMS com o painel Serviços no Painel de Controle ou usando o SQL Server Configuration Manager.

Habilitar a execução do script

  1. Abra o SQL Server Management Studio. Conecte-se à instância em que você instalou as Extensões de Linguagem, selecione Nova Consulta para abrir uma janela de consulta e execute o seguinte comando:

    EXEC sp_configure;
    

    O recurso está desativado (value é 0) por padrão e deve ser habilitado explicitamente por um administrador para que você possa executar o código C#.

  2. Para habilitar o recurso de script externo, execute a instrução a seguir:

    EXEC sp_configure 'external scripts enabled', 1;
    GO
    RECONFIGURE WITH OVERRIDE
    

    Se você já habilitou o recurso para os Serviços de Machine Learning, não execute a reconfiguração uma segunda vez para as Extensões de Linguagem. A plataforma de extensibilidade subjacente dá suporte a ambos.

Registrar linguagem externa

Para cada banco de dados no qual você deseja usar extensões de linguagem, é necessário registrar a linguagem externa com CREATE EXTERNAL LANGUAGE.

O exemplo a seguir adiciona uma linguagem externa chamada dotnet a um banco de dados no SQL Server no Windows.

CREATE EXTERNAL LANGUAGE [dotnet]
FROM (CONTENT = N'<path-to-zip>', FILE_NAME = 'dotnetextension.dll');
GO

Para obter mais informações, confira CREATE EXTERNAL LANGUAGE.

Verifique a instalação

Verifique o status de instalação ad instância nos logs de instalação.

Use as etapas a seguir para verificar se todos os componentes usados para iniciar o script externo estão em execução.

  1. No SQL Server Management Studio ou o Azure Data Studio, abra uma nova janela de consulta e execute a instrução a seguir:

    EXEC sp_configure 'external scripts enabled';
    

    O run_value agora está definido como 1.

  2. Abra o painel Serviços ou o SQL Server Configuration Manager e verifique se o serviço SQL Server Launchpad está em execução. Você deve ter um serviço para cada instância do mecanismo de banco de dados que tem extensões de linguagem instaladas. Para obter mais informações sobre o serviço, confira Arquitetura de extensibilidade nas Extensões de Linguagem do SQL Server.

Configuração adicional

Se a etapa de verificação tiver sido bem-sucedida, você poderá executar código C# do SQL Server Management Studio, Azure Data Studio, Visual Studio Code ou de qualquer outro cliente capaz de enviar instruções T-SQL para o servidor.

Se você receber um erro ao executar o comando, examine as etapas de configuração adicionais nesta seção. Talvez seja necessário realizar configurações apropriadas extras para o serviço ou banco de dados.

No nível da instância, a configuração adicional pode incluir:

No banco de dados, talvez você precise das seguintes atualizações de configuração:

Observação

Se a configuração adicional for necessária depende do seu esquema de segurança, em que você instalou o SQL Server e como você espera que os usuários se conectem ao banco de dados e executem scripts externos.

Otimizações sugeridas

Agora que tudo está funcionando, talvez convenha também otimizar o servidor para dar suporte à Extensão de Linguagem .NET.

Otimizar o servidor para a Extensão de Linguagem .NET

As configurações padrão da instalação do SQL Server destinam-se a otimizar o equilíbrio do servidor para uma variedade de serviços compatíveis com o mecanismo de banco de dados, que podem incluir processos ETL (incluir, transformar e carregar), relatórios, auditoria e aplicativos que usam os dados do SQL Server. Portanto, nas configurações padrão, você pode achar que esses recursos para extensões de linguagem estão algumas vezes restritos ou limitados, especialmente em operações com uso intensivo de memória.

Para verificar se os trabalhos de extensão de linguagem são priorizados e têm os recursos apropriados, recomendamos que você use o SQL Server Resource Governor para configurar um pool de recursos externo. Talvez seja interessante alterar a quantidade de memória alocada ao mecanismo de banco de dados ou aumentar o número de contas executadas no serviço SQL Server Launchpad.

Se você usa a Edição Standard e não tiver o Resource Governor, poderá usar DMVs (Exibições de Gerenciamento Dinâmico) e Eventos Estendidos, assim como o monitoramento de eventos do Windows, para ajudar a gerenciar os recursos do servidor.

Próxima etapa

Os desenvolvedores de C# podem começar com alguns exemplos simples e aprender os fundamentos de como o C# funciona com o SQL Server. Para a próxima etapa, confira o link a seguir: