• 締切済み

SQLサーバーへの接続について

SQL server 2005(OS:Windows7)へ、WindowsXPのマシンからリモート接続しようと思い、 ODBCにて接続の設定を行いたいのですが、接続できない状態です。 Windows7側で、XPの端末のユーザー情報を登録することで接続が出来ると思い、 色々なサイトを見てみたんですが、よく分からず・・・ Windows7側ではどのような設定が必要なのでしょうか? (アカウントの追加? それともSQLserverで何か設定が必要?) 教えてください><

みんなの回答

  • 3rd_001
  • ベストアンサー率66% (115/174)
回答No.2

>「ユーザが入力するSQLServer用のログインIDとパスワードを使う」 >という項目が選択出来るのですが、どちらを選択し、ログインIDとパスワードは >何を設定すればよいのかが分かりません。 おそらくManagement Studioで作業してますよね? で、あれば、まずはManagement Studioで指定している方式とユーザで試してみてください。 ※おそらくsaでログインしていると思います。 ただしsaでログインするのは権限が大きすぎるのであれば、 このODBCで使用する用途にあったユーザを作成してください。 Management Studioの「セキュリティ - ログイン」から「新しいログイン」で 作成できます。 セキュリティに関わるので適切な権限を割り当てましょう。

ya-cha
質問者

お礼

ご回答ありがとうございます。 >※おそらくsaでログインしていると思います。 との事ですが、これはManagement Studioにログインしている、ということでしょうか? Management Studioには、Windows認証でログインしています。 SQLServer認証で「sa」でログインしようとすると、エラーが出ます。 「サーバーとの接続を正常に確立しましたが、ログイン中にエラーが発生しました。 パイプの他端にプロセスがありません」 このエラーを回避するために、構成ツールのセキュリティ構成で、リモート接続を 「TCP/IPおよび名前付きパイプを使用する」に変更しようとすると、 ここでもエラーが発生してしまいます。 「Alterに失敗しました  追加情報:Serverprotcol'Tcp'のSetEnableに失敗しました。  アクセスは拒否されました」 八方ふさがりな状態です・・・ そもそもWindows7にSQLServer2005を導入するのがダメって事はないですよね?

  • sinesewo
  • ベストアンサー率66% (2/3)
回答No.1

SQL Server 2005 Express または SQL Server 2005 Developer Edition でリモート接続を有効にする リモート コンピュータから接続する SQL Server 2005 の各インスタンスでリモート接続を有効にする必要があります。これを行うには、次の手順を実行します。 [スタート] ボタンをクリックし、[プログラム]、[Microsoft SQL Server 2005]、[構成ツール] を順にポイントして、[SQL Server セキュリティ構成] をクリックします。 [SQL Server 2005 セキュリティ構成] ページで、[サービスと接続のセキュリティ構成] をクリックします。 [サービスと接続のセキュリティ構成] ページで、[Database Engine] を展開し、[リモート接続] をクリックします。[ローカル接続およびリモート接続] をクリックし、その環境で有効にするプロトコルをクリックして、[適用] をクリックします。 注 : 次のメッセージが表示されたら [OK] をクリックします。 接続設定の変更は、データベース エンジン サービスを再開するまで有効になりません。 [サービスと接続のセキュリティ構成] ページで、[データベース エンジン] を展開し、[サービス] をクリックします。[停止] をクリックし、MSSQLSERVER サービスが停止するまで待機してから、[開始] をクリックして MSSQLSERVER サービスを再開します。 先頭へ戻る SQL Server Browser サービスを有効にする SQL Server 2005 の実行にインスタンス名を使用しており、接続文字列で特定の TCP/IP ポート番号を使用していない場合は、SQL Server Browser サービスを有効にしてリモート接続が許可されるようにする必要があります。たとえば、SQL Server 2005 Express はデフォルトのインスタンス名 Computer Name\SQLEXPRESS でインストールされます。SQL Server 2005 のインスタンスをいくつ実行している場合でも、SQL Server Browser サービスを有効にする必要があるのは一度だけです。SQL Server Browser サービスを有効にするには、次の手順を実行します。 重要 : 以下の手順を実行すると、セキュリティ リスクが高まるおそれがあります。また、悪意のあるユーザーやウイルスなど悪質なソフトウェアによる攻撃をコンピュータまたはネットワークが受けやすくなる場合もあります。この資料の手順は、プログラムの設計どおりの動作を可能にする場合、または特定のプログラム機能を実装する場合にお勧めします。これらの変更を行う前に、記載された回避策を現在の環境に適用した場合の危険性を評価することをお勧めします。この手順の使用を選択した場合は、記載されている手順以外にも、システムを保護するための適切な手順を実行してください。この手順はどうしても必要な場合にのみ実行することをお勧めします。 [スタート] ボタンをクリックし、[プログラム]、[Microsoft SQL Server 2005]、[構成ツール] を順にポイントして、[SQL Server セキュリティ構成] をクリックします。 [SQL Server 2005 セキュリティ構成] ページで、[サービスと接続のセキュリティ構成] をクリックします。 [サービスと接続のセキュリティ構成] ページで、[SQL Server Browser] をクリックし、[スタートアップの種類] ボックスの一覧の [自動] をクリックして、[適用] をクリックします。 注 : [自動] をクリックした場合は、Microsoft Windows を起動するたびに SQL Server Browser サービスが自動的に開始されます。 [開始] をクリックし、[OK] をクリックします。 注 : コンピュータで SQL Server Browser サービスを実行すると、そのコンピュータで実行されている SQL Server の各インスタンスのインスタンス名と接続情報が表示されます。この危険性は、SQL Server Browser サービスを有効にせずに、割り当てた TCP ポートを使用して SQL Server のインスタンスに直接接続することで低減できます。TCP ポートを使用して SQL Server のインスタンスに直接接続する作業は、この資料の範囲外です。SQL Server Browser サービスおよび SQL Server のインスタンスへの接続については、SQL Server Books Online の次のトピックを参照してください。 SQL Server Browser サービス SQL Server データベース エンジンへの接続 クライアント ネットワーク構成 先頭へ戻る Windows ファイアウォールで例外を作成する 以下の手順は、Windows XP Service Pack 2 (SP2) および Windows Server 2003 に含まれているバージョンの Windows ファイアウォールに適用されます。別のファイアウォール システムを使用している場合、詳細についてはファイアウォールのマニュアルを参照してください。 SQL Server 2005 を実行しているコンピュータ上でファイアウォールを実行している場合、SQL Server 2005 と SQL Server Browser サービスがファイアウォールを介して通信できない限り、SQL Server 2005 への外部からの接続はブロックされます。リモート接続を受け付ける SQL Server 2005 の各インスタンスに対する例外と SQL Server Browser サービスに対する例外を作成する必要があります。 SQL Server 2005 では、プログラム ファイルをインストールする際にパスの一部としてインスタンス ID が使用されます。SQL Server の各インスタンスに対する例外を作成するには、正しいインスタンス ID を特定する必要があります。インスタンス ID を取得するには、次の手順を実行します。 [スタート] ボタンをクリックし、[プログラム]、[Microsoft SQL Server 2005]、[構成ツール] を順にポイントして、[SQL Server Configuration Manager] をクリックします。 SQL Server Configuration Manager で、右側のペインの SQL Server Browser サービスをクリックし、メイン ウィンドウでインスタンス名を右クリックして、[プロパティ] をクリックします。 [SQL Server Browser のプロパティ] ページで、[詳細設定] タブをクリックし、プロパティ一覧でインスタンス ID を確認して、[OK] をクリックします。 Windows ファイアウォールを開くには、[スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。firewall.cpl と入力し、[OK] をクリックします。 Windows ファイアウォールで SQL Server 2005 に対する例外を作成する Windows ファイアウォールで SQL Server 2005 に対する例外を作成するには、次の手順を実行します。 Windows ファイアウォールで、[例外] タブをクリックし、[プログラムの追加] をクリックします。 [プログラムの追加] ウィンドウで、[参照] をクリックします。 実行可能プログラム C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe をクリックし、[開く] をクリックして、[OK] をクリックします。 注 : SQL Server 2005 をインストールした場所によっては、パスが異なる場合があります。MSSQL.1 には、前の説明の手順 3. で取得したインスタンス ID が入ります。 例外が必要な SQL Server 2005 のインスタンスごとに手順 1. ~ 3. を繰り返します。 Windows ファイアウォールで SQL Server Browser サービスに対する例外を作成する Windows ファイアウォールで SQL Server Browser サービスに対する例外を作成するには、次の手順を実行します。 参考になれば幸いです。

ya-cha
質問者

お礼

ご回答ありがとうございます。 SQLServerが入っている端末側では、SQLServer、Browserの例外の作成は出来ております。 SQLServerにDBを作成し、テーブルにも仮のデータを作成しております。 その後、例外の作成も行ったのですが、クライアント(WinXP)側からサーバ(Win7)のデータベースのデータを参照してみようと思い、ODBCの設定をしようと思ったのですが、 SQLServerに接続するための新規データソースを作成するウィザードの 「SQLServerが、ログインIDの権限の確認を行う方法は?」 という箇所で、 「ネットワークIDで、WindowsNTの認証メカニズムを使う」というものと、 「ユーザが入力するSQLServer用のログインIDとパスワードを使う」 という項目が選択出来るのですが、どちらを選択し、ログインIDとパスワードは 何を設定すればよいのかが分かりません。 ※ここのODBCの設定については・・・ http://www.venus.dti.ne.jp/~yoshi-o/RDB/ODBC-connection.html#SQLServer%202000 を参考にしたのですが、よく分かりませんでした。 (項目5の箇所になります) 「そもそもODBCじゃなくていいじゃん」ですとか、 「根本的に間違っている」というような指摘でもよいので 教えてください><