• 締切済み

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じゃなくていいじゃん」ですとか、 「根本的に間違っている」というような指摘でもよいので 教えてください><

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VC++からSQL Server 2008への接続

    現在ODBCを使用してSQL Serverと接続しています。 ODBCだとそれを使用するマシン全てにODBCの設定をしないといけないため、ODBCの使用を避けようと思っております。 そこで、ODBC以外を使用して、マシンへの設定等も必要がない、SQL Serverと接続するものを探しております。 開発言語はVS2010のVC++です。 DBはSQL Server 2008です。 ADOとODBCであれば、providerに直接指定することで、ODBCの接続なしにSQLに接続できると耳にしたのですが、 やり方がわかりません(VBのページがやたら出てくる) いい接続方法はありますでしょうか? また、その構文例、参考ページがありましたらご教授頂けたらと思います。 よろしくお願い致します。

  • SQL ServerにWindowsパスワードを入れると接続出来なくなってしまう

    Windows2000ServerとSQLServer2000を使用しています。 端末の台数は20台未満と少ないのですが、今までは、データベースアクセス時に SQLServer認証で使用していました。 クライアントPC起動時に、今まではパスワードも無しだったのですが、 セキュリティ面を考えて、Windowsのパスワードをユーザーにつけることにしました。 ところが、パスワードをつけると、サーバーのデータ―ベースを開こうとすると 「接続出来ませんでした。 SQLState:'28000' SQL Server エラー:18452 〔Microsoft〕〔ODBC SQL Server〕〔SQL Server〕ユーザー'(null)'のログインに失敗しました。 理由:SQL Serverの信頼関係接続に関連付けられていません。」 となって、データ―ベースにアクセス出来なくなってしまいます。 名前付きパイプの信頼関係接続も有効になっているし、マルチプロトコルも無効になっています。 どうしたらデータ―ベース接続時にエラーが出ないように出来るでしょうか?

  • SQL Serverへのネットワーク接続

    SQL ServerにODBC接続するために、DSN登録しようとしているのですが、 うまくいきません。 ドライバはSQL Serverを選択し、 サーバ名「PC16\SQLEXPRESS」 「SQLServer用のログインIDとパスワードを使う」 でログインID,Passを入力した際、 「sa」だと次へ進めるのですが、他のユーザだと 「ユーザー'XXXX'はログインできませんでした」 というメッセージが出てしまいます。 DB側では、TCP/IPを有効にしてあり、FireWallの例外にも追加してあります。 解決方法ご存知の方、よろしくお願いします。

  • SQLサーバの設定について

    今まで使用していたAccessのデータをWindowsServer2003とSQLServer2000のサーバマシンにデータ(テーブル)のインポートをすることができました。 同じネットワーク上のWindowsXPProのPCからAccess2000で作ったMDBでこのサーバマシンのテーブルにリンクしODBC接続で接続して書き込み、削除などもできています。 ここまではいいのですが、4人程度が同時に接続して運用する場合、何かサーバ側の設定しておくべき点があったら教えていただけるとありがたいです。 現状SQLサーバで特別な設定をしているわけではないのでただ動いているだけです。 (セキュリティーやバックアップなど何もわかりません。) 以上、よろしくお願いします。

  • SQL接続ACCESSにPCからはODBCエラー

    サーバー上のSQLSERVERにODBC接続のACCESSにLAN上のPCから実行するとODBCエラー"名称"への接続が失敗しました。 元々サーバー上(administrator/password)の共有フォルダにあったACCESSですが、複数人数で使用したくて、アップサイジングでSQLSERVERにテーブルを移しましたが、各々PCからサーバーに入り実行するとエラーになります。(サーバーで実行するとエラーになりません) ODBCはサーバー上でのみ設定ではダメ?(PC上に必要?) サーバー上にPCのアカウントが必要? SQLSERVERでのログインユーザーが必要?(権限等?) SQLSERVER2008R2EXPRESSを使用 PCはWindows7 ドメインではなくワークグループ環境

  • SQLサーバーに接続できなくなりました。

    いつもお世話になります。 今日突然SQLサーバのデータが見れなくなってしまいました。 環境は以下のとおりです。 1、サーバーにSQLServer7.0が入っている。(OS:WindowsNT) 2、私のPC(OS:Windows2000Sever)にSQLServer2000が入っており、 そのEnterprise Manegerからサーバーのデータを見ていた。 状況は以下のとおりです。 1、今日別の件でネットワーク(TCP/IP)の設定を変えました。 タイミング的にはそれから急に見れなくなった感じです。 2、でも、インターネットも出来るし、 サーバーにある共有フォルダ内ファイルを エクスプローラーで見ることは出来るし、 なんかそれは関係ない気がします。 3、Enterprise Manegerだけでなく、 ODBCでの接続も出来ません。 とりあえずAccessでリンク張ってデータを見ようかなと思い、 ODBCを作ろうとしましたが接続できませんでした。 4、エラー内容はODBCもエンタープライズマネージャも「時間切れ」でした。 なにか情報をお持ちの方はアドバイスお願いします。

  • SQL Server 2005 ログオンアカウント変更後、エージェント開始できない

    SQL Serverのログオンアカウントを変更すると、SQL Server Agentが開始できなくなってしまいます。 OS:windows 2003 server DB:SQL Server 2005 (1)サービスから、SQL Serverのログオンアカウントを「ローカルシステムアカウント」からWINDOWSの「ユーザーアカウント」に変更。  「ユーザーアカウント」はAdministratorsグループのユーザー。  このユーザーはSQL ServerのWindows認証に設定済み。 (2)SQL Serverを停止。同時にSQL Server Agentも停止される。 (3)SQL Server開始。正常に開始。 (4)SQL Server Agent開始。数秒したら停止。  イベントログのエラーの内容:  SQLServerAgent could not be started (reason: SQLServerAgent は SysAdmin として SQLServer に接続できる必要がありますが、'(不明)' は SysAdmin ロールのメンバではありません). (5)SQL Server AgentのログオンアカウントをSQL Serverのログオンと同じ「ユーザーアカウント」に変更。 (6)SQL Server Management Studio→セキュリティ→ログイン→「ユーザーアカウント」→プロパティ→サーバーロールより「sysadmin」にチェックをする。 (7)SQL Serverを停止。 (8)SQL Server開始。正常に開始。 (9)SQL Server Agent開始。数秒したら停止。(4)と同様のエラーが発生。 (10)マシン再起動を実行。同様に(4)のエラーが発生。 SQL Serverのログオンアカウントを変更すると、SQL Server Agentにどのユーザーアカウントを設定しても開始できなくなってしまいます。 何か設定に不備があるのでしょうか? 設定の変更箇所、変更方法が知っている方教えてください。

  • SQLサーバー接続について

    DB初心者です。 ODBCからSQLサーバーへのアクセスを設定したく、奮闘しておりますが うまくいかず困っております。 先方から支給されたのは、 DB名、ID、パスワード、ホスト名、ポート番号、MySQLのバージョン5.0.90で、 その通り設定したつもりが、以下のようなエラーが出てソース作成できません。 --- 接続できませんでした。: SQLState: '01000' SQL Server エラー: 11001 [Microsoft][ODBC SQL Server Driver][TCP/IP Sockets]ConnectionOpen(Connect()). 接続できませんでした。: SQLState: '08001' SQL Server エラー: 6 [Microsoft][ODBC SQL Server Driver][TCP/IPSockets]指定された SQL Server が見つかりません。 --- エラー番号で検索してみても原因がわからず・・・ 詳しい方いらっしゃいましたらお願いいたしますm(__)m

  • SQL Server に繋がらない

    SQL Server 2008 へリモート接続できません。環境は下記の通りです。 SQL Server 2008 Work Group Visual Studio 2008 Developer Windows-7 コンピューター名 Y-05 フルコンピューター名 Y-05 ワークグループ    Y-PLAN ユーザーアカウント  東京 太郎 サーバーは、リモート接続可にチェックしてあります。また、ファイヤウオールの例外として TCP/IP ポート1433の設定はしてあります。また、Windows認証とSQL 認証の設定もしてあります。 Windows認証のためのログインIDをSQL Server Management Studioのセキュリティから設定しようとすると、下記の表示がでて設定できません。 Transact – SQLステートメントまたはバッチの実行中に例外が発生しました。 東京 太郎 は有効なWindows NT名ではありません。完全な名前 <domein\username> を指定してください。 Microsoft SQL Server エラー 15407 ログインIDを Y-05\東京 太郎 としても結果は同じです。ご指導のほどよろしくお願いします。

  • ODBCによるSQL serverへの接続方法を教えてください。

    PHPでSQL ServerへのODBC接続をしたいのですが、SQL Serverの場合の例がみつけられません。以下の~部分を教えてください。 try{ $db=new PDO("~"); $db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); print('データベースへの接続を確立しました。'); }catch(PDOException $e){ die("エラーメッセージ:".$e->getMessage()); } ※SQL ServerへはWindows認証で接続しています。 PHP使用環境  OS:Windows2000 pro  PHP:5.1.6  ODBC:登録済み(Windows認証、登録時の接続テスト正常終了)  ※SQL Serverはリモートサーバ。

    • 締切済み
    • PHP
このQ&Aのポイント
  • LIFEBOOK UH75/B3(FMVU7B3WDA)を使用しています。OSもデバイスのドライバも最新の状態です。
  • ノートパソコンを一度開いて電源ボタンを押下しなければ復帰しません。非常に非効率的な状態で、これを何とか解消しようとしているのですが、改善されず困っています。
  • ノートPC本体を開いて電源ボタンを押下することなく、外付けキーボードの任意のキーを押下したりマウスの操作等で、スリープの解除ができるようにしたいのですが、行き詰っています。
回答を見る