LOGO

sponsor.jpg

   ホーム      
 | 
  
   イベント      
 | 
  
   コラム      
 | 
  
   連載      
 | 
  
   フォーラム      
 | 
  
   VSUG      
 | 
  
   スタッフ日記      
 | 
  
   VSUG キャスト   
会員サービス
メンバー ログイン
新規会員登録はこちら
MENU
ホーム
イベント
VSUG アカデミー
VSUG Day
その他のイベント
コラム
連載
基本
LINQ
リッチクライアント
ASP.NET
フォーラム
初心者フォーラム
Visual Studio
.NET 開発
プラットフォーム運用
フリートーク・お知らせ
フォーラムの利用案内
VSUG
VSUGとは
フォーラムリーダー紹介
ガジェット
スタッフ日記
VSUG キャスト
第 1 回 近藤 和彦 氏
第 2 回 長沢 智治 氏
フォーラムグループ
初心者フォーラム
初心者なんでも相談室
Visual Studio
Visual Studio 2005
Visual Studio 旧環境
.NET 開発
Visual Basic
Visual C#
Visual C++/CLI その他
Web アプリケーション
リッチクライアント・UI コントロール
データベース・データアクセス
モバイル・スマートクライアント
.NET Framework
開発プロセス
マイグレーション・COM 相互運用
Office 開発・VSTO
Web ホスティングアプリケーション
ライティング・セキュアコード
プラットフォーム運用
運用管理
フリートーク・お知らせ
談話室
VSUGからのお知らせ
フォーラムの利用案内
インフォメーション
会員規約
会員登録
プライバシーポリシー
リンクポリシー
著作権について
スポンサーについて
お問い合わせ
オンライン状態
オンライン状況 オンライン状態:
未登録ユーザー 未登録ユーザー: 1484
登録ユーザー 登録ユーザー: 0
計 計: 1484

オンライン中のユーザー オンライン中のユーザー:

 
  VSUG フォーラム  .NET 開発  データベース・データアクセス  Windows認証で SQL Server EE に接続できません。
前へ 前へ
 
次へ 次へ
新しい投稿 2006/04/22 18:41
ユーザーはオフラインです。 エルバシャ
6件の投稿
ランキングデータがありません


Windows認証で SQL Server EE に接続できません。 
言語:VB / Ver:2005 / プラットフォーム:Windows XP

Windows XP Professional SP2
Visual Basic 2005 Express Edition
SQL Server 2005 Express Edition SP1

 会社のネットワーク環境で使用するパソコンです。VBとSQL Server はローカル環境のみの使用で問題ないのですが、その SQL Server のテーブルへは、他のパソコンからも

アクセスする必要があるので Windows認証のみで設定しました。
ローカル環境で、Management Studio Express から SQL Server 2005 の接続はWindows認証で問題ありません。システムDSNにODBC接続を設定して、それを使用してAccessから

テーブルを直接 SQL Server 2005 へエクスポートも実行できました。いよいよ Visual Basic から接続しようと思った所、何をやってもつながりません。

SQL Server 2005 Express Edition
1)自習書1の基本操作の通り、Management Studio Express でデータベースを作成してログインとデータベースのユーザーを作成しスキーマを設定して権限を与えた。
2)構成マネージャで TCP/IP を有効にした。
3)セキュリティ構成で、ローカル接続およびリモート接続の TCP/IP のみを使用するにチェックした。
4)SQL Server Browser サービスを開始した。
5)シングルユーザーモードかどうかエラーログを調べ、その記載が無いことを確認した。

Windows XP Professional SP2
1)ファイアウォールの例外に sqlservr.exe を設定した。
2)ドメイン名\ユーザ名の中から、ユーザ名のみの名前を作成し、ログイン時と同じパスワードを設定して権限を与えた。

など、いろいろやってみましたが、どうしてもつながりません。エラーメッセージも、いろいろやったことに反応して今の所4種類出ています。

1)ユーザーにはこの操作を実行する権限がありません
2)ユーザーインスタンスのプロセスを起動中のエラーにより SQL Server のユーザーインスタンスを生成できませんでした。接続は閉じられます。
3)ユーザーの既定データベースを開けません。ログインに失敗しました。ユーザー"(ドメイン名\ユーザー名)"はログインできませんでした。
4)物理ファイル"C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\データベース名.mdf"を開けません。オペレーティングシステムエラー32:"プロセスはファイル

にアクセスできません。別のプロセスが使用中です。)"。
ファイル C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\データベース名.mdf の自動的に名前が付けられたデータベースをアタッチできませんでした。同じ名

前のデータベースが既に存在するか、指定されたファイルを開けないか、UNC共有に配置されています。
 
 4)のエラー時も、ローカル環境なので独占状態です。他のパソコンからのログインなどは設定していないのでアクセスできない状態です。

 いろいろ調べてみたのですが、SQL Server 2000 で膨大な情報が出てくるので困り果てています。良い線まで行っていると自分では考えているのですが、どうすれば接続できるのでしょうか? どうぞよろしくお願いいたします。

 
新しい投稿 2006/04/23 14:50
ユーザーはオフラインです。 koguma
68件の投稿
koguma.cocolog-nifty.com/koguma/
ランキングデータがありません


RE: Windows認証で SQL Server EE に接続できません。 
Windows 認証ではプロセスが動作しているアカウントで接続します。
Visual Studio 2005 で、ファイルシステムのWebアプリケーションは
ログイン中のアカウントで接続してます。
このユーザに SQL Server に対するアクセス権がないため
このエラーが発生しています。

このあたりの考え方については、
「.NETエンタープライズWebアプリケーション開発技術大全
Vol.4 セキュアアプリケーション設計編」
に、詳しく書かれています。

Visual Studio 2005 や SQL 2005 の解説はまだ少ないでしょうけど、
基本的な考え方は同じとなります。

ただし、SQL 2005 Express はファイル名での DB アクセスが
可能です。こちらを使う場合は、SQL 2000 の場合と考え方が変わります。
詳しくは、AttachDBFileNameで調べてみてください。
 
新しい投稿 2006/04/24 9:54
ユーザーはオフラインです。 エルバシャ
6件の投稿
ランキングデータがありません


RE: Windows認証で SQL Server EE に接続できません。 
 koguma様ありがとうございます。さっそくお薦めの本を購入したいと思っています。AttachDBFileName の勉強もしたいのですが、まず、データベース エクスプローラのデータ接続で SQL Server に接続できるようにすることを優先したいと思っていますので、どうぞよろしくお願いいたします。
 SQL Server へのアクセス権の登録には Management Studio Express を利用しアカウントは検索して選ぶ方法で登録しました。検索する時にはドメインのディレクトリから自分を探して選択し、ドメイン名¥ユーザ名で登録されました。また、自分のパソコンにその名前からドメイン¥を取ったユーザー名を別に登録してそれにも必要な権限を与えています。それなのに接続できません。何か、考え方やり方が間違っているのでしょうか。ほんとうに困り果てています。どうぞよろしくお願いいたします。
 
新しい投稿 2006/04/24 10:46
ユーザーはオフラインです。 小野@どっとねっとふぁん
660件の投稿
dotnetfan.org
5位




RE: Windows認証で SQL Server EE に接続できません。 

あまりにいろいろ書かれていて状況が見えにくいので、整理させてください。

・現在利用しているマシンにVB Express Editionをインストールしている。
・同じマシンにSQL 2005 Express Editionをインストールしている。
・SQL 2005 Express Edition上にデータベースを作った。

この状態でVB Expressからデータベースにつながらない、ということですか?
VB Expressからはどのようにしてデータベースにつなごうとしていますか?


あおい情報システム株式会社
 小野修司(どっとねっとふぁん)
Microsoft MVP for ASP/ASP.NET (April 2009 - March 2010)
 
新しい投稿 2006/04/24 12:36
ユーザーはオフラインです。 エルバシャ
6件の投稿
ランキングデータがありません


RE: Windows認証で SQL Server EE に接続できません。 

申し訳ありません。状況を正確に書こうと冗長になってしまいました。

・現在利用しているマシンにVB Express Editionをインストールしている。
・同じマシンにSQL 2005 Express Editionをインストールしている。
・SQL 2005 Express Edition上にデータベースを作った。

 その通りです。VB Express からは[データベース エクスプローラ]→[接続の追加]で接続しようとしています。

 先ほど、別のマシンで最初からやってみました。Visual Basic 2005 Express Edition をCDイメージでダウンロードした物から作成したCDで全部インストールしました。デフォルトでSQL Server 2005 Express Edition もインストールされます。Management Studio Express だけは別にインストールして、SQL Server 2005 へのログイン名の登録はドメイン名¥ユーザ名で済ませ権限も与えました。
 このマシンでは問題なく接続できました。私のマシンと何が違うのか少し考えます。1つ気づいたのが、ドメイン名¥ユーザ名のユーザー名とパソコン名の関係です。問題なく接続できたマシンは、ドメイン名¥ユーザ名のユーザー名がパソコン名と一致していて、私のマシンは一致していません。Windows認証ではこの辺の所関係があるのでしょうか?

 
新しい投稿 2006/04/24 12:46
ユーザーはオフラインです。 小野@どっとねっとふぁん
660件の投稿
dotnetfan.org
5位




RE: Windows認証で SQL Server EE に接続できません。 
パソコン名とユーザ名の関係といったことはないはずですね。
ログインしているユーザがそのパソコンに対してもしAdministrator権限を持っているのなら、SQL Serverへのログイン名の登録といった作業も不要です。

#この環境がよいかどうかは別として。

まぁ、同じようにしてできるPCとできないPCがあるのであれば、おっしゃっているとおりにそのPC間で何が違うのかきちんと切り分けてみるのがよいと思います。

あおい情報システム株式会社
 小野修司(どっとねっとふぁん)
Microsoft MVP for ASP/ASP.NET (April 2009 - March 2010)
 
新しい投稿 2006/04/24 12:47
ユーザーはオフラインです。 MitsugiOGAWA
81件の投稿
blogs.sqlpassj.org/mitsugi/
ランキングデータがありません


RE: Windows認証で SQL Server EE に接続できません。 
EE と書くと Enterprise Edtion という解釈になるので SQL Server 2005 Express の場合は Express と表記してください。

さて、つながらないということは権限がない可能性があります。
デフォルトでは Administrators の場合は権限があります。
まず Windows にログインするアカウントに Administrators 権限を付与してみてください。

つぎに sqlcmd でつながるかどうかを確認してください。
コマンドプロンプトで

sqlcmd -E -S .\SQLEXPRESS

とすると接続できます。
また、接続するときは SQL Server Browser サービスを起動してください。
#たぶん、こっちだと思うけど。

おがわみつぎ
PASSJ 理事/Web テクノロジー分科会ボードリーダー
MVP for SQL Server
http://www.sqlpassj.org/
 
新しい投稿 2006/04/24 13:23
ユーザーはオフラインです。 エルバシャ
6件の投稿
ランキングデータがありません


RE: Windows認証で SQL Server EE に接続できません。 

小野様ありがとうございます。とりあえず私のマシンで一度全部アンインストールして、先ほど正常につながったマシンと同じ手順で再インストールしてみます。私のマシンでは、Visual Basic 2005 Express Edition をインストールする時は、SQL Server 2005 Express のインストールは外し、後から別にインストールしたので、今度は一緒にインストールしてみます。

小川様ありがとうございます。SQL Server 2005 EE の表記の件了解しました。Enterprise Edtion という物に触ったことが無かったのでまったく念頭にありませんでした。
さて、まず Windows にログインするアカウントは Administrators グループに入っています。SQL Server Browser サービスも開始してあります(先ほど正常に接続できたマシンでは開始していないので、これは今回の件には関係ないかもしれません)。
sqlcmd -E -S .¥SQLEXPRESS で接続できました。ついでに
SELECT net_transport FROM sys.dm_exec_connections WHERE session_id = @@SPID;
をGOしてみたら、shared memory と答えが返ってきました。もちろん構成マネージャで共有メモリはすべて有効にしてあります。

とりあえず、アンインストールして可能な限りクリーンな状態にしてから再インストールしてみます。

 
新しい投稿 2006/04/24 13:42
ユーザーはオフラインです。 MitsugiOGAWA
81件の投稿
blogs.sqlpassj.org/mitsugi/
ランキングデータがありません


RE: Windows認証で SQL Server EE に接続できません。 
sqlcmd で接続できているということは、SQL Server Management Studio Express で接続するときの設定がまずいのではと思います。
たとえば (local)\SQLEXPRESS としていたら、.\SQLEXPRESS などに変更してみてください。
また、明示的に %COMPUTERNAME%\SQLEXPRESS としてみてください。

あとは Firewall も疑ってください。
共有メモリの接続の場合は影響しませんが、名前付きパイプの場合などで影響を受ける場合があります。
ですので、一時的にでも Firewall を無効にしてみて試してください。

おがわみつぎ
PASSJ 理事/Web テクノロジー分科会ボードリーダー
MVP for SQL Server
http://www.sqlpassj.org/
 
新しい投稿 2006/04/24 14:36
ユーザーはオフラインです。 エルバシャ
6件の投稿
ランキングデータがありません


RE: Windows認証で SQL Server EE に接続できません。 

接続できました!
やった事といえば、アンインストールして再インストールしただけです。以前のインストールと違う動作は Visual Basic 2005 Express Edition のインストール時に一緒に SQL Server 2005 Express をインストールしたということだけなので、あまり納得できない解決ですがこれで先に進めます。どうもありがとうございました。

おがわ様、ありがとうございます。SQL Server Management Studio Express で接続するときは、参照を選んでローカルサーバで表示されるもの(パソコン名¥SQLEXPRESSしかありませんが…)を選んで接続する方法を取っていたので大丈夫だったかと思います。Firewall についても無効でトライした事もありますが、本当に何をやっても接続できませんでした。
SQL Server 2005 Express を後からインストールする場合と、Visual Basic 2005 Express Edition と一緒にインストールした場合とで違いは無いと思うのですが、私のマシンの場合は差が出てしまったことになります。私のスキルではこれ以上の原因を追究することはできませんが、これも1つの事例ということで、皆様の参考になれば幸いに思います。どうもありがとうございました。

 
新しい投稿 2006/04/25 0:04
ユーザーはオフラインです。 koguma
68件の投稿
koguma.cocolog-nifty.com/koguma/
ランキングデータがありません


RE: Windows認証で SQL Server EE に接続できません。 
書き込めないうちにうまくいっていたようですね。
ひとまずは、なによりです。

ただし、原因不明とのことで、作成したプログラムを複数のPCから
使うことになる場合には、同じようなことで悩むことになる可能性が
あります。

SQL Serverへの接続方法について整理・理解して置くことを
おすすめします。

SQL Serverへ接続するときには認証が必要となります。
この認証の方法はSQL Serverでは2種類あります。
・SQL Server認証
  SQL Server専用のアカウントを使用する。(saアカウントはこちらですね)
  Windowsのアカウントとは無関係となる。
  プログラム中にパスワードを保存する必要がある。
・Windows統合認証
  Windowsのアカウントを使用する。
  プログラム中にパスワードを保存する必要がない。
  別マシンのSQL Serverに接続する場合にはActive Directoryが必要となる。
  (ただし、同じユーザ名・パスワードのアカウントがある場合は例外)

こういった部分を押さえておくといいかと思います。
 
 1/3ページ123次へ 
前へ 前へ
 
次へ 次へ
  VSUG フォーラム  .NET 開発  データベース・データアクセス  Windows認証で SQL Server EE に接続できません。
ログイン | © 2005-2008 Visual Studio User Group. All rights reserved. 著作権について | プライバシーポリシー | リンクポリシー | お問合せ