DBの新規作成について

タグの編集
投稿者 元コボラー  (社会人) 投稿日時 2008/11/9 02:35:21
VBS2008 でサーバーエクスプローラーで新規作成したのですが
エラーで作成できません
リモート操作の許可をしないと駄目らしいですが
よく分かりません
サーバー名ってコンピューター名でよいのでしょうか?
投稿者   (社会人) 投稿日時 2008/11/9 05:37:10
サーバーエクスプローラで何を新規作成したのでしょうか?
そして具体的に、どういうエラーが出たのでしょうか?
そして、どのような調査から「リモートの操作の許可をしないと駄目」という考えにたどり着いたのですか?

> サーバー名ってコンピューター名でよいのでしょうか?
駄目でしたか??
大丈夫だと思うのですが。

SQL ServerのExpress Editionあたりを使ってて外部からの接続を有効にしてなくて起きている問題でしたら、こちらの方がやられてる方法で大丈夫だと思います。違っていたら申し訳ないです。
http://se-suganuma.blogspot.com/2008/06/sql-server-2005-express.html
投稿者 元コボラー  (社会人) 投稿日時 2008/11/9 06:20:55
サーバーへの接続を確立しているときにエラーが発生しました
SQL Sever2005に接続しているときにこのエラーが発生した場合は
SQL Severの既定がリモート接続を許可してないようになってることが
エラーの原因である可能性があります
provider 名前付きパイププロバイダ error 40  SQL Sever への接続を開けませんでした

何をしたらよいのか?
投稿者 るきお  (社会人) 投稿日時 2008/11/9 07:03:12
SQL Serverが起動していない可能性はないですか?
またはSQL Serverの設定をなにかいじった記憶はありますか?

それから、何をするとエラーになるのでしょうか?
ソリューションエクスプローラで何かをクリックするとエラーになるのですか?
それとも、プログラムを実行するとエラーになるのですか?

>サーバー名ってコンピューター名でよいのでしょうか?
はい。通常はOKです。
ただし、1台のパソコンで複数のSQL Serverを起動している場合(または、本当は1つしか起動していなくても特別にそのような設定にしている場合)にはコンピュータ名にSQL Serverのインスタンス名というものをつけて指定する必要があります。
その場合はコンピュータ名\インスタンス名という形で指定します。
(\は半角の¥です。)
でも普通はコンピューター名だけでいいはずなのでこのことを調べるのはかなり後回しでいいと思います。
投稿者 元コボラー  (社会人) 投稿日時 2008/11/9 07:15:00
>何をするとエラーになるのでしょうか?
VBS2008のサーバーエクスプローラーで
新しいSQL Serverデーターベース作成で

サーバーへの接続を確立しているときにエラーが発生しました
SQL Sever2005に接続しているときにこのエラーが発生した場合は
SQL Severの既定がリモート接続を許可してないようになってることが
エラーの原因である可能性があります
provider 名前付きパイププロバイダ error 40  SQL Sever への接続を開けませんでした

↑のメッセージが出るんです
投稿者 るきお  (社会人) 投稿日時 2008/11/9 10:41:09
やはりSQL Serverが起動していないというところを疑いたいです。
この点は確認しましたか?

SQL Serverが起動したいないといくらソリューションエクスプローラで操作してもエラーになります。
投稿者 るきお  (社会人) 投稿日時 2008/11/9 11:02:35
前の投稿で「サーバーエクスプローラ」と書くべき所を「ソリューションエクスプローラ」と書いてしまいました。訂正します。

念のためSQL Serverが起動しているか確認する方法も書いておきます。
といっても接続先PCのSQL Server 構成マネージャで確認するだけです。

SQL Server(MSSQLSERVER)の「状態」が「実行中」になっていればOKです。

VB側からは以下のように設定します。


対象のSQL ServerがVBと同じPC上にある場合はこの画像のようにサーバーは(local)と記述できます。
.という記述も同じ意味です。
それから、SQL Serverの操作権限のないユーザーを指定したりするとやはりエラーになるのでこの点も確認が必要かもしれません。SQL Server 認証を使用する場合はさらにパスワードを間違って入力した場合もNGです。
投稿者   (社会人) 投稿日時 2008/11/9 19:13:00
私の示したことは試して頂けたのでしょうか?
SQL Server 2005 Express Editionとかなら、それをしないと繋げなかったはずです。
投稿者 元コボラー  (社会人) 投稿日時 2008/11/9 23:28:36
桜様 だめでした

るきお様
環境マネージャーの画面が少し違いますね 私のと
>SQL Server(MSSQLSERVER)の「状態」が「実行中」になっていればOKです。
私のは
SQL Server(SQLEXPRESS)の「状態」が「実行中」になってます
VBS2008のスタンダードでは出来ないのですかね?
投稿者 るきお  (社会人) 投稿日時 2008/11/10 00:09:20
そしたら、桜さんからの情報提供も合わせて含めて
状況を整理しましょう。

いままでちゃんとした環境情報をいただいていませんでしたが、
よくありそうな環境を想定して答えていました。
この点をはっきりさせましょう。

既にでてきた情報も含まれているかもしれませんが以下の情報をまとめて提供してください。
1.サーバーエクスプローラで何を新規作成したのでしょうか?←桜さんのヒアリング項目の中で未回答かつとても重要なポイント
2.使用しているVBのバージョンとエディション、およびサービスパック。
3.接続しようとしているSQL Serverのバージョンとエディション
4.VBを操作しているパソコンとSQL Serverがあるパソコンは同じパソコンか違うパソコンか
5.SQL ServerがあるパソコンではSQL Serverのインスタンスを複数起動しているか
6.データベースの作成のときに指定しているサーバー名は(local)か、PCの名前か
7.データベースの作成のときに指定している認証方式はWindows認証かSQL Server認証か。

全部情報をそろえるのは大変かもしれませんので、
答えられない項目は、とりあえず答えられない理由を書いていただければよいです。

>VBS2008のスタンダードでは出来ないのですかね? 
正直覚えていませんが、新規作成というメニューがでてくるからにはできるのではないですか?
しかし、何を新規作成しようとしているのかまだお答えいただいていません。

最後に、環境さえ整っていれば特に難しい操作じゃないです。環境が整っていないか、ちょっとした勘違いかのどちらかだと思っています。
投稿者 元コボラー  (社会人) 投稿日時 2008/11/10 00:26:10
るきお様 へ


1.サーバーエクスプローラで何を新規作成したのでしょうか?←桜さんのヒアリング項目の中で未回答かつとても重要なポイント

VBS2008のサーバーエクスプローラーで
新しいSQL Serverデーターベース作成で

2.使用しているVBのバージョンとエディション、およびサービスパック。

MS VBS2008 standard edition Ver9.0.211022.8 RTM

3.接続しようとしているSQL Serverのバージョンとエディション

構成マネージャーでは次のように表示されます
SQL Server(SQLEXPRESS)の「状態」が「実行中」になってます

4.VBを操作しているパソコンとSQL Serverがあるパソコンは同じパソコンか違うパソコンか

同じ

5.SQL ServerがあるパソコンではSQL Serverのインスタンスを複数起動しているか

いいえ

6.データベースの作成のときに指定しているサーバー名は(local)か、PCの名前か

どちらも試しましたが駄目でした

7.データベースの作成のときに指定している認証方式はWindows認証かSQL Server認証か。

どちらも試しましたが駄目でした

投稿者 るきお  (社会人) 投稿日時 2008/11/10 02:10:36
SQL ServerのエディションがExpressの場合、既定でインスタンス名がつくことを忘れていました。
サーバー名に「.\sqlexpress」と入力するとできませんか?
※ \ は半角の¥です。
多分これでいけるのでは。

あと、いただいた条件から可能性がなさそうなものを除外すると
VS2008のサービスパックがあたっていないとSQL Server 2008には接続できないということもあります。

認証がらみも指定が間違っている可能性も皆無ではありません。サーバー名を上記にしてだめなら
次はこの2点を確認しましょう。
ちなみに通常はWindows認証を指定します。
投稿者 元コボラー  (社会人) 投稿日時 2008/11/10 03:12:04
るきお 様
ありがとうございます
サーバー名に「.¥sqlexpress」と入力したら新規作成できました

.¥sqlexpress は何の意味ですか?
投稿者 元コボラー  (社会人) 投稿日時 2008/11/10 03:43:57
こんどはデーターベースダイアグラムの作成が上手くいかないです
ユーザー名に関する情報を取得できませんでしたと・・
??
投稿者   (社会人) 投稿日時 2008/11/10 07:09:35
SQLEXPRESSは、SQL ServerのExpress Editionにつけられる名前です。
変える方法は…あるのかな?よくわからないので、自分は普段そのまま使っています。

データベースダイアグラムですが
・Visual Studio 2008 Std SP1
・SQL Server 2008 Express Edition
・Windows Vista Business SP1
の環境下で作成することが出来ました。

大体の手順
1.サーバーエクスプローラでSQL Server 2008への接続を展開する
2.データベースダイアグラムで右クリックから新しいダイアグラムの追加を選択
  (初回だけ何かダイアログが出たけど、どんなのだったか覚えてません…)
3.ダイアグラムに含めるテーブルを選択して追加ボタンを押してダイアログを閉じる

因みに発生したエラーのメッセージは一字一句間違いなく
「ユーザー名に関する情報を取得できませんでした」
でしょうか?
Googleで上記メッセージで検索したところ、このエラーメッセージに悩まされてるという人を
見つけることが出来ませんでした。
もし、違うメッセージが出ているのでしたら正確に教えてください。
投稿者 元コボラー  (社会人) 投稿日時 2008/11/10 10:10:14
私の環境はVisual Studio 2008 Std なんですけど
構成ツールにはSQL Server 2005になってるのは
どうしてなんでしょ
投稿者   (社会人) 投稿日時 2008/11/10 15:38:07
Visual Studio 2008が出た辞典では、SQL Server 2008は出てなかったので普通にインストールするとSQL Server 2005です。
投稿者 neptune  (社会人) 投稿日時 2008/11/11 07:03:13
こんにちは
私はVisual Studio 2008 EE SP1ですけど、
Microsoft SQL Server 2008 Express with Advanced Service
と、SQL Server 2008 OnLine Bookをインストールしてます。
最初からのSQL Server 2008では「SQL Server Management Studio」が
付属してないみたいだからです。

「SQL Server Management Studio」
は非常に便利で、全ての操作ができます。クエリビルダーも付いているし。
判らないところはOnLine Bookで調べられるし。

今、これを使って、DB作成中です。SQLで苦戦してますけど。

こちらも試してみては如何?SQL Server2005にも同様なものはあります。
投稿者 るきお  (社会人) 投稿日時 2008/11/11 07:16:03
こんにちは。
書きそびれましたが、プロジェクトの中でSQL Server Expressのデータベースを利用する場合は、
サーバーエクスプローラではなく、ソリューションエクスプローラを使って作成するのが一般的です。

プロジェクトに項目を追加するときに選択できる項目の中にフォームやクラスとまざって
データベースがあります。拡張子がmdfのデータベースはSQL Server Expressのデータベースです。
この方法で作成すると自動的にサーバーエクスプローラにも追加されます。