web-dev-qa-db-ja.com

Visual Studioで作成したデータベースにアクセスできませんか?

私はデータベースを作成しましたemailDatabase、その保存場所

C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA

Visual Studioでは、Server Explorerを使用して、[新しい接続の追加]ボタンをクリックします。

[接続の追加]ダイアログボックスが表示されます。

サーバー名の下で、ドロップダウンボックスを使用して、DEV-5\SQLEXPRESSを選択します。 Windows認証を使用しています。

下部のConnect toセクションに、ドロップダウンにMaster, Model, msdbtempdbが表示され、私のemailDatabaseは表示されません。

だから私はAttach Database Fileを選択し、参照をクリックしてフォローします

local C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA

そして私の電子メールデータベースを選択します。

次のエラーが発生します。

emailDatabase
このファイルを開く権限がありません。
ファイルの所有者または管理者に連絡して許可を取得してください。

私の問題は、データベースを間違って保存したことだと思います。バックアップなどを作成する必要があります。その場合は、バックアップの作り方などを教えてください。私は本当にこの問題から前進する必要があります。

データベースを作成するときに、SQL Server Management Studioでデータベースを右クリックし、新しいデータベースと言った後、クエリを使用して列を追加しました。次に、すべてをファイル保存します。

Visual Studioで使用するために必要なすべてのアクセス許可を含むデータベースファイルのコピーを取得するにはどうすればよいですか?

10
Pomster

データベースを作成するときサーバー上で(SQL Server Management Studioを使用して)データベースファイルをいじる必要はありません(そしてそうすべきではありません!)-サーバーに処理させますあなたのために。

代わりに、Visual Studioで接続の追加を実行してから、接続ダイアログでサーバーインスタンス(DEV-5\SQLEXPRESS)とデータベース名(emailDatabase)を指定します。

これにより、SQL Serverインスタンス自体で、意図したとおりにSQLServerデータベースに接続して使用することになります。これは、「フリーフローティング」の.mdfファイルに苦労して、それらをソリューションなどに添付するよりもはるかに簡単で、面倒でもありません。

enter image description here

したがって、ここで-[サーバー名]ドロップダウンにDEV-5\SQLEXPRESSを入力し、[データベース名を選択または入力]オプションを使用して、データベース名を入力します(またはドロップダウンから選択します)。

しないでください「データベースファイルを添付する」オプションを使用してください-これはフリーフローティングの.mdf「機能」で、かなり不器用で使いにくく、エラーが発生しやすいです-繰り返しますが、お勧めしますnotそれを使用して...

16
marc_s

私はそれを理解したと思ったが、問題は引き続き発生している。そう ...

この行の下にあるものはすべて無視してください。

何時間もいじくり回した後、私はついにSSMSを使用してVS2010で作成されたSQLServer2008データベースに接続する方法を理解しました。それは比較的簡単です。しかし、至る所にある未回答の質問の数から、十分に文書化されていません。方法は次のとおりです。

  1. VSで、SolutionExplorerでプロジェクトを右クリックし、[新しいアイテムの追加]を選択してから、[データ]、[SQLServerデータベース]の順に選択します。 app_dataフォルダーに保存し、フォルダーが存在しない場合は作成するように求められます。

  2. Ssms.exeファイルを見つけます(私のシステムでは、C:\ Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDEにあります

  3. Ssms.exeを右クリックし、[管理者として実行]を選択します。

  4. SSMSが開いたら、プロジェクトMDFを添付できます。これで、データベースのリストに追加されます。データベース名はGUIDです。

  5. データベースに対してaspnet_regsqlを実行して、メンバーシップテーブルとsprocを追加することもできます。

重要!このデータベースは[〜#〜]どちらか[〜#〜] SMSS [〜#〜]または[〜#〜] VSで管理できますが、両方を同時に管理することはできません時間。 ServerExplorerを使用してVS内からデータベースを操作すると、SSMS接続が切断されます。これを修正するには、データベースをデタッチして再接続する必要があります。

0
GDB

VisualStudioを管理者として実行するVisualStudioインスタンス、つまりC#、C++などに移動します右クリック>管理者として実行

それなら今それはうまくいくかもしれません

0
Dala

Visual Studio 2013からssms2014データベースに接続するには、新しい接続ウィザードで、「データソース」を「mssqlサーバーデータベースファイル」から「sqlサーバー用の.netフレームワークデータプロバイダー」に変更する必要がありました。その後、Windows認証用に[コンピューター名] [ユーザー名]を入力することができました。

0
Emfocuser

同じ問題があり、問題はVS2010ではなくSQLserverにあることに気付きました。
私のインスタンス名は オマファノ 、そしてそれは私のMSSQLがサーバー名の下で接続したものです。これがキャッチです。それをクリックして接続します OMAFANO\SQLEXPRESS VS2010でuが述べたように表示したい場合は、そこにすべてのデータベースとテーブルを作成します。したがって、VS2010のサーバー名の下にも INSTANCENAME\SQLEXPRESS 新しく作成したデータベースなどを確認したい場合は、次の図をご覧ください。
enter image description here

0
Manny265