web-dev-qa-db-ja.com

データベースのアタッチ中にエラーが発生しました。詳細については、メッセージ列のハイパーリンクをクリックしてください

(HaseebProject.mdf)という名前の外部データベースを接続しようとしていますが、「データベースの接続中にエラーが発生しました。詳細については、[メッセージ]列のハイパーリンクをクリックしてください。エラーは何ですか?。??示されているように、メッセージフィールドにエラーメッセージが表示されていても. ここに画像の説明を入力してください

追加ボタンをクリックしてデータベースを追加すると、データベースのディレクトリに2つのパスがあります。私は両方で試しましたが、同じエラーが発生しました。 ここに画像の説明を入力してください

11

管理者としてSQL Server Management Studioを実行してみてください

13
Simone

私もこの問題を抱えていたので、(.mdfおよび.ldf)ファイル、[セキュリティ]タブの[編集]をクリックします。

新しいウィンドウでユーザーを見つけて、フルコントロールに権限を設定します。ユーザーが見つからない場合は、次をクリックしてください。

add button-->advanced-->Find now-->find users 

次に、[OK]をクリックします。機能しない場合は、データベースからバックアップして、アタッチする代わりに復元できます。私はそれを実行し、それは機能します。 :\ Program Files\Microsoft SQL Server\MSSQL12.SQL2014\MSSQL\DATA)そうしないと、エラーが発生します

3
Mo0rteza

同じ問題がありました。問題は、データベースファイルを転送しているディスクでした。したがって、あるコンピュータから別のコンピュータにデータベースファイルをコピーする場合は、リムーバブルディスクが破損していないことを確認してください。常に2番目のリムーバブルディスクを試します。また、管理者としてSSMSを実行することを忘れないでください。

0
Elham Kohestani
  1. データベースを含むディレクトリに移動し、フォルダのプロパティを開きます。
  2. [セキュリティ]タブ、[権限の編集]、[ユーザーの追加]の順に移動します。
  3. [場所]で、サーバーをホストしている場所を選択します。
  4. オブジェクト名にNT Service\MSSQL$<Instance-Name>と入力します(例:NT Service\MSSQL$MSSQLSERVER)。
  5. アクセス許可をフルコントロールに設定して保存します。

これにより、SQL Serverインスタンスにターゲットディレクトリに対する完全な権限が付与されます。

0
Brad

私の場合、メインデータベースのファイル名を変更したので、[現在のファイルパス]列のボタンを使用して再度選択する必要がありました。

enter image description here

同じ問題がありました。エラーメッセージを展開すると、.MDFファイルが圧縮されていると表示されていました。

私は問題をグーグルで調べて、私の問題を解決するこのリソースを見つけました。 https://blogs.msdn.Microsoft.com/sqlblog/2006/10/02/sql-server-databases-are-not-supported-on-compressed-volumes/

エラーがこれに似ている場合:

Create failed for Database 'Compressed_DB'.  (Microsoft.SqlServer.Smo)

An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

The file "E:Compressed_DB.mdf" is compressed but does not reside in a read-only database or filegroup. The file must be decompressed.

CREATE DATABASE failed. Some file names listed could not be created. Check related errors. (Microsoft SQL Server, Error: 5118)

次に、.MDFファイルが存在するフォルダを右クリックし、[プロパティ]をクリックします。 [全般]タブの[詳細設定]をクリックし、[内容を圧縮してディスク容量を節約する]チェックボックスをオフにします

これにより、発生していたエラーが解決されました。試して、.MDFを再度添付してください。

0
defkey123
  1. MyDataBase.MDFファイルを右クリックします
  2. [プロパティ]-> [セキュリティ]タブに移動-> [編集]を選択-> [追加]を選択-> [詳細]を選択-> [検索開始]を選択-> [ユーザー管理者とユーザー全員を選択]
  3. 両方の権限をフルコントロールに設定する
  4. OKをクリックします
  5. MyDataBase_log.LDFファイルをクリア
  6. MyDataBase.MDFファイルを次の場所にコピー:

    (C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA)

  7. 管理者としてSQL Server Management Studioを実行する

  8. このアドレスからMyDataBase.MDFファイルを添付します。

    (C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA)

0
ahm3dlike

このコマンドを使用して、.mdfファイルからdbをアタッチします

USE [master]
GO
CREATE DATABASE [SchoolDB] ON 
( FILENAME = N'C:\SchoolDB.mdf' )
FOR ATTACH
GO
0
Nitin Bhade