O mssql-conf é um script de configuração instalado com o SQL Server 2017 (14.x) para o Red Hat Enterprise Linux, o SUSE Linux Enterprise Server e o Ubuntu. Ele modifica o mssql.conf file no qual os valores de configuração estão armazenados. Você pode usar o utilitário mssql-conf para definir os seguintes parâmetros:
Altera o diretório padrão para novos arquivos do log de erros do SQL Server, do rastreamento do Profiler padrão, do XE da sessão de integridade do sistema e do XE da sessão do Hekaton.
Definem os sinalizadores de rastreamento que serão usados pelo serviço.
mssql-conf é um script de configuração que é instalado com o SQL Server 2019 (15.x) para Red Hat Enterprise Linux, SUSE Linux Enterprise Server e Ubuntu. Você pode usar esse utilitário para definir os seguintes parâmetros:
Altera o diretório padrão para novos arquivos do log de erros do SQL Server, do rastreamento do Profiler padrão, do XE da sessão de integridade do sistema e do XE da sessão do Hekaton.
Definem os sinalizadores de rastreamento que serão usados pelo serviço.
mssql-conf é um script de configuração instalado com o SQL Server 2022 (16.x) para o Red Hat Enterprise Linux e o Ubuntu. Você pode usar esse utilitário para definir os seguintes parâmetros:
Altera o diretório padrão para novos arquivos do log de erros do SQL Server, do rastreamento do Profiler padrão, do XE da sessão de integridade do sistema e do XE da sessão do Hekaton.
Para grupos de disponibilidade Always On e clusters de disco compartilhados, sempre faça as mesmas alterações de configuração em cada nó.
Para o cenário de cluster de disco compartilhado, não tente reiniciar o serviço mssql-server para aplicar as alterações. O SQL Server está em execução como um aplicativo. Em vez disso, coloque o recurso offline e, em seguida, novamente online.
Esses exemplos executam mssql-conf especificando o caminho completo: /opt/mssql/bin/mssql-conf. Se você optar por navegar até esse caminho, execute mssql-conf no contexto do diretório atual: ./mssql-conf.
Se você quiser modificar o arquivo mssql.conf dentro de um contêiner, crie um arquivo mssql.conf no host em que você tem o contêiner em execução com as configurações desejadas e reimplante o contêiner. Por exemplo, a adição a seguir ao arquivo mssql.conf habilita o SQL Server Agent.
[sqlagent]
enabled = true
Você pode implantar seu contêiner com os seguintes comandos:
A configuração sqlagent.enabled habilita o SQL Server Agent. Por padrão, o SQL Server Agent está desabilitado. Se sqlagent.enabled não está presente no arquivo de configurações mssql.conf, o SQL Server pressupõe internamente que o SQL Server Agent está desabilitado.
Para alterar essa configuração, use as seguintes etapas:
Habilite o SQL Server Agent:
sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true
Reinicie o serviço SQL Server:
sudo systemctl restart mssql-server
Definir o perfil padrão do Database Mail para o SQL Server no Linux
O sqlagent.databasemailprofile permite que você defina o perfil padrão do DB Mail para alertas de email.
sudo /opt/mssql/bin/mssql-conf set sqlagent.databasemailprofile <profile_name>
Logs de erros do SQL Agent
As configurações sqlagent.errorlogfile e sqlagent.errorlogginglevel permitem definir o caminho do arquivo de log do SQL Agent e o nível de registros em log, respectivamente.
sudo /opt/mssql/bin/mssql-conf set sqlagent.errorlogfile <path>
Os níveis de registros em log do SQL Agent são iguais aos seguintes valores de bitmask:
1 = Erros
2 = Avisos
4 = Informações
Se você quiser capturar todos os níveis, use 7 como o valor.
sudo /opt/mssql/bin/mssql-conf set sqlagent.errorlogginglevel <level>
Configurar a autenticação do Microsoft Entra
A partir do SQL Server 2022 (16.x), você pode configurar o Microsoft Entra ID para o SQL Server. Para configurar o Microsoft Entra ID, você deve instalar a extensão do Azure para SQL Server após a instalação do SQL Server. Para obter informações sobre como configurar o Microsoft Entra ID, consulte Tutorial: configurar a autenticação do Microsoft Entra para o SQL Server.
Alterar o caminho de certificação padrão do Microsoft Entra ID
Por padrão, o arquivo de certificado do Microsoft Entra é armazenado em /var/opt/mssql/aadsecrets/. Você poderá alterar esse caminho se usar um repositório de certificados ou uma unidade criptografada. Para alterar o caminho, você pode usar o seguinte comando:
sudo /opt/mssql/bin/mssql-conf set network.aadcertificatefilepath /path/to/new/location.pfx
No exemplo anterior, /path/to/new/location.pfx é seu caminho preferido incluindo o nome do certificado.
O certificado para a autenticação do Microsoft Entra, baixado pela extensão do Azure para o SQL Server, é armazenado nessa localização. Não é possível alterar isso para /var/opt/mssql/secrets.
Observação
Após a instalação do SQL Server, o caminho de certificação do Microsoft Entra ID pode ser alterado a qualquer momento, mas deve ser alterado antes de habilitar o Microsoft Entra ID.
Opções de configuração do Microsoft Entra ID
As opções a seguir são usadas pela autenticação do Microsoft Entra para uma instância do SQL Server em execução no Linux.
Aviso
Os parâmetros do Microsoft Entra ID são configurados pela extensão do Azure para SQL Server e não devem ser reconfigurados manualmente. Eles estão listados aqui para fins informativos.
Opção
Descrição
network.aadauthenticationendpoint
Ponto de extremidade para a autenticação do Microsoft Entra
network.aadcertificatefilepath
Caminho para arquivo de certificado para autenticação no Microsoft Entra ID
network.aadclientcertblacklist
Lista de bloqueados do certificado do cliente do Microsoft Entra ID
network.aadclientid
GUID do cliente Microsoft Entra
network.aadfederationmetadataendpoint
Ponto de extremidade para metadados de federação do Microsoft Entra
network.aadgraphapiendpoint
Ponto de extremidade para API do Graph do Azure AD
network.aadgraphendpoint
Ponto de extremidade do Graph do Azure AD
network.aadissuerurl
URL do emissor do Microsoft Entra
network.aadmsgraphendpoint
Pontos de extremidade do MS Graph do Microsoft Entra
network.aadonbehalfofauthority
Microsoft Entra ID em nome da autoridade
network.aadprimarytenant
GUID do locatário primário do Microsoft Entra
network.aadsendx5c
Microsoft Entra ID Send X5C
network.aadserveradminname
Nome da conta do Microsoft Entra que será tornada sysadmin
network.aadserveradminsid
SID da conta do Microsoft Entra que será tornada sysadmin
network.aadserveradmintype
Tipo da conta do Microsoft Entra que será tornada sysadmin
network.aadserviceprincipalname
Nome da entidade de serviço do Microsoft
network.aadserviceprincipalnamenoslash
Nome da entidade de serviço do Microsoft, sem barra “/”
network.aadstsurl
URL do STS do Microsoft Entra
Configurar a autenticação do Windows Active Directory
A opção setup-ad-keytab pode ser usada para criar um keytab, mas o usuário e os SPNs (Nomes da Entidade de Serviço) devem ter sido criados para usar essa opção. O utilitário do Active Directory, adutil, pode ser usado para criar usuários, SPNs e keytabs.
Para ver opções sobre como usar setup-ad-keytab, execute o seguinte comando:
A opção validate-ad-config valida a configuração para a autenticação do Active Directory.
Alterar a ordenação do SQL Server
A opção set-collation altera o valor da ordenação para qualquer um dos agrupamentos compatíveis. Para fazer essa alteração, o serviço SQL Server precisa ser interrompido.
Use o procedimento armazenado sp_detach_db para desanexar os bancos de dados de usuário.
Execute a opção set-collation e siga os prompts:
sudo /opt/mssql/bin/mssql-conf set-collation
O utilitário mssql-conf tentará alterar para o valor de ordenação especificado e reiniciar o serviço. Se houver erros, ele reverterá a ordenação para o valor anterior.
Restaure os backups de banco de dados do usuário.
Para obter uma lista de agrupamentos compatíveis, execute a função sys.fn_helpcollations: SELECT Name from sys.fn_helpcollations().
Configurar os comentários do cliente
A configuração telemetry.customerfeedback determina se o SQL Server envia comentários à Microsoft ou não. Por padrão, esse valor é definido como true para todas as edições. Para alterar o valor, execute os seguintes comandos:
Importante
Você não pode desligar os comentários do cliente para edições gratuitas do SQL Server, Express e Developer.
Execute o script mssql-conf como raiz com o comando set para telemetry.customerfeedback. O exemplo a seguir desativa os comentários do cliente, especificando false.
sudo /opt/mssql/bin/mssql-conf set telemetry.customerfeedback false
Alterar a localização padrão do diretório de dados ou de log
As configurações filelocation.defaultdatadir e filelocation.defaultlogdir alteram a localização em que o novo banco de dados e os arquivos de log são criados. Por padrão, esse local é /var/opt/mssql/data. Para alterar essas configurações, use as seguintes etapas:
Crie o diretório de destino para novos arquivos de log e de dados de bancos de dados. O exemplo a seguir cria um diretório /tmp/data:
sudo mkdir /tmp/data
Altere o proprietário e o grupo do diretório para o usuário mssql:
Use mssql-conf para alterar o diretório de dados padrão com o comando set:
sudo /opt/mssql/bin/mssql-conf set filelocation.defaultdatadir /tmp/data
Reinicie o serviço SQL Server:
sudo systemctl restart mssql-server
Agora, todos os arquivos de banco de dados para os novos bancos de dados criados serão armazenados nessa nova localização. Caso deseje alterar a localização dos arquivos de log (.ldf) dos novos bancos de dados, use o seguinte comando set:
sudo /opt/mssql/bin/mssql-conf set filelocation.defaultlogdir /tmp/log
Esse comando também pressupõe que um diretório/tmp/log exista e que esteja sob o usuário e grupo mssql.
Alterar a localização do diretório padrão de arquivos de banco de dados master
A configuração filelocation.masterdatafile e filelocation.masterlogfile altera a localização em que o Mecanismo de Banco de Dados do SQL Server procura os arquivos de banco de dados master. Por padrão, esse local é /var/opt/mssql/data.
Para alterar essas configurações, use as seguintes etapas:
Crie o diretório de destino para novos arquivos de log de erros. O exemplo a seguir cria um diretório /tmp/masterdatabasedir:
sudo mkdir /tmp/masterdatabasedir
Altere o proprietário e o grupo do diretório para o usuário mssql:
Use mssql-conf para alterar o diretório de banco de dados master padrão para os dados mestres e os arquivos de log com o comando set:
sudo /opt/mssql/bin/mssql-conf set filelocation.masterdatafile /tmp/masterdatabasedir/master.mdf
sudo /opt/mssql/bin/mssql-conf set filelocation.masterlogfile /tmp/masterdatabasedir/mastlog.ldf
Observação
Além de mover os dados mestres e os arquivos de log, isso também move a localização padrão para todos os outros bancos de dados do sistema.
Quando o SQL Server não pode localizar os arquivos master.mdf e mastlog.ldf no diretório especificado, uma cópia modelo dos bancos de dados do sistema é criada automaticamente no diretório especificado e o SQL Server é inicializado com êxito. No entanto, metadados como bancos de dados de usuário, logons de servidor, certificados de servidor, chaves de criptografia, trabalhos do SQL Agent ou senha de logon de SA antiga não são atualizados no novo banco de dados master. Você precisará interromper o SQL Server e mover o master.mdf e o mastlog.ldf antigos para a nova localização especificada e iniciar o SQL Server para continuar usando os metadados existentes.
Alterar o nome dos arquivos de banco de dados master
A configuração filelocation.masterdatafile e filelocation.masterlogfile altera a localização em que o Mecanismo de Banco de Dados do SQL Server procura os arquivos de banco de dados master. Você também pode usar isso para alterar o nome dos arquivos de log e do banco de dados master.
Para alterar essas configurações, use as seguintes etapas:
Interromper o serviço do SQL Server:
sudo systemctl stop mssql-server
Use mssql-conf para alterar os nomes esperados do banco de dados master para os arquivos de log e de dados do master com o comando set:
sudo /opt/mssql/bin/mssql-conf set filelocation.masterdatafile /var/opt/mssql/data/masternew.mdf
sudo /opt/mssql/bin/mssql-conf set filelocation.mastlogfile /var/opt/mssql/data/mastlognew.ldf
Importante
Você só pode alterar o nome dos arquivos de log e do banco de dados master após o SQL Server ter sido iniciado com êxito. Antes da execução inicial, o SQL Server espera que os arquivos sejam nomeados master.mdf e mastlog.ldf.
Altere o nome dos arquivos de log e de dados do banco de dados master:
Alterar a localização padrão de despejo do diretório
A configuração filelocation.defaultdumpdir altera a localização padrão em que a memória e os despejos SQL são gerados sempre que há uma falha. Por padrão, esses arquivos são gerados em /var/opt/mssql/log.
Para configurar essa nova localização, use os seguintes comandos:
Crie o diretório de destino para novos arquivos de despejo. O exemplo a seguir cria um diretório /tmp/dump:
sudo mkdir /tmp/dump
Altere o proprietário e o grupo do diretório para o usuário mssql:
Use mssql-conf para alterar o diretório de dados padrão com o comando set:
sudo /opt/mssql/bin/mssql-conf set filelocation.defaultdumpdir /tmp/dump
Reinicie o serviço SQL Server:
sudo systemctl restart mssql-server
Alterar a localização padrão do diretório de arquivos de log de erros
A configuração filelocation.errorlogfile altera a localização em que o novo log de erros, o rastreamento padrão do Profiler, os arquivos XE da sessão de integridade do sistema e os arquivos XE da sessão do Hekaton são criados. Por padrão, esse local é /var/opt/mssql/log. O diretório no qual o arquivo de log de erros do SQL Server é definido passa a ser o diretório de logs padrão para outros logs.
Para alterar essas configurações:
Crie o diretório de destino para novos arquivos de log de erros. O exemplo a seguir cria um diretório /tmp/logs:
sudo mkdir /tmp/logs
Altere o proprietário e o grupo do diretório para o usuário mssql:
Use mssql-conf para alterar o nome do arquivo de log de erros padrão com o comando set:
sudo /opt/mssql/bin/mssql-conf set filelocation.errorlogfile /tmp/logs/errorlog
Reinicie o serviço SQL Server:
sudo systemctl restart mssql-server
A configuração errorlog.numerrorlogs permite que você especifique o número de logs de erros mantidos antes de reiniciar o ciclo do log.
Alterar a localização padrão de backup do diretório
A configuração filelocation.defaultbackupdir altera a localização padrão em que os arquivos de backup são gerados. Por padrão, esses arquivos são gerados em /var/opt/mssql/data.
Para configurar essa nova localização, use os seguintes comandos:
Crie o diretório de destino para novos arquivos de backup. O exemplo a seguir cria um diretório /tmp/backup:
sudo mkdir /tmp/backup
Altere o proprietário e o grupo do diretório para o usuário mssql:
Use mssql-conf para alterar o diretório de backup padrão com o comando set:
sudo /opt/mssql/bin/mssql-conf set filelocation.defaultbackupdir /tmp/backup
Reinicie o serviço SQL Server:
sudo systemctl restart mssql-server
Especificar configurações de despejo de núcleo
Se ocorrer uma exceção ou falha em um dos processos de SQL Server, o SQL Server criará um despejo de memória. Capturar um despejo de memória pode levar muito tempo e ocupar um espaço significativo. Para economizar recursos e evitar despejos de memória repetidos, você pode desabilitar a captura automática de despejo usando a opção coredump.disablecoredump.
sudo /opt/mssql/bin/mssql-conf set coredump.disablecoredump <true or false>
Os usuários ainda podem gerar despejos de memória manualmente quando o despejo de memória automático está desabilitado (coredump.disablecoredump definido como true).
Há duas opções para controlar o tipo de despejo de memória que o SQL Server coleta: coredump.coredumptype e coredump.captureminiandfull. Eles estão relacionados às duas fases da captura de despejo principal.
A primeira fase da captura é controlada pela configuração coredump.coredumptype, que determina o tipo de arquivo de despejo gerado durante uma exceção. A segunda fase é habilitada quando a configuração coredump.captureminiandfull. Se coredump.captureminiandfull for definido como true, o arquivo de despejo especificado por coredump.coredumptype e um segundo minidespejo serão gerados. Definir coredump.captureminiandfull como false desabilita a segunda tentativa de captura.
Decida se deseja capturar o minidespejo e o despejo completo com a configuração coredump.captureminiandfull.
sudo /opt/mssql/bin/mssql-conf set coredump.captureminiandfull <true or false>
Padrão: false
Especifique o tipo de arquivo de despejo com a configuração coredump.coredumptype.
sudo /opt/mssql/bin/mssql-conf set coredump.coredumptype <dump_type>
Padrão: miniplus
A tabela a seguir lista os possíveis valores de coredump.coredumptype.
Type
Descrição
mini
Mini é o menor tipo de arquivo de despejo. Ele usa as informações do sistema Linux para determinar threads e módulos no processo. O despejo contém apenas os módulos e pilhas de thread do ambiente de host. Ele não contém referências de memória indiretas nem globais.
miniplus
O MiniPlus é semelhante ao mini, mas inclui memória adicional. Ele entende os mecanismos internos do SQLPAL e o ambiente de host, adicionando as seguintes regiões de memória ao despejo:
– Vários globais – Toda a memória acima de 64 TB – Todas as regiões nomeadas encontradas em /proc/$pid/maps – Memória indireta de threads e pilhas – Informações de thread, incluindo TEBs (blocos de ambiente de thread) associados e PEBs (blocos de ambiente de processo) – Informações do módulo – Árvore de VMM e de VAD
filtered
Filtrado usa um design baseado em subtração em que toda a memória no processo é incluída, a menos que seja especificamente excluída. O design entende os mecanismos internos do SQLPAL e o ambiente de host, excluindo certas regiões do despejo.
full
Completo é um despejo de processo completo que inclui todas as regiões localizadas em /proc/$pid/maps. Isso não é controlado pela configuração coredump.captureminiandfull.
Edition
A edição do SQL Server pode ser alterada usando a opção set-edition. Para alterar a edição do SQL Server, é necessário primeiro parar o serviço SQL Server. Para obter mais informações sobre edições do SQL Server em Linux disponíveis, confira Edições do SQL Server.
Alta disponibilidade
A opção hadr.hadrenabled habilita grupos de disponibilidade na instância do SQL Server. O comando a seguir habilita os grupos de disponibilidade definindo hadr.hadrenabled para 1. É preciso reiniciar o SQL Server para que essa configuração entre em vigor.
sudo /opt/mssql/bin/mssql-conf set hadr.hadrenabled 1
sudo systemctl restart mssql-server
Para obter informações sobre como isso é usado com grupos de disponibilidade, confira os dois artigos a seguir.
A configuração telemetry.userrequestedlocalauditdirectory habilita a auditoria local e permite que você defina o diretório em que os logs de auditoria local são criados.
Crie um diretório de destino para novos logs de Auditoria Local. O exemplo a seguir cria um diretório /tmp/audit:
sudo mkdir /tmp/audit
Altere o proprietário e o grupo do diretório para o usuário mssql:
A configuração language.lcid altera a localidade do SQL Server para qualquer LCID (identificador de idioma) com suporte.
O exemplo a seguir altera a localidade para francês (1036):
sudo /opt/mssql/bin/mssql-conf set language.lcid 1036
Reinicie o serviço do SQL Server para aplicar as alterações:
sudo systemctl restart mssql-server
Definir o limite de memória
A configuração memory.memorylimitmb controla a quantidade de memória física (em MB) disponível para o SQL Server. O padrão é 80% da memória física, a fim de evitar condições de memória insuficiente.
Importante
A configuração memory.memorylimitmb limita a quantidade de memória física disponível para o processo do SQL Server. A configuração memória máxima do servidor (MB) pode ser usada para ajustar a quantidade de memória disponível para o pool de buffers do SQL Server, mas nunca pode exceder a quantidade de memória física disponível para o SQL Server. Para obter mais informações sobre a opção de configuração do servidor memória máxima do servidor (MB) confira Opções de configuração da memória do servidor.
Execute o script mssql-conf como raiz com o comando set para memory.memorylimitmb. O exemplo a seguir altera a memória disponível para o SQL Server para 3,25 GB (3.328 MB).
sudo /opt/mssql/bin/mssql-conf set memory.memorylimitmb 3328
Reinicie o serviço do SQL Server para aplicar as alterações:
sudo systemctl restart mssql-server
Necessidades de memória adicional
As opções a seguir estão disponíveis para as configurações de memória.
Opção
Descrição
memory.disablememorypressure
Desabilita a demanda de memória do SQL Server. Os valores podem ser true ou false (padrão). A desativação da demanda de memória inibe os sinais que o SQL Server usa para limitar o uso de memória física para memory.memorylimitmb, o que faz com que o uso ultrapasse esse limite.
memory.memory_optimized
Habilita ou desabilita recursos de otimização de memória no SQL Server – capacitação de arquivo de memória persistente, proteção de memória. Os valores podem ser true ou false.
memory.enablecontainersharedmemory
Aplicável somente para contêineres do SQL Server. Use essa configuração para habilitar a memória compartilhada dentro de contêineres do SQL Server. Para obter mais informações, confira Habilitar backup e restauração de VDI em contêineres. Os valores podem ser true ou false (padrão).
Configurar MSDTC
As configurações network.rpcport e distributedtransaction.servertcpport são usadas para definir o MSDTC (Coordenador de Transações Distribuídas da Microsoft). Para alterar essas configurações, execute os seguintes comandos:
Execute o script mssql-conf como raiz com o comando set para network.rpcport:
sudo /opt/mssql/bin/mssql-conf set network.rpcport <rcp_port>
Em seguida, defina a configuração distributedtransaction.servertcpport:
sudo /opt/mssql/bin/mssql-conf set distributedtransaction.servertcpport <servertcpport_port>
Há várias outras configurações de mssql-conf que você pode usar para monitorar e solucionar problemas do MSDTC. A tabela a seguir descreve resumidamente essas configurações. Para obter mais informações o uso delas, confira os detalhes no artigo de suporte do Windows, Habilitar o rastreamento de diagnóstico para MS DTC em um computador Windows 10.
Opção
Descrição
distributedtransaction.allowonlysecurerpccalls
Configurar chamadas RPC somente seguras para transações distribuídas
Configurar chamadas RPC somente de segurança para transações distribuídas
distributedtransaction.maxlogsize
Tamanho do arquivo de log de transações do DTC em MB. O padrão é 64 MB
distributedtransaction.memorybuffersize
Tamanho do buffer circular no qual os rastreamentos são armazenados. Esse tamanho está em MB e o padrão é 10 MB
distributedtransaction.servertcpport
Porta do servidor RPC do MSDTC
distributedtransaction.trace_cm
Rastreamentos no gerenciador de conexões
distributedtransaction.trace_contact
Rastreia o pool de contatos e os contatos
distributedtransaction.trace_gateway
Rastreia a origem do gateway
distributedtransaction.trace_log
Rastreamento de log
distributedtransaction.trace_misc
Rastreamentos que não podem ser categorizados em outras categorias
distributedtransaction.trace_proxy
Rastreamentos gerados no proxy do MSDTC
distributedtransaction.trace_svc
Rastreia a inicialização do serviço e do arquivo .exe
distributedtransaction.trace_trace
A infraestrutura de rastreamento propriamente dita
distributedtransaction.trace_util
Rastreia rotinas do utilitário que são chamadas de vários locais
distributedtransaction.trace_xa
Origem de rastreamento do XATM (Gerenciador de Transação XA)
distributedtransaction.tracefilepath
Pasta na qual os arquivos de rastreamento devem ser armazenados
distributedtransaction.turnoffrpcsecurity
Habilitar ou desabilitar a segurança RPC para transações distribuídas
Aceitar EULAs dos Serviços de Machine Learning
A adição de pacotes R ou Python de machine learning ao Mecanismo de Banco de Dados exige que você aceite os termos de licenciamento para as distribuições de código aberto do R e do Python. A tabela a seguir enumera todas as opções ou comandos disponíveis relacionados a EULAs de mlservices. O mesmo parâmetro de EULA é usado para R e Python, dependendo do que você instalou.
# For all packages: database engine and mlservices
# Setup prompts for mlservices EULAs, which you need to accept
sudo /opt/mssql/bin/mssql-conf setup
# Add R or Python to an existing installation
sudo /opt/mssql/bin/mssql-conf setup accept-eula-ml
# Alternative valid syntax
# Adds the EULA section to the INI and sets acceptulam to yes
sudo /opt/mssql/bin/mssql-conf set EULA accepteulaml Y
# Rescind EULA acceptance and removes the setting
sudo /opt/mssql/bin/mssql-conf unset EULA accepteulaml
Você também pode adicionar a aceitação de EULA diretamente ao arquivo mssql.conf:
[EULA]
accepteula = Y
accepteulaml = Y
Habilitar acesso à rede de saída
O acesso à rede de saída para extensões R, Python e Java no recurso de Serviços de Machine Learning do SQL Server está desabilitado por padrão. Para habilitar as solicitações de saída, defina a propriedade booliana outboundnetworkaccess usando o mssql-conf.
Depois de definir a propriedade, reinicie o serviço SQL Server Launchpad para ler os valores atualizados do arquivo INI. Uma mensagem de reinicialização lembrará você sempre que uma configuração relacionada à extensibilidade for modificada.
# Adds the extensibility section and property.
# Sets "outboundnetworkaccess" to true.
# This setting is required if you want to access data or operations off the server.
sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 1
# Turns off network access but preserves the setting
sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 0
# Removes the setting and rescinds network access
sudo /opt/mssql/bin/mssql-conf unset extensibility.outboundnetworkaccess
Você também pode adicionar o outboundnetworkaccess diretamente ao arquivo mssql.conf:
[extensibility]
outboundnetworkaccess = 1
Alterar o nível de log do Conector do SQL Server para Azure Key Vault
No SQL Server 2022 (16.x) CU 14 e versões posteriores, o SQL Server em Linux oferece suporte ao Gerenciamento Extensível de Chaves TDE com o Azure Key Vault. É possível definir o nível de registros em log para um dos seguintes valores:
Nível
Descrição
0 (padrão)
Informações
1
Erro
2
Nenhum log
Para alterar o nível de log do Conector do SQL Server, use o seguinte exemplo:
sudo /opt/mssql/bin/mssql-conf set sqlconnector.logginglevel 1
A configuração network.tcpport altera a porta TCP em que o SQL Server escuta conexões. Por padrão, essa porta é definida para 1433. Para alterar a porta, execute os seguintes comandos:
Execute o script mssql-conf como raiz com o comando set para network.tcpport:
sudo /opt/mssql/bin/mssql-conf set network.tcpport <new_tcp_port>
Reinicie o serviço SQL Server:
sudo systemctl restart mssql-server
Ao se conectar ao SQL Server agora, você deve especificar a porta personalizada com uma vírgula (,) após o nome do host ou o endereço IP. Por exemplo, para se conectar com o sqlcmd, você usará o seguinte comando:
sqlcmd -S localhost,<new_tcp_port> -U test -P test
Especificar configurações de TLS
As opções a seguir configuram o TLS para uma instância do SQL Server em execução no Linux.
Opção
Descrição
network.forceencryption
Se for 1, SQL Server forçará a criptografia de todas as conexões. Por padrão, essa opção é 0.
network.tlscert
O caminho absoluto para o arquivo de certificado que SQL Server usa para TLS. Exemplo: /etc/ssl/certs/mssql.pem o arquivo de certificado deve ser acessível pela conta mssql. A Microsoft recomenda restringir o acesso ao arquivo usando o chown mssql:mssql <file>; chmod 400 <file>.
network.tlskey
O caminho absoluto para o arquivo de chave privada que SQL Server usa para TLS. Exemplo: /etc/ssl/private/mssql.key o arquivo de certificado deve ser acessível pela conta mssql. A Microsoft recomenda restringir o acesso ao arquivo usando o chown mssql:mssql <file>; chmod 400 <file>.
network.tlsprotocols
Uma lista separada por vírgula de quais protocolos TLS são permitidos pelo SQL Server. O SQL Server sempre tenta negociar o protocolo mais forte permitido. Se o cliente não der suporte para nenhum protocolo permitido, o SQL Server rejeitará a tentativa de conexão. Para compatibilidade, todos os protocolos compatíveis são permitidos por padrão (1.2, 1.1 e 1.0). Se os clientes dão suporte ao protocolo TLS 1.2, a Microsoft recomenda que ele seja o único permitido.
network.tlsciphers
Especifica quais codificações são permitidas pelo SQL Server para protocolo TLS. Essa cadeia de caracteres deve ser formatada segundo o formato de lista de codificação do OpenSSL. Em geral, não é necessário alterar essa opção. Por padrão, são permitidas as seguintes codificações: ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA
As opções a seguir são configurações de rede adicionais que podem ser definidas por meio do mssql-conf.
Opção
Descrição
network.disablesssd
Desabilita a consulta a SSSD para obter informações de conta do Active Directory e utilizar chamadas LDAP por padrão. Os valores podem ser true ou false.
network.enablekdcfromkrb5conf
Habilita a pesquisa de informações do KDC por meio de krb5.conf. Os valores podem ser true ou false.
network.forcesecureldap
Força o uso de LDAPS para entrar em contato com o controlador de domínio. Os valores podem ser true ou false.
network.ipaddress
Endereço IP para conexões de entrada.
network.kerberoscredupdatefrequency
Tempo em segundos entre as verificações de credenciais Kerberos que precisam ser atualizadas. O valor é um inteiro.
Mapeia o caminho UNC para um caminho local. Por exemplo, sudo /opt/mssql/bin/mssql-conf set uncmapping //servername/sharename /tmp/folder.
ldaphostcanon
Defina se o OpenLDAP deve canonizar nomes de host durante a etapa de associação. Os valores podem ser true ou false.
Habilitar ou desabilitar os sinalizadores de rastreamento
A opção de traceflag habilita ou desabilita o sinalizadores de rastreamento para a inicialização do serviço SQL Server. Para habilitar/desabilitar um sinalizador de rastreamento, use os seguintes comandos:
Para habilitar um sinalizador de rastreamento, use o comando a seguir. Por exemplo, para o sinalizador de rastreamento 1234:
sudo /opt/mssql/bin/mssql-conf traceflag 1234 on
Você pode habilitar vários sinalizadores de rastreamento especificando-os separadamente:
sudo /opt/mssql/bin/mssql-conf traceflag 2345 3456 on
De modo semelhante, você pode desabilitar um ou mais sinalizadores de rastreamento habilitados, especificando-os e adicionando o parâmetro off:
sudo /opt/mssql/bin/mssql-conf traceflag 1234 2345 3456 off
Reinicie o serviço do SQL Server para aplicar as alterações:
sudo systemctl restart mssql-server
Remover uma configuração
Para remover a definição de qualquer configuração feita com mssql-conf set, chame mssql-conf com a opção unset e o nome da configuração. Isso limpa a configuração, retornando-a efetivamente ao valor padrão.
Para exibir as configurações definidas, execute o seguinte comando para gerar o conteúdo do arquivo mssql.conf como saída:
sudo cat /var/opt/mssql/mssql.conf
As configurações que não foram exibidas neste arquivo usam os valores padrão. A próxima seção fornece um arquivo mssql.conf de exemplo.
Exibir várias opções
Para exibir as diversas opções que podem ser configuradas usando o utilitário mssql-conf, execute o comando help:
sudo /opt/mssql/bin/mssql-conf --help
Os resultados oferecem várias opções de configuração e uma breve descrição para cada uma das configurações.
Formato mssql.conf
O arquivo /var/opt/mssql/mssql.conf a seguir fornece um exemplo para cada configuração. Você pode usar esse formato para fazer alterações manualmente no arquivo mssql.conf conforme necessário. Se você alterar o arquivo manualmente, deverá reiniciar o SQL Server antes que as alterações sejam aplicadas. Para usar o arquivo mssql.conf com o Docker, você deverá fazer com que o Docker persista seus dados. Primeiro, adicione um arquivo mssql.conf completo ao diretório de host e, em seguida, execute o contêiner. Há um exemplo disso em Configurar coleta de dados de uso e diagnóstico para o SQL Server no Linux.
Você sabia que pode editar conteúdo do SQL por conta própria? Ao fazer isso, além de melhorar nossa documentação, você também será creditado como um colaborador da página.
O SQL Server agora é executado no sistema operacional escolhido. Neste roteiro de aprendizagem, você descobrirá os conceitos básicos do SQL Server em Linux antes de descobrir como executar contêineres do SQL Server em Linux e implantá-lo. Em seguida, você aprenderá a ajustar automaticamente a implantação do SQL Server em Linux.
Descubra como iniciar, parar ou reiniciar vários serviços SQL Server no Linux. Confira como usar o Transact-SQL e as ferramentas da linha de comando para essas ações.
Solucione problemas no SQL Server em execução no Linux ou em um contêiner do Linux. Saiba onde encontrar informações sobre os recursos com suporte e as limitações conhecidas.
Aprenda a fazer backup e restauração dos bancos de dados do SQL Server no Linux. Saiba também como fazer backup e restauração com o SQL Server Management Studio (SSMS).
Saiba como habilitar ou instalar o SQL Server Agent em Linux. Do SQL Server 2017 CU4 em diante, o SQL Server Agent está incluído no pacote mssql-server.
Verifique e configure repositórios de origem para o SQL Server no Linux. O repositório de origem afeta a versão do SQL Server que é aplicada durante a instalação e a atualização.