SQL Server 2012 Expressを使用して、Windows Server 2008R2で実行するようにサーバーアプリケーションを構成しようとしています。サーバーファイアウォールを完全にオフにすると、アプリケーションはサーバーと正常に通信できますが、ファイアウォールをオンにして通常のSQL Serverポートを有効にすると、通信は失敗します。
これをワークグループネットワークで機能させるためのファイアウォールに関する特別なトリックはありますか?アプリケーションサポート担当者は、ドメインベースのネットワークでの作業に慣れており、ファイアウォールが通常のポートを開いた状態で機能していないことに驚いています。
ありがとうございました、
更新:
サーバー上の必要なポートを開くために、次のバッチファイルが提供されました。これを試して、ファイアウォールの例外リストに対応するすべてのSQLエントリを確認しましたが、それでも機能しませんでした(そして、サーバーの再起動を試みました)。
@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
SQL Serverのドキュメントには、SQLServer用のWindowsファイアウォールの構成に関する非常に優れた章があります。 「動的ポート」セクションに特に注意してください。 SQL Serverアクセスを許可するようにWindowsファイアウォールを構成する
インスタンスに1433をリッスンし、SQLDBインスタンスに動的ポートを使用するブローカーがあると仮定します。この場合、動的ポートを無効にするか、Windows Advanced Firewallを使用して、特定のポートの代わりにsqlservr.exeへのアクセスを許可することができます(ドキュメントによる)。