フォルダー内にMS SQL EXPRESSのデータベースファイル.mdf
があります。
C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA
MS 2008 R2(MSSQL10_50.MSSQLSERVER)に添付したいのですが、Server Management Studioを使用すると、次のエラーが表示されます。
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
それを解決する方法はありますか?
管理者としてMS SQL Management Studioを実行している問題を解決できました。
これは、Windowsアクセス許可の問題です。 Windows認証を使用してサーバーに接続した場合、そのWindowsユーザーにはファイルへのアクセス許可が必要です。 SQL Server認証を使用してサーバーに接続した場合、SQL Serverインスタンスアカウント(MSSQL $、MSSQL $ SQLEXPRESSなど)にはファイルへのアクセス許可が必要です。管理者としてログインすることを提案する他のソリューションは、本質的に同じことを実現します(少し大胆に:)。
データベースファイルがSQL Serverのデータフォルダーにある場合、そのフォルダーからSQL Serverアカウントのユーザー権限を継承しているはずなので、SQL Server認証は機能しているはずです。そのフォルダーに対するSQL Serverインスタンスのアカウントの権限を修正することをお勧めします。データファイルが他の場所にあり、SQL Serverアカウントにアクセス許可がない場合は、後で他の問題が発生する可能性があります。繰り返しますが、より良い解決策は、SSアカウントの権利を修正することです。常に管理者としてログインする場合を除き...
ファイルmdfおよびldfのプロパティを右クリック->セキュリティ->完全な許可
データベースのインストール場所に管理者権限またはフルコントロールを付与すると、問題が解決しました
同様のエラーが発生していました。
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'
同じ問題がありました。数回試行した後、Windows認証でSQLサーバーを接続すると問題が解決することに気付きました。
他の提案として、管理者として実行すると役立ちます。
ただし、これは、Windowsユーザーが実際にSQLサーバーが実行されているマシンの管理者である場合のみです。
たとえば、リモートマシンからSSMSを使用する場合、ユーザーがSQL Serverを実行しているマシンではなくSSMSを実行しているマシンの管理者のみである場合、「administartorとして実行」の使用は役に立ちません。
1 .copy your -。MDF、-。LDF files to pate this location For 2008 server C:\ Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA 2.SQL Server 2008でATTACHを使用し、追加する同じ場所を選択します
この問題は、Windows Server 2003とSQL 2005で発生しました。Windowsユーザーアカウントとしてファイルの所有権を取得する必要があり、その方法でデータベースを取得しました。
ファイルを右クリックして、[プロパティ]を選択し、[OK]をクリックして情報画面を通過し、[詳細設定]ボタンをクリックし、使用可能なアカウントまたはグループのリストからアカウントを選択し、その変更を適用し、[プロパティ]画面で[OK]をクリックする必要があります。すべて完了したら、ファイルのアクセス許可を管理できるようになります。
Windows認証でSSMSにログインしましたが、エラーなしでデータベースをアタッチできました。
乾杯!
C:ではなくD:でファイルを作成することにしましたが、すべてうまくいきました。 Windows 7 ... 10には、ファイルとフォルダーの共有と承認に関する多くの問題があります。
マウントポイントがある場合は、それに応じてSQL Serverサービスアカウントをボリュームセキュリティに追加します
私の解決策は少し複雑でした。サービスを実行しているユーザーを確認し、MSSMSをローカルおよびドメイン管理者として実行し、フォルダーのアクセス許可を確認した後、このエラーが引き続き発生していました。私の解決策は?
フォルダーの所有権はローカルアカウントによって引き続き維持されました。
[プロパティ]> [セキュリティ]> [詳細設定]> [所有者]>(ドメイン/ローカルユーザー/グループSQLサービスが実行されている)
これで問題は解決しました。
データベースをデタッチするwindowsuserとデータベースをアタッチするwindowsuserが異なる場合、この問題に直面しました。 windowsuserがデータベースをデタッチしてアタッチしようとすると、問題なく正常に機能しました。
この同じ問題は、ファイルの所有者が削除されたときに発生します。この場合、ファイルのプロパティに移動すると、ユーザー名ではなくSIDが表示されます。ファイルの所有権を取得します(自分に完全な制御権を付与します)。それが完了すると、ファイルで必要なことは何でもできます。
管理者がトリックを実行しなかったため、ログイン時にこの作業が行われました。
これが私の場合に起こったことです。データベースのファイルを添付するように求められました。次のようにファイル名が与えられました
ファイルの添付に進み、ファイルが別のプロセスで使用中であることを確認し続けました。
Sys.master_filesからシステムビューのselect name、physical_nameに対してクエリを実行しました。正確なファイル名が別のデータベースで既に使用されていることを確認したため、ファイルを添付しようとするたびに、ファイルが別のプロセス(SQLサーバー)で使用されているというエラーが発生し続けました
したがって、このようなメッセージを受け取っている場合は、システムビューsys.master_filesに対してクエリを実行し、どのデータベースがすでに同じ名前のファイルを使用している可能性があるかを確認してください。以下では、何をすべきかを理解します。
ありがとう。
私の場合、新しいドライブにデータベースを作成しようとするとエラーが発生しました。問題を解決するために、そのドライブに新しいフォルダーを作成し、ユーザープロパティのセキュリティをフルコントロールに設定します(Modifyを設定するだけで十分な場合があります)。結論:ユーザーのドライブ/フォルダープロパティセキュリティを「変更」に設定します。
SSMSを管理者として開き、SQL AuthとWindows Authとして実行すると機能しませんでした。
うまくいったのは、LDFとMDFファイルが配置されているのと同じ場所にファイル名を変更するだけでした。
alter database MyDB
add file ( name = N'FileStreamName',
filename = N'D:\SQL Databases\FileStreamSpace' )
to filegroup DocumentFiles;
別のサーバーにバックアップされたデータベースを復元すると、このエラーが発生しました。長い闘争の後、これは私がやったことです
インスタントファイルの初期化を有効にし、
フォルダーに対するアクセス許可(フルコントロール)をサービスアカウントと自分のWindowsアカウントに付与し、
SQLサービスを再起動しました。その後データベースが復元されました。
既に管理者として実行している場合は、使用しているユーザーに適切なサーバーの役割があることを確認してください。
キーは「オペレーティングシステムエラー5」です。マイクロソフトは、サイトのさまざまなエラーコードと値を有益にリストしています
https://msdn.Microsoft.com/en-us/library/windows/desktop/ms681382(v = vs.85).aspx
ERROR_ACCESS_DENIED 5(0x5)アクセスが拒否されました。
--.MDF
、--.LDF
ファイルをコピーして、この場所に配置します2008サーバーC:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA 2
の場合。
SQL Server 2008では、ATTACHを使用して、追加する同じ場所を選択します
手順は次のとおりです。
私の場合、管理者として実行しても役に立ちません。 Configuration Managerでビルドインアカウントをローカルシステムに変更することで問題を解決しました。