Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server 2019 (15.x) - Linux e versões posteriores
Saiba como instalar o componente Java Language Extension para SQL Server no Linux. A Extensão de Linguagem Java faz parte das Extensões de Linguagem do SQL Server e é um complemento para o Mecanismo de Banco de Dados.
Embora você possa instalar o Mecanismo de Banco de Dados e as Extensões de Idioma simultaneamente, é uma prática recomendada instalar e configurar o Mecanismo de Banco de Dados do SQL Server primeiro para que você possa resolver quaisquer problemas antes de adicionar mais componentes.
Pré-requisitos
A versão Linux deve ser suportada pelo SQL Server, mas não inclui o Docker Engine. As versões suportadas incluem:
Você deve ter uma ferramenta para executar comandos Transact-SQL (T-SQL). Um editor de consultas é necessário para a configuração e validação pós-instalação. Recomendamos o Azure Data Studio, um download gratuito que roda no Linux.
- O local do pacote para as extensões Java está nos repositórios de origem do SQL Server Linux. Se você já configurou repositórios de origem para a instalação do Mecanismo de Banco de Dados, poderá executar os comandos de instalação do
mssql-server-extensibility-java
pacote usando o mesmo registro de repositório.
Language Extensions também é suportado em contêineres Linux. Não fornecemos contêineres pré-criados com extensões de idioma, mas você pode criar um a partir dos contêineres do SQL Server usando um modelo de exemplo disponível no GitHub.
As Extensões de Linguagem e os Serviços de Aprendizado de Máquina 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 neste artigo. Para obter mais informações, consulte Executar scripts Python e R com Serviços de Aprendizado de Máquina em clusters de Big Data do SQL Server 2019.
Lista de pacotes
Em um dispositivo conectado à Internet, os pacotes são baixados e instalados independentemente do Mecanismo de Banco de Dados usando o instalador de pacotes para cada sistema operacional. A tabela a seguir descreve todos os pacotes disponíveis.
Nome do pacote | Aplica-se a | Descrição |
---|---|---|
mssql-server-extensibility |
Todos os idiomas | Estrutura de extensibilidade usada para a extensão da linguagem Java |
mssql-server-extensibility-java |
Java |
Aplica-se a: SQL Server 2019 (15.x) apenas no Linux Estrutura de extensibilidade usada para a extensão da linguagem Java e inclui um tempo de execução Java suportado |
Instalar extensão de linguagem Java
Você pode instalar Language Extensions e Java no Linux ao instalar mssql-server-extensibility-java
. Quando instala mssql-server-extensibility-java
, o pacote instala automaticamente o JRE 11 se ele ainda não estiver instalado. Ele também adiciona o caminho da JVM a uma variável de ambiente chamada JRE_HOME
.
Para ativar a Java Language Extension, construa um binário personalizado seguindo as instruções da página Java Language Extension no GitHub.
Observação
Em um servidor conectado à Internet, as dependências do pacote são baixadas e instaladas como parte da instalação do pacote principal. Se o servidor não estiver conectado à Internet, consulte mais detalhes na configuração offline.
Você pode descarregar e instalar qualquer runtime Java conforme desejado, incluindo a versão mais recente do Microsoft Build do OpenJDK ou um runtime Java oficialmente licenciado. A partir do SQL Server 2022 (16.x), o programa de Instalação do SQL Server não instala um ambiente de execução Java.
Para ativar a Java Language Extension, construa um binário personalizado seguindo as instruções da página Java Language Extension no GitHub.
Comando de instalação do Red Hat
Você pode instalar o Language Extensions for Java no Red Hat usando o seguinte comando.
Sugestão
Se possível, execute yum clean all
para atualizar pacotes no sistema antes da instalação.
# Install as root or sudo
sudo yum install mssql-server-extensibility-java
Comando de instalação do Ubuntu
Você pode instalar Language Extensions for Java no Ubuntu usando o seguinte comando.
Sugestão
Se possível, execute apt-get update
para atualizar pacotes no sistema antes da instalação. Além disso, algumas imagens docker do Ubuntu podem não ter a opção de transporte https apt. Para instalá-lo, use apt-get install apt-transport-https
.
# Install as root or sudo
sudo apt-get install mssql-server-extensibility-java
Comando de instalação do SUSE
Você pode instalar as extensões de linguagem para Java no SUSE usando o comando a seguir.
# Install as root or sudo
sudo zypper install mssql-server-extensibility-java
Configuração pós-instalação (obrigatório)
Conceder permissões no Linux
Você não precisa executar esta etapa se usar bibliotecas externas. A maneira recomendada de trabalhar é usando bibliotecas externas. Para obter ajuda com a criação de uma biblioteca externa a partir do seu
jar
ficheiro, consulte CREATE EXTERNAL LIBRARYSe você não estiver usando bibliotecas externas, precisará fornecer permissões ao SQL Server para executar as classes Java em seu
jar
.Para conceder acesso de leitura e execução a um
jar
arquivo, execute o seguinte comando chmod nojar
arquivo. Recomendamos sempre colocar os seus arquivos de classe numjar
quando trabalhar com o SQL Server. Para obter ajuda com a criação de umjar
arquivo , consulte Criar um arquivo Java .jar a partir de arquivos de classe.chmod ug+rx <MyJarFile.jar>
Você também precisa dar
mssql_satellite
permissões aojar
arquivo para ler/executar.chown mssql_satellite:mssql_satellite <MyJarFile.jar>
A configuração adicional é principalmente através da ferramenta mssql-conf.
Adicione a
mssql
conta de usuário usada para executar o serviço SQL Server. Isso é necessário se você não tiver executado a configuração anteriormente.sudo /opt/mssql/bin/mssql-conf setup
Habilite o acesso à rede de saída. O acesso à rede de saída está desativado por padrão. Para habilitar solicitações de saída, defina a
outboundnetworkaccess
propriedade Boolean usando a ferramenta mssql-conf . Para obter mais informações, consulte Configurar o SQL Server no Linux com o mssql-conf.# Run as SUDO or root # Enable outbound requests over the network sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 1
Reinicie o serviço Barra Inicial do SQL Server e a instância do Mecanismo de Banco de Dados para ler os valores atualizados do arquivo INI. Uma mensagem de reinicialização lembra você sempre que uma configuração relacionada à extensibilidade é modificada.
systemctl restart mssql-launchpadd systemctl restart mssql-server.service
Habilite a execução de scripts externos usando o Azure Data Studio ou outra ferramenta como o SQL Server Management Studio (somente Windows), que executa o T-SQL.
EXECUTE sp_configure 'external scripts enabled', 1; RECONFIGURE WITH OVERRIDE;
Reinicie o
mssql-launchpadd
serviço novamente.Para cada banco de dados em que você deseja usar extensões de idioma, você precisa registrar o idioma externo com CREATE EXTERNAL LANGUAGE. Veja as etapas na próxima seção.
Registar língua externa
Para cada banco de dados em que você deseja usar extensões de idioma, você precisa registrar o idioma externo com CREATE EXTERNAL LANGUAGE.
O exemplo a seguir adiciona uma linguagem externa chamada Java a um banco de dados no SQL Server no Linux.
CREATE EXTERNAL LANGUAGE Java
FROM (
CONTENT = N'/opt/mssql-extensibility/lib/java-lang-extension.tar.gz',
FILE_NAME = 'javaextension.so',
ENVIRONMENT_VARIABLES = N'{"JRE_HOME":"/opt/mssql/lib/zulu-jre-11"}'
);
Para a extensão Java, a variável JRE_HOME
de ambiente é usada para determinar o caminho a partir do qual localizar e inicializar a JVM.
A CREATE EXTERNAL LANGUAGE
DDL fornece um parâmetro (ENVIRONMENT_VARIABLES
) para definir variáveis de ambiente especificamente para o processo que hospeda a extensão. Esse processo é a maneira recomendada e mais eficaz de definir variáveis de ambiente exigidas por extensões de linguagem externas.
Para obter mais informações, consulte CREATE EXTERNAL LANGUAGE.
Verificar a instalação
A integração de recursos Java não inclui bibliotecas, mas você pode executar grep -r JRE_HOME /etc
para confirmar a JAVA_HOME
criação da variável de ambiente.
Para validar a instalação, execute um script T-SQL que executa um procedimento armazenado do sistema invocando Java. Você precisa de uma ferramenta de consulta para essa tarefa. O Azure Data Studio é uma boa escolha. Outras ferramentas comumente usadas, como o SQL Server Management Studio, são somente para Windows. Se você tiver um computador Windows com essas ferramentas, use-o para se conectar à sua instalação Linux do Mecanismo de Banco de Dados.
Instalação completa do SQL Server e Java Language Extension
Você pode instalar e configurar o Mecanismo de Banco de Dados e a Extensão de Linguagem Java em um procedimento anexando pacotes e parâmetros Java em um comando que instala o Mecanismo de Banco de Dados.
Forneça uma linha de comando que inclua o Mecanismo de Banco de Dados, além de recursos de extensão de idioma.
Você pode adicionar extensibilidade Java a uma instalação do Mecanismo de Banco de Dados.
sudo yum install -y mssql-server mssql-server-extensibility-java
Aceite os contratos de licença e conclua a configuração pós-instalação. Use a ferramenta mssql-conf para esta tarefa.
sudo /opt/mssql/bin/mssql-conf setup
Esta etapa solicita que você aceite o contrato de licença para o Mecanismo de Banco de Dados, escolha uma edição e defina a senha de administrador.
Reinicie o serviço, se solicitado.
sudo systemctl restart mssql-server.service
Instalação não supervisionada
Use a instalação autônoma para o Mecanismo de Banco de Dados e adicione os pacotes para mssql-server-extensibility-java
.
Instalação offline
Siga as instruções de instalação offline para obter as etapas de instalação dos pacotes. Encontre seu site de download e, em seguida, baixe pacotes específicos usando a lista de pacotes mais adiante nesta seção.
Sugestão
Várias das ferramentas de gerenciamento de pacotes fornecem comandos que podem ajudá-lo a determinar as dependências do pacote. Para yum, use sudo yum deplist [package]
. Para o Ubuntu, use sudo apt-get install --reinstall --download-only [package name]
seguido de dpkg -I [package name].deb
.
Site de download
Você pode baixar os pacotes de https://packages.microsoft.com/. Todos os pacotes para Java são colocalizados com o pacote do Mecanismo de Banco de Dados.
Caminhos de download
Embalagem | Distribuição | Localização do download |
---|---|---|
mssql/extensibility-java packages |
Chapéu Vermelho 8 | https://packages.microsoft.com/rhel/8/mssql-server-2019/ |
mssql/extensibility-java packages |
SUSE v15 | https://packages.microsoft.com/sles/15/mssql-server-2019/ |
mssql/extensibility-java packages |
Ubuntu 20,04 | https://packages.microsoft.com/ubuntu/20.04/mssql-server-2019/pool/main/m/ |
Lista de pacotes
Dependendo de quais extensões você deseja usar, baixe os pacotes necessários para um idioma específico. Os nomes de arquivos exatos incluem informações da plataforma no sufixo, mas os nomes de arquivo a seguir devem ajudá-lo a determinar quais arquivos obter.
Pacotes principais
mssql-server-15.0.1000
mssql-server-extensibility-15.0.1000
Java
mssql-server-extensibility-java-15.0.1000
Limitações
A autenticação implícita não está disponível no Linux no momento, o que significa que você não pode se conectar de volta ao servidor a partir do Java em andamento para acessar dados ou outros recursos.
Governação dos recursos
Há paridade entre Linux e Windows para governança de recursos para pools de recursos externos, mas as estatísticas para sys.dm_resource_governor_external_resource_pools atualmente têm unidades diferentes no Linux.
Observação
As estatísticas na tabela a seguir são originadas dos subsistemas de Grupos de Controle (cgroups) especificados.
Nome da coluna | Descrição | Valor no Linux |
---|---|---|
peak_memory_kb |
A quantidade máxima de memória usada para o pool de recursos. | No Linux, essa estatística é originada do memory subsistema, onde o valor é memory.max_usage_in_bytes |
write_io_count |
O total de IOs de gravação emitidas desde que as estatísticas do Administrador de Recursos foram redefinidas. | No Linux, essa estatística é originada do blkio subsistema, onde o valor na linha de gravação é blkio.throttle.io_serviced |
read_io_count |
O total de OI lidas emitidas desde que as estatísticas do Administrador de Recursos foram redefinidas. | No Linux, essa estatística é originada do blkio subsistema, onde o valor na linha de leitura é blkio.throttle.io_serviced |
total_cpu_kernel_ms |
O tempo acumulado do kernel do usuário da CPU em milissegundos desde que as estatísticas do Administrador de Recursos foram redefinidas. | No Linux, essa estatística é originada do cpuacct subsistema, onde o valor na linha do usuário é cpuacct.stat |
total_cpu_user_ms |
O tempo acumulado do usuário da CPU em milissegundos desde que as estatísticas do Administrador de Recursos foram redefinidas. | No Linux, essa estatística é originada do cpuacct subsistema, onde o valor na linha do sistema é cpuacct.stat |
active_processes_count |
O número de processos externos em execução no momento da solicitação. | No Linux, essa estatística é originada do pids subsistema, onde o valor é pids.current |