10

私はデータベースemailDatabaseを作成しました。

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

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

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

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

Connect to下部のセクションでは、ドロップダウンに次のように表示されます:Master, Model, msdbとは表示されtempdbず、 my は表示されませんemailDatabase

だから私は選択Attach Database Fileしてクリックし、ブラウズしてフォローします

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

マイメールデータベースを選択します。

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

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

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

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

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

4

6 に答える 6

17

(SQL Server Management Studio を使用して)サーバー上にデータベースを作成する場合、データベース ファイルをいじる必要はありません (すべきではありません)。サーバーに処理させてください。

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

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

ここに画像の説明を入力

ここで - DEV-5\SQLEXPRESS「サーバー名」ドロップダウンに入力し、「データベース名を選択または入力」オプションを使用してデータベース名を入力します (またはドロップダウンから選択します) - そこにあるはずです!

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

于 2012-05-07T13:21:57.330 に答える
1

同じ問題があり、問題がVS2010ではなくSQLサーバーにあることに気付きました。
私のインスタンス名はOMAFANOで、それが私の MSSQL がサーバー名で接続したものです。これがキャッチです。それをクリックしてOMAFANO\SQLEXPRESSに接続し、そこにすべてのデータベースとテーブルを作成して、VS2010 に表示するようにします。したがって、VS2010 のサーバー名の下にも、新しく作成したデータベースなどを確認したい場合は、INSTANCENAME\SQLEXPRESSと書きます。画像を見てください。
ここに画像の説明を入力

于 2014-05-17T04:32:58.470 に答える
0

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

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

于 2015-05-14T11:56:57.377 に答える
0

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

この行より下はすべて無視してください。

何時間もの試行錯誤の末、VS2010 で作成された SQLServer 2008 データベースに SSMS を使用して接続する方法がようやくわかりました。これは比較的簡単です。しかし、十分に文書化されていない場所のいたるところにある未回答の質問の数から. 方法は次のとおりです。

  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 接続が切断されます。これを修正するには、データベースをデタッチして再アタッチする必要があります。

于 2012-12-01T20:18:15.300 に答える
0

同じ問題がありました。 「 sara-PC\SQLEXPRESS」の代わりに「 sara -PC 」というローカル サーバー名を入力するだけです。

データベースに簡単にアクセスできるようになり、ドロップダウンリストに表示されます。また、ファイル アクセス方式を使用してデータベースをアタッチしないでください。これは適切な方法ではありません。また、サーバー -> 右クリック -> プロパティ -> データベース設定を使用してデフォルトの場所を設定することにより、~....\Data および ~...\log ファイルを任意の場所に配置できます。

間違いなくこれはあなたの問題を解決します。

于 2019-10-31T06:19:01.240 に答える