- ベストアンサー
IPアドレスでアクセス制限
別サーバからデータベースサーバにアクセスさせるIPアドレスを限定したいのですが、 SQLServerでそのような設定箇所ってあるのでしょうか? ファイアーウォールでIPとポートを指定して、例外を所除する方法しか思いつきません。 対象サーバは、SQLServer2005WorkgroupEditionだったと思います。 宜しくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
基本的にはファイアーウォールしかないのですが、どうしてもというならば、SQL Server 2005以降であれば ログオントリガを使う手はあります。DDLトリガをログオンに対してサーバレベルで設定し、IPを調べて接続を許可するかどうかチェックします。 簡単なサンプルは以下の通り。 CREATE TRIGGER [DENY_IP] ON ALL SERVER WITH EXECUTE AS 'sa' FOR LOGON AS BEGIN DECLARE @IP nvarchar(20) SELECT @IP=EVENTDATA().value('(/EVENT_INSTANCE/ClientHost)[1]','nvarchar(20)') IF ISNUMERIC(REPLACE(@IP,'.',''))=1 AND @IP<>'xxx.xxx.xxx.xxx' ROLLBACK END 詳細はリンクをご覧ください。
お礼
回答ありがとうございます! >基本的にはファイアーウォールしかない そうでしたか・・・ ログオントリガを導入するか、検討してみたいと思います。