バックアップデバイスを開くことができません。オペレーティングシステムエラー5
-
08-10-2019 - |
質問
以下は、バックアップに使用しているクエリです(作成 .bak
)私のデータベース。
ただし、実行するたびに、常にこのエラーメッセージが表示されます。
MSG 3201、レベル16、状態1、行1
バックアップデバイスを開くことはできません 'c: users me desktop backup mydb.bak'。オペレーティングシステムエラー5(アクセスは拒否されます。)。MSG 3013、レベル16、状態1、行1
バックアップデータベースは異常に終了しています。
これが私の質問です:
BACKUP DATABASE AcinsoftDB
TO DISK = 'C:\Users\Me\Desktop\Backup\MyDB.Bak'
WITH FORMAT,
MEDIANAME = 'C_SQLServerBackups',
NAME = 'Full Backup of MyDB';
前もって感謝します。
解決
ええ、私はちょうどこれを獲得しました。
Windowsサービスをご覧ください。開始>管理>サービス
リスト内のサービスを見つける:SQL Server(MSSQLSERVER)「ログオン」を探してください(リストに存在しない場合は追加する必要があります)。
これは、ディレクトリにアクセス許可を与えるために必要なアカウントです。Explorer> Properties>共有(およびセキュリティ)を右クリックします
ノート: :ネットワークを横切っている場合は、実際のディレクトリと共有に権限を与えることを忘れないでください。
適用して、許可が提案されるのを待ち、バックアップをもう一度試してください。
注2: :ネットワークを横切ってバックアップし、SQLが「ローカルサービス」として実行されている場合、問題が発生しています...アクセス許可を割り当てることができます。後で)。
注3: :ネットワークサービスとして実行している場合、リモートマシンがSQLサーバーのネットワークセリブスを認識しない場合があります。これが場合の場合、実際のコンピューター自体にアクセス許可を追加する必要があります。 myserver $。
他のヒント
スタート]メニューのSQL Serverフォルダーに移動し、[構成]ツールをクリックしますSQL Server Servers ServicesでSQL Server構成マネージャーを選択します。目的のインスタンスで(ログオン)ローカルシステムに変更します
SQL Server Serviceアカウントには、フォルダに書き込む権限がありません C:\Users\Kimpoy\Desktop\Backup\
私もこの問題を抱えていましたが、私はサーバーAからバックアップジョブを実行していましたが、バックアップされているデータベースはサーバーBのファイル共有のサーバーBにありました。サーバーAのエージェントがサーバーBにバックアップtを実行するように指示するとき-SQLコマンド、実際にはSQLがサーバーBで実行しているサービスアカウントで、サーバーCにバックアップを書き込もうとしています。
実際のバックアップデータベースコマンドを実行するSQLサーバーのサービスアカウントは、エージェントではなく、ファイルシステムの特権が必要なものであることを忘れないでください。
私はちょうどこれを自分で経験していました。 MSSQLServerのログインユーザーが持っていることを確認しました full access
しかし、それはまだ問題を引き起こしていました。目的地をCのルートに移動した後にのみ機能しました(さらに重要なことにユーザーフォルダーから外出します(完全な許可で共有していても、テストとして「全員」を試しました)。
自分の問題を「固定」と見なしているかどうかはわかりませんが、「機能しています」。
このスレッドに出くわす他のユーザーのためのFYI。
Windows 10のSQL Express 2014 SP1で同じ問題に直面しています。
機能するソリューション
- サービスを入力することでサービスを開きます
- SQL Server(SQLEXPRESS)を見つけて開きます
- ログオン]タブに移動します
- ローカルシステムアカウントを選択します(デスクトップと対話するサービスを許可することも確認してください)
- OK]をクリックします。サービスを停止します。サービスを再起動します。
- 問題が解決しました
復元プロセスを実行するために許可を与える必要があるユーザーを見つけるために、次の手順に従うことができます。
SQL Serverがインストールされているサーバーに移動する必要があります。探す SQL Server Configuration Manager
次に、「SQL Server Services」にアクセスする必要があります
SQL Server(MSSQLSERVER)インスタンスの下には、列「ログオンAS」のアカウントがあります。 nt service mssqlserver.
これは、ソース.bakの場所の[セキュリティ]タブの下に追加する必要があるアカウントで、そのユーザーに「読み取り」権限を提供して、バックアップファイルを読み取ることができます。
バックアップファイルが「d: shared」フォルダーに存在するとしましょう。次に、次のような権限を与える必要があります。
同様の問題がありました。 .bakファイル自体に書き込み許可を追加し、ネットワークサービスユーザー向けにバックアップを作成していたフォルダーを追加しました。 [ファイル/ディレクトリを変更するファイル/ディレクトリを右クリックするだけでアクセス権を追加するには、[セキュリティ]タブを選択し、そこに適切なユーザー/許可を追加します。
これが私が問題をバイパスするためにしたことです。
1)バックアップに移動します
2)宛先ファイルパスをディスクに取り外します
3)[追加]をクリックします
4)ファイル名:チェックボックスチェックボックスは、以下のようにバックアップ名を手動で入力します。
c: program files microsoft sql server mssql11.mssqlserver mssql backup yourdb.bak
5)[OK]をクリックします
お役に立てれば!
私は同じ問題を抱えていました、そして、以下のURLは本当に私を助けてくれました。
それはあなたにも役立つかもしれません。
私はそれが正確な解決策ではないことを知っていますが、外部ドライブパスを使用するとこの問題が解決します。
BACKUP DATABASE AcinsoftDB
TO DISK = 'E:\MyDB.Bak'
WITH FORMAT,
MEDIANAME = 'C_SQLServerBackups',
NAME = 'Full Backup of MyDB';
MSG 3201、レベル16、状態1、行1はバックアップデバイス 'C: backup Adventure_20120720_1024am.trn'を開くことができません。オペレーティングシステムエラー5(アクセスは拒否されます。)。 MSG 3013、レベル16、状態1、行1のバックアップログは異常に終了しています。
C Driveのバックアップフォルダーを検証しました。新しいサービスアカウントが完全な制御アクセス許可を持っているかどうか?
以下の手順に従って、サービスアカウントを完全に制御するには次のことです。
- Cドライブに移動し、バックアップフォルダーを右クリックします。
- セキュリティ]タブを選択します。
- 編集]ボタンをクリックすると、新しいウィンドウが開きます。
- 追加]ボタンをクリックしてテスト kiranユーザーアカウントを入力し、[名前]ボタンをクリックします。これにより、入力したユーザーが存在するかどうかを検証します。存在する場合は、ウィンドウにユーザーが表示されます。
- ユーザー名]を入力し、[Allowの下で完全な制御]チェックボックスを選択します。
ドライブへのアクセスを確認してください。最初に1つのフォルダーを作成し、フォルダープロパティに移動します。
セキュリティ]タブを見つけることができます。ユーザーIDがアクセスできるかどうかをクリックしてください。
IDが見つからなかった場合は、[Buttionの追加]をクリックして、フルアクセスのあるユーザー名を指定してください。
このフォルダーを共有し、例: pc backups mydb.bakを使用してUNCパスを使用します
その後、共有を停止できます。
あまりエレガントではありませんが、すべての許可の問題を解決します(上記のように、共有する権限も提供する必要があります)
.bakファイルがBitLockerで暗号化されたフォルダーに一時的に保存されたときに、この問題を発見しました。異なるフォルダーに移動した後、暗号化を保持しました。
ネットワークサービスアカウントはファイルを復号化することができず、この完全に有益なエラーメッセージを提供しました。
.bakファイルでビットロッカー暗号化を削除し(「コンテンツを暗号化してデータを保護する」、ファイルプロパティでデータを保護する」)問題を解決しました。
同じエラーがあります。以下の変更は、私がこれを修正するのに役立ちました。
サーバーマネージャー - >ツール - >サービスを確認し、サービスのユーザー( "列として"列としてログオン)を見つけなければなりませんでした:SQL Server(SQLEXPRESS)。
ローカルフォルダー(C: users me desktop backup)に行き、ユーザーとして「nt service mssql $ sqlexpress」を追加して、書き込み許可を提供しました。
こんにちは、クエリをから変更する必要があります。
BACKUP DATABASE AcinsoftDB
TO DISK = 'C:\Users\Me\Desktop\Backup\MyDB.Bak'
に
BACKUP DATABASE AcinsoftDB
TO DISK = N'C:\Users\Me\Desktop\Backup\MyDB.Bak'
パスの前にnを追加する必要があります。
これが起こる理由の1つは、ローカルシステムを使用していないMSSQLServerサービスを実行していることです。この問題を修正するには、次の手順を使用してください。
- Windows + Rを使用して実行することを開きます
- services.mscとサービスダイアログを開きます
- SQL Server(MSSQLSERVER)を見つける
- 右クリックして、プロパティをクリックします。
- ログオン]タブに移動します
- ローカルシステムアカウントを選択し、「apply」と「ok」をクリックします
- 「SQL Server(MSSQLServer)」を選択して、左パネルの停止リンクをクリックして、完全に停止したら再度開始します。
- バックアップをお楽しみください。
それが私にしたように、それがあなたをうまく助けてくれることを願っています。乾杯!
SQL Serverは、指定された場所にバックアップにアクセス(書き込み)できません。
まず、SQLサーバーが実行されているサービスアカウントを確認する必要があります。これは、Configuration ManagerまたはServices.mscを使用して実行できます。
また
以下のクエリを使用します:
SELECT DSS.servicename, DSS.startup_type_desc, DSS.status_desc, DSS.last_startup_time, DSS.service_account, DSS.is_clustered, DSS.cluster_nodename, DSS.filename, DSS.startup_type, DSS.status, DSS.process_id FROM sys.dm_server_services AS DSS;
列service_accountを見て、それを書き留めます。
バックアップを取得しようとしている場所に移動します。
右クリック - >プロパティ - >セキュリティ - >
サービスアカウントを追加し、読み取り/書き込み許可を提供します。これにより、問題が解決します。