Ao instalar o SQL Server, para que seja possível utilizá-lo em rede, você vai precisar ativar os serviços referentes a conexão e depois liberar as portas corretas do firewall.

Primeiro instale a versão do SQL Server, caso não tenha ainda. Sugerimos utilizar a versão Express, que é gratuita e atende a maioria das necessidades das microempresas. Estas instruções de configuração são para o contexto do Windows 7 ou Server 2012 ou mais recentes. Recomendamos como requisito mínimo o Windows 11 ou Server 2016. Pode ser necessário adaptar comandos ou instruções para sua versão específica.

Para ativar os serviços utilize o utilitário “Sql Server Configuration Manager” e revise se os protocolos que você deseja utilizar estão ativos. Geralmente é necessário apenas ativar com início automático o Sql Server Express e o Sql Browser. Ative o serviço de conexão TCP nestas configurações.

Em seguida, você só precisa abrir as regras do firewall do windows – em Firewall do Windows com Segurança Avançada – e criar estas três regras de permissão de entrada, liberando acesso:

  • Para o programa sqlserv.exe que está em Arquivos de Programas, em uma subpasta do SQL (varia conforme a versão)
  • SQL Server 2014 Express: C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQL\Binn.
  • SQL Server 2022 Express: C:\Program Files\Microsoft SQL Server\MSSQL16.SQLEXPRESS\MSSQL\Binn
  • SQL Server 2022 Standard: C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Binn
  • Para a porta TCP 1433
  • Para a porta UDP 1434

Válido para os Windows à partir do Vista, inclusive Server. Para mais informações, verifique a ajuda da Microsoft.

Observação: talvez seu micro tenha outros programas de firewall, como o que vem com alguns programas de antivírus ou internet protection, neste caso você deverá consultar a documentação do seu firewall para fazer as liberações do programa e das portas.

Downloads do Sql Server:

Script para facilitar

Para simplificar, você pode apenas abrir um prompt de comando em modo admin no seu Windows e executar o código abaixo. Para conveniência você pode também pode salvar em um arquivo de comandos “.bat”.

Este código está ajustado para o Sql Server 2022 standard.

@echo off

rem apaga e recria a regra TCP 1433 restrito à rede local
netsh advfirewall firewall delete rule name="SQL SERVER TCP 1433"
netsh advfirewall firewall add rule name="SQL SERVER TCP 1433" dir=in protocol=tcp action=allow localport=1433 remoteip=localsubnet profile=any

rem apaga e recria a regra UDP 1434 restrito à rede local
netsh advfirewall firewall delete rule name="SQL SERVER UDP 1434"
netsh advfirewall firewall add rule name="SQL SERVER UDP 1434" dir=in protocol=udp action=allow localport=1434 remoteip=localsubnet profile=any

rem apaga e recria a regra sqlserv.exe restrito à rede local
netsh advfirewall firewall delete rule name="SQL SERVER sqlserv.exe"
rem ******** Abaixo Remova o comentário REM da linha correspondente à sua versão ********
rem -- SQL server 2014 express
rem netsh advfirewall firewall add rule name="SQL SERVER sqlserv.exe" dir=in protocol=any action=allow program="C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Binn\sqlserv.exe" remoteip=localsubnet profile=any
rem -- SQL server 2016 express
rem netsh advfirewall firewall add rule name="SQL SERVER sqlserv.exe" dir=in protocol=any action=allow program="C:\Program Files\Microsoft SQL Server\MSSQL16.SQLEXPRESS\MSSQL\Binn\sqlserv.exe" remoteip=localsubnet profile=any
rem -- SQL server 2022 express
rem netsh advfirewall firewall add rule name="SQL SERVER sqlserv.exe" dir=in protocol=any action=allow program="C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQL\Binn\sqlserv.exe" remoteip=localsubnet profile=any

Consultas SQL úteis para diagnóstico

Abaixo instruções sql para facilitar diagnósticos e configurações de manutenção.

– Listar o espaço ocupado pelas tabelas do banco de dados

Referência original em AGO-2020.

SELECT 
t.NAME AS TableName,
s.Name AS SchemaName,
p.rows,
SUM(a.total_pages) * 8 AS TotalSpaceKB, 
CAST(ROUND(((SUM(a.total_pages) * 8) / 1024.00), 2) AS NUMERIC(36, 2)) AS TotalSpaceMB,
SUM(a.used_pages) * 8 AS UsedSpaceKB, 
CAST(ROUND(((SUM(a.used_pages) * 8) / 1024.00), 2) AS NUMERIC(36, 2)) AS UsedSpaceMB, 
(SUM(a.total_pages) - SUM(a.used_pages)) * 8 AS UnusedSpaceKB,
CAST(ROUND(((SUM(a.total_pages) - SUM(a.used_pages)) * 8) / 1024.00, 2) AS NUMERIC(36, 2)) AS UnusedSpaceMB
FROM 
sys.tables t
INNER JOIN 
sys.indexes i ON t.OBJECT_ID = i.object_id
INNER JOIN 
sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
INNER JOIN 
sys.allocation_units a ON p.partition_id = a.container_id
LEFT OUTER JOIN 
sys.schemas s ON t.schema_id = s.schema_id
WHERE 
t.NAME NOT LIKE 'dt%' 
AND t.is_ms_shipped = 0
AND i.OBJECT_ID > 255 
GROUP BY 
t.Name, s.Name, p.Rows
ORDER BY 
TotalSpaceMB DESC, t.Name

Ou utilize uma a uma

exec sp_spaceused [nome da tabela]
Share This