72

.mdfフォルダにMSSQLEXPRESSのデータベースファイルがあります。

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

MS 2008 R2(MSSQL10_50.MSSQLSERVER)に接続したいのですが、 ServerManagementStudioを使用すると次のエラーが発生します。

CREATE FILE encountered operating system error 5(failed to retrieve text for this error. Reason: 15105) while attempting to open or create the physical file

あなたはそれを解決する方法を知っていますか?

4

25 に答える 25

138

MS SQLManagementStudioをADMINISTRATORとして実行する際の問題を解決することができました。

于 2012-06-24T15:11:44.307 に答える
52

これはWindowsのアクセス許可の問題です。Windows認証を使用してサーバーに接続した場合、そのWindowsユーザーにはファイルへのアクセス許可が必要です。SQL Server認証を使用してサーバーに接続した場合、SQL Serverインスタンスアカウント(MSSQL $、たとえばMSSQL $ SQLEXPRESS)にはファイルへのアクセス許可が必要です。管理者としてログインすることを提案する他のソリューションは、基本的に同じことを達成します(ちょっとしたハンマーで:)。

データベースファイルがSQLServerのデータフォルダーにある場合は、SQL Server認証が機能するように、そのフォルダーからSQLServerアカウントのユーザー権限を継承している必要があります。そのフォルダーに対するSQLServerインスタンスのアカウントの権限を修正することをお勧めします。データファイルが別の場所にあり、SQL Serverアカウントにアクセス許可がない場合は、後で他の問題が発生する可能性があります。繰り返しますが、より良い解決策は、SSアカウントの権利を修正することです。常に管理者としてログインする場合を除いて...

于 2013-01-31T16:56:34.087 に答える
5

[ファイル][mdf]および[ldfプロパティ]->[セキュリティ]->[完全なアクセス許可]を右クリックします

于 2015-01-20T18:51:08.380 に答える
4

データベースのインストール場所に管理者権限またはフルコントロールを与えると、問題が解決しました

于 2015-07-08T15:03:43.193 に答える
3

私も同じ問題を抱えていました。何度か試した後、SQLサーバーをWindows認証に接続することで問題が解決したことに気付きました。

于 2012-11-22T16:27:59.227 に答える
3

[スタート]->[実行]- >->[SQLServer] services.msc->[右クリック]->[プロパティ]->[ログオン]タブが見つかるまで、サービスのリストをスクロールします。

次に、チェックボックスを選択Local System AccountしてチェックしAllow service to interact with desktopます。

サービスを再起動します。

サービス

于 2019-02-27T14:12:52.687 に答える
2

同様のエラーが発生していました。

CREATE FILE encountered operating system error **32**(failed to retrieve text for this error. Reason: 15105) while attempting to open or create the physical file

次のコマンドを使用してデータベースを接続しました。

EXEC sp_attach_single_file_db @dbname = 'SPDB',
@physname = 'D:\SPDB.mdf'
于 2013-06-01T20:30:18.477 に答える
1

これと同じ問題は、ファイルの所有者が削除された場合にも発生します。これが発生した場合、ファイルのプロパティに移動すると、ユーザー名ではなくSIDが表示されます。ファイルの所有権を取得します(完全に制御できます)。それが完了すると、ファイルで必要なことは何でもできます。

管理者がトリックをしなかったので、ログイン時にこの作業を行いました。

于 2012-11-30T15:00:02.423 に答える
1

他の提案として、管理者として実行すると役立ちます。

ただし、これは、Windowsユーザーが実際にSQLサーバーを実行しているマシンの管理者である場合に限ります。

たとえば、リモートマシンからSSMSを使用する場合、ユーザーがSSMSを実行しているマシンの管理者のみであり、SQL Serverを実行しているマシンの管理者ではない場合、「administartorとして実行」の使用は役に立ちません。

于 2013-05-09T19:39:47.627 に答える
1

1 .- 。MDF、-。LDFファイルコピーしてこの場所に配置します2008サーバーの 場合C:\ Program Files \ Microsoft SQL Server \ MSSQL10.MSSQLSERVER \ MSSQL \ DATA 2. SQL Server 2008では、ATTACHを使用して同じ場所を選択します追加用

于 2013-05-23T12:49:19.090 に答える
1

SQL2005を使用するWindows2003でこの問題が発生しました。ファイルの所有権をWindowsユーザーアカウントとして取得する必要があり、その方法でデータベースを接続しました。

ファイルを右クリックし、[プロパティ]を選択し、[OK]をクリックして情報画面を通過し、[詳細設定]ボタンをクリックして、使用可能なアカウントまたはグループのリストからアカウントを選択し、その変更を適用して、[プロパティ]画面で[OK]をクリックする必要があります。すべてを完了すると、ファイルのアクセス許可を管理できるようになります。

Windows認証を使用してSSMSにログインしましたが、エラーなしでデータベースを接続できました。

乾杯!

于 2014-01-04T13:19:49.657 に答える
0

すでに管理者として実行している場合は、使用しているユーザーが適切なサーバーの役割を持っていることを確認してください。

  1. saとしてログインします(可能な場合)
  2. セキュリティフォルダを展開します
  3. ログインフォルダを展開します
  4. 使用したいユーザーを右クリックします
  5. プロパティを選択します
  6. サーバーの役割を選択します
  7. すべてのサーバーの役割を選択します
  8. [OK]をクリックします
  9. SSMSを再起動します
  10. 変更されたユーザーでログインします
于 2013-04-24T15:14:33.357 に答える
0

私の場合、新しいドライブにデータベイを作成しようとするとエラーが発生しました。この問題を解決するために、そのドライブに新しいフォルダを作成し、ユーザープロパティのセキュリティをそのドライブのフルコントロールに設定しました([変更]を設定するだけで十分な場合があります)。結論:ユーザーが「変更」するようにドライブ/フォルダのプロパティのセキュリティを設定します。

于 2014-05-13T04:45:46.670 に答える
0

私の解決策はもう少し複雑でした。サービスが実行されているユーザーを確認し、ローカルおよびドメイン管理者としてMSSMSを実行し、フォルダーのアクセス許可を確認した後も、このエラーが発生していました。私の解決策は?

フォルダの所有権は引き続きローカルアカウントによって維持されていました。

プロパティ>セキュリティ>詳細>所有者>(ドメイン/ローカルユーザー/グループSQLサービスは次のように実行されています)

これで問題は解決しました。

于 2014-07-15T19:22:54.630 に答える
0

--.MDF、ファイルをコピーして、--.LDFこの場所をパテします。2008サーバーの場合C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA 2

SQL Server 2008では、ATTACHを使用し、同じ場所を選択して追加します

于 2014-08-21T07:53:09.220 に答える
0

管理者としてSSMSを開き、SQLAuthとWindowsAuthで実行しても機能しませんでした。

うまくいったのは、ファイル名をLDFファイルとMDFファイルが配置されているのと同じ場所に変更することでした。

alter database MyDB
add file ( name = N'FileStreamName', 
filename = N'D:\SQL Databases\FileStreamSpace' ) 
to filegroup DocumentFiles;
于 2014-12-09T09:54:37.150 に答える
0

手順は次のとおりです。

  1. .mdfおよび.ldfファイルを右クリックします。
  2. 次に、プロパティを選択します。
  3. セキュリティ->詳細->権限でユーザーを追加します
于 2015-08-25T06:22:49.107 に答える
0

別のサーバーにバックアップされたデータベースを復元すると、このエラーが発生しました。長い闘いの後、これは私がしたことです

  1. インスタントファイル初期化を有効にし、

  2. フォルダに対するアクセス許可(フルコントロール)をサービスアカウントと自分のWindowsアカウントに付与しました。

  3. SQLサービスを再起動しました。その後、データベースが復元されました。

于 2015-12-01T15:07:22.910 に答える
0

重要なのは「オペレーティングシステムエラー5」です。Microsoftは、さまざまなエラーコードと値をサイトに掲載しています。

https://msdn.microsoft.com/en-us/library/windows/desktop/ms681382(v=vs.85).aspx

ERROR_ACCESS_DENIED 5(0x5)アクセスが拒否されました。

于 2016-01-20T21:27:29.433 に答える
0

データベースをデタッチするwindowsuserとデータベースをアタッチするwindowsuserが異なる場合、この問題に直面しました。Windowsユーザーがデータベースをデタッチしてアタッチしようとすると、問題なく正常に動作しました。

于 2017-05-12T21:10:44.130 に答える
0

C:ではなくD:でファイルを作成することにしましたが、すべてうまくいきました。Windows 7 ... 10には、ファイルとフォルダーの共有と承認に関して多くの問題があります。

于 2018-03-17T11:10:06.957 に答える
0

私の場合、管理者として実行は役に立ちません。ConfigurationManagerでビルトインアカウントをローカルシステムに変更することで問題を解決しました。

于 2018-11-03T09:20:25.883 に答える
0

これが私の場合に起こったことです。データベース用のファイルを添付するように依頼されました。私は次のようにファイル名を与えられました

  • devdb.mdfおよびdevdb.ldf

私はファイルの添付に進み、ファイルを別のプロセスで使用し続けました。

sys.master_filesのシステムビューselectname、physical_nameに対してクエリを実行しました。正確なファイル名がすでに別のデータベースで使用されていることを確認したため、ファイルを添付しようとするたびに、ファイルが別のプロセス(SQLサーバー)で使用されているというエラーが発生し続けました。

したがって、このようなメッセージが表示された場合は、システムビューsys.master_filesに対してクエリを実行し、同じ名前のファイルをすでに使用している可能性のあるデータベースを確認してください。今後、あなたは何をすべきかを理解するでしょう。

ありがとう。

于 2018-12-11T21:33:32.770 に答える
0

マウントポイントがある場合は、それに応じてSQLServerサービスアカウントをボリュームセキュリティに追加します

于 2019-02-20T09:58:03.737 に答える
-2

これをすべて行う必要はありません。データベースファイルを右クリックして、全員に権限を追加するだけです。それは確かに機能します。

于 2014-03-13T18:49:25.310 に答える