MS SQL ServerにHeidiSQLでアクセス
リモートのWindows7PCでMS SQL Serverが動いている場合、なんどやっても接続できないことがあります。例えば、
「[DBNETLIB][Connectoin Open(Connect())] 指定されたSQL Serverが見つかりません
とか
QL エラー (17): [DBNETLIB][ConnectionOpen (Connect()).]SQL Server が存在しないか、アクセスが拒否されました。 SQL Server が存在しないか、アクセスが拒否されました。
みたいなエラーが一般的です。
で、つながるようにする手順としては、
- MS SQL Serverのサーバー側でTCP/IPでの接続を許可し、Server Browserを自動で動くようにする。
- サーバー側のファイアーウォールを開ける
- クライアント側では、ホスト名だけでなく、SQL Serverの文字列も必要
となります。
上記、1,2についてはこちらのリンクが役に立つ。
http://www.mcbsys.com/techblog/2012/12/connect-to-sql-server-2012-express-over-the-network/
以下、手順解説
[サーバーのリモート接続を許可する]
- サーバーにてSQL Server Management Studioを開き、ローカルのDBサーバーにアクセスする
- サーバーで右クリック→プロパティを開く→「接続」を選択
- 「このサーバーへのリモート接続を許可する」にチェックを入れる→OKを押す
[TCP/IPでの接続、およびRemote Browserを許可する]
- [構成ツール]-[SQL Server 構成マネージャー]を開く。
- 「SQL Serverのサービス」を選択→SQL Server Browser」を選択、自動で開始するように設定変更
- 「SQL Serverネットワークの構成」を選択→対象DBサーバーのプロトコルを選択→TCP/IPを有効にする
- 「SQL Serverのサービス」よりSQL Serverのサービスを再起動
[ファイアウォールの設定]
- コントロールパネルから「システムとセキュリティ」→「ファイアウォールの状態の確認」→「詳細設定」を選択
- 「受信の規則」を選択。以下の新しい規則を作成する
- 1)プログラム、パスはC:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\Binn\sqlservr.exe、接続許可、全てに適用、名前=MS SQL Server 2012
- 2)ポート、UDP 1434、接続許可、全てに適用、名前=MS SQL Server UDP1434
[クライアントでの接続設定]
- クライアントでは、ホスト名と書いてあるところに、HOST\DBSERVER という形で指定する。
- 接続には、Windows認証は使わない
たぶんこれでうまくいくんじゃないかな