• ベストアンサー

IPアドレスでアクセス制限

別サーバからデータベースサーバにアクセスさせるIPアドレスを限定したいのですが、 SQLServerでそのような設定箇所ってあるのでしょうか? ファイアーウォールでIPとポートを指定して、例外を所除する方法しか思いつきません。 対象サーバは、SQLServer2005WorkgroupEditionだったと思います。 宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.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 詳細はリンクをご覧ください。

参考URL:
http://technet.microsoft.com/ja-jp/library/ms189799(SQL.90).aspx
jobvba
質問者

お礼

回答ありがとうございます! >基本的にはファイアーウォールしかない そうでしたか・・・ ログオントリガを導入するか、検討してみたいと思います。

関連するQ&A