MS SQL ServerにHeidiSQLでアクセス

リモートのWindows7PCでMS SQL Serverが動いている場合、なんどやっても接続できないことがあります。例えば、

「[DBNETLIB][Connectoin Open(Connect())] 指定されたSQL Serverが見つかりません

とか

QL エラー  (17): [DBNETLIB][ConnectionOpen (Connect()).]SQL Server が存在しないか、アクセスが拒否されました。
SQL Server が存在しないか、アクセスが拒否されました。

みたいなエラーが一般的です。

で、つながるようにする手順としては、

  1. MS SQL Serverのサーバー側でTCP/IPでの接続を許可し、Server Browserを自動で動くようにする。
  2. サーバー側のファイアーウォールを開ける
  3. クライアント側では、ホスト名だけでなく、SQL Serverの文字列も必要

となります。

上記、1,2についてはこちらのリンクが役に立つ。
http://www.mcbsys.com/techblog/2012/12/connect-to-sql-server-2012-express-over-the-network/


以下、手順解説


[サーバーのリモート接続を許可する]

  1. サーバーにてSQL Server Management Studioを開き、ローカルのDBサーバーにアクセスする
  2. サーバーで右クリック→プロパティを開く→「接続」を選択
  3. 「このサーバーへのリモート接続を許可する」にチェックを入れる→OKを押す


[TCP/IPでの接続、およびRemote Browserを許可する]

  1. [構成ツール]-[SQL Server 構成マネージャー]を開く。
  2. SQL Serverのサービス」を選択→SQL Server Browser」を選択、自動で開始するように設定変更
  3. SQL Serverネットワークの構成」を選択→対象DBサーバーのプロトコルを選択→TCP/IPを有効にする
  4. SQL Serverのサービス」よりSQL Serverのサービスを再起動


[ファイアウォールの設定]

  1. コントロールパネルから「システムとセキュリティ」→「ファイアウォールの状態の確認」→「詳細設定」を選択
  2. 「受信の規則」を選択。以下の新しい規則を作成する
  3. 1)プログラム、パスはC:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\Binn\sqlservr.exe、接続許可、全てに適用、名前=MS SQL Server 2012
  4. 2)ポート、UDP 1434、接続許可、全てに適用、名前=MS SQL Server UDP1434


[クライアントでの接続設定]

  1. クライアントでは、ホスト名と書いてあるところに、HOST\DBSERVER という形で指定する。
  2. 接続には、Windows認証は使わない


たぶんこれでうまくいくんじゃないかな