4 04 2013
SQL Server: Ouvrir les ports du firewall sous Windows Server 2012 avec Powershell
Voici aujourd’hui un petit script powershell qui va nous simplifier la vie pour l’ouverture des ports pour Microsoft SQL Server sous Windows Server 2012.
L’ouverture des ports pour SQL Server a toujours été un petit casse-tête pour les personnes qui ne sont pas particulièrement familières avec SQL Server (terminant souvent avec une désactivation pure et simple du firewall de Windows).
Jusqu’à aujourd’hui, je m’appuyais sur le script de la KB968872:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
@echo ========= SQL Server Ports =================== @echo Enabling SQLServer default instance port 1433 netsh firewall set portopening TCP 1433 "SQLServer" @echo Enabling Dedicated Admin Connection port 1434 netsh firewall set portopening TCP 1434 "SQL Admin Connection" @echo Enabling conventional SQL Server Service Broker port 4022 netsh firewall set portopening TCP 4022 "SQL Service Broker" @echo Enabling Transact-SQL Debugger/RPC port 135 netsh firewall set portopening TCP 135 "SQL Debugger/RPC" @echo ========= Analysis Services Ports ============== @echo Enabling SSAS Default Instance port 2383 netsh firewall set portopening TCP 2383 "Analysis Services" @echo Enabling SQL Server Browser Service port 2382 netsh firewall set portopening TCP 2382 "SQL Browser" @echo ========= Misc Applications ============== @echo Enabling HTTP port 80 netsh firewall set portopening TCP 80 "HTTP" @echo Enabling SSL port 443 netsh firewall set portopening TCP 443 "SSL" @echo Enabling port for SQL Server Browser Service's 'Browse' Button netsh firewall set portopening UDP 1434 "SQL Browser" @echo Allowing multicast broadcast response on UDP (Browser Service Enumerations OK) netsh firewall set multicastbroadcastresponse ENABLE |
Or, sous Windows Server 2012, en utilisant ces règles, vous obtenez le message suivant:
IMPORTANT: Command executed successfully.
However, « netsh firewall » is deprecated;
use « netsh advfirewall firewall » instead.
For more information on using « netsh advfirewall firewall » commands
instead of « netsh firewall », see KB article 947709
at http://go.microsoft.com/fwlink/?linkid=121488 .
Plutôt que d’utiliser la commande « netsh advfirewall firewall », je vous propose plutôt d’utiliser un script powershell, qui lui peut être utilisé de pair avec notre nouvel ami, la cmdlet Invoke-command:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
Import-Module NetSecurity # =================== SQL Server Ports =================== # Enabling SQLServer default instance port 1433 New-NetFirewallRule -DisplayName "SQL Server default instance" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 1433 # Enabling Dedicated Admin Connection port 1434 New-NetFirewallRule -DisplayName "SQL Admin Connection" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 1434 New-NetFirewallRule -DisplayName "SQL Admin Connection" -Direction Inbound -Action Allow -Protocol UDP -LocalPort 1434 # Enabling conventional SQL Server Service Broker port 4022 New-NetFirewallRule -DisplayName "SQL Service Broker" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 4022 # Enabling Transact-SQL Debugger/RPC port 135 New-NetFirewallRule -DisplayName "SQL Debugger/RPC" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 135 # =================== Analysis Services Ports =================== # Enabling SSAS Default Instance port 2383 New-NetFirewallRule -DisplayName "Analysis Services" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 2383 # Enabling SQL Server Browser Service port 2382 New-NetFirewallRule -DisplayName "SQL Browser" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 2382 # =================== Misc Applications =================== # Enabling HTTP port 80 New-NetFirewallRule -DisplayName "HTTP" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 80 # Enabling SSL port 443 New-NetFirewallRule -DisplayName "SSL" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 443 # Enabling port for SQL Server Browser Service's 'Browse' Button New-NetFirewallRule -DisplayName "SQL Browser (TCP)" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 1434 New-NetFirewallRule -DisplayName "SQL Browser (UDP)" -Direction Inbound -Action Allow -Protocol UDP -LocalPort 1434 # Allowing multicast broadcast response on UDP (Browser Service Enumerations OK) Set-NetFirewallProfile -AllowUnicastResponseToMulticast True |
Avec ce script, les installations de System Center devraient être plus faciles !
Article initialement publié sur blog.sogeti.ch
Hyper-V 2012: Ajouter des LUNs iSCSI sur plusieurs hosts avec la cmdlet Invoke-Command Hyper-V 2012: Activez le Jumbo-Frame
[…] Avant l’installation de SQL Server, prenez bien soin d’ajouter les règles dans le firewall, expliqué dans l’article ici. […]