web-dev-qa-db-ja.com

バックアップデバイスを開けません。オペレーティングシステムエラー5

以下は、データベースのバックアップ(.bakの作成)に使用しているクエリです。

ただし、実行するたびに、常に次のエラーメッセージが表示されます。

メッセージ3201、レベル16、状態1、行1
バックアップデバイス「C:\ Users\Me\Desktop\Backup\MyDB.Bak」を開けません。オペレーティングシステムエラー5(アクセスが拒否されました。).

メッセージ3013、レベル16、状態1、行1
BACKUP DATABASEは異常終了しています。

これは私のクエリです:

BACKUP DATABASE AcinsoftDB
TO DISK = 'C:\Users\Me\Desktop\Backup\MyDB.Bak'
WITH FORMAT,
MEDIANAME = 'C_SQLServerBackups',
NAME = 'Full Backup of MyDB';

前もって感謝します。

125
Smiley

ええ、私はこれを採点しました。

Windowsサービスを確認します。スタート>管理>サービス

呼び出されたリストでサービスを見つけます。SQLServer(MSSQLSERVER)は「ログオン」列を探します(リストに存在しない場合は追加する必要があります)。

これは、ディレクトリへのアクセス許可を付与するために必要なアカウントです。エクスプローラで右クリックし、[プロパティ]> [共有(およびセキュリティ)]

NOTE:ネットワークを経由する場合は、実際のディレクトリと共有に許可を与えることを忘れないでください。

適用して権限が伝達されるのを待って、バックアップを再試行します。

注2:ネットワークを介してバックアップしていて、SQLが「ローカルサービス」として実行されている場合、問題が発生しています...アクセス許可を割り当てるか、ローカルでバックアップする方が簡単な場合があります。 SQL Server外のxcopy(1時間後)。

:ネットワークサービスとして実行している場合、リモートコンピューターはSQL Server上のネットワークサービスを認識しません。この場合、実際のコンピューター自体にアクセス許可を追加する必要があります。 MyServer $。

213
Robin Vessey

[スタート]メニューの[SQLサーバー]フォルダーに移動し、[構成ツール]をクリックします。SQL Server構成マネージャーを選択します。SQLサーバーサービスで、目的のインスタンスで(ログオン)をローカルシステムに変更します。

9
Abuleen

SQL Serverサービスアカウントには、フォルダーC:\Users\Kimpoy\Desktop\Backup\に書き込む権限がありません

7
Martin Smith

最近この問題も発生しましたが、サーバーAからバックアップジョブを実行していましたが、バックアップされるデータベースはサーバーBからサーバーCのファイル共有にありました。サーバーAのエージェントがサーバーBにバックアップt -sqlコマンド。実際には、サーバーCにバックアップを書き込もうとするSERVER Bでsqlが実行されているサービスアカウント。

実際のBACKUP DATABASEコマンドを実行するSQLサーバーのサービスアカウントは、エージェントではなく、ファイルシステムに対する特権を必要とするものであることを覚えておいてください。

6
Jason

私は自分でこれを経験していました。 MSSQLSERVERログインユーザーがfull accessを持っていることを確認しましたが、それでも問題が発生していました。目的地をCのルートに移動した場合にのみ機能しました。さらに重要なことは(完全なアクセス許可を持つ共有があったとしても-テストとして "Everyone"を試してさえいました)。

私は自分の問題を「修正済み」と見なすかどうかわかりませんが、それは「機能」しています。

このスレッドに出くわした他のユーザーの参考までに。

4
DNK

Windows 10上のSQL Express 2014 SP1でも同じ問題に直面しています。

働く解決策

  1. サービスを入力してサービスを開く
  2. SQL Server(SQLExpress)を見つけて開きます
  3. [ログオン]タブに移動します
  4. ローカルシステムアカウントを選択します(デスクトップとの対話を許可するサービスも確認します)
  5. OKをクリックします。サービスを停止します。サービスを再起動します。
  6. 問題が解決しました
3
Sawarkar vikas

復元プロセスを実行する許可を与える必要があるユーザーを見つけるには、次の手順に従います。

SQL Serverがインストールされているサーバーに移動する必要があります。検索SQL Server構成マネージャー

enter image description here

次に、「SQL Serverサービス」に移動する必要があります

enter image description here

SQL Server(MSSQLSERVER)インスタンスの下に、「Logon As」列のアカウントがあります。私の場合はNT Service\MSSQLSERVERです。

これは、ソース.bakの場所の[セキュリティ]タブに追加する必要があるアカウントであり、バックアップファイルを読み取ることができるように、そのユーザーに「読み取り」権限を付与します。

バックアップファイルが「D:\ Shared」フォルダーにあるとします。次に、次のようなアクセス許可を与える必要があります。

enter image description here

3
Raghav

同様の問題がありました。 .bakファイル自体に書き込み権限を追加し、NETWORK SERVICEユーザーのバックアップを書き込むフォルダーを追加しました。アクセス許可を追加するには、変更するファイル/ディレクトリを右クリックし、セキュリティタブを選択して、適切なユーザー/アクセス許可を追加します。

2
Eric Bernier

問題を回避するために私がしたことは次のとおりです。

1)バックアップに移動

2)ディスクへの宛先ファイルパスを削除する

3)追加をクリックします

4)[ファイル名:]チェックボックスで、..\backupの後にYourdb.bakがデータベースバックアップ名であるようなバックアップ名を手動で入力します。

C:\ Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\Yourdb.bak

5)[OK]をクリックします

お役に立てれば!

2
dpen82

私は同じ問題を抱えていて、以下のURLは本当に助けになりました。

それもあなたを助けるかもしれません。

http://blog.sqlauthority.com/2011/04/13/sql-server-fix-error-msg-3201-level-16-cannot-open-backup-device-operating-system-error- 5access-is-denied /

1

私はそれが正確な解決策ではないことを知っていますが、外部ドライブパスを使用するとこの問題が解決します。

BACKUP DATABASE AcinsoftDB
TO DISK = 'E:\MyDB.Bak'
WITH FORMAT,
MEDIANAME = 'C_SQLServerBackups',
NAME = 'Full Backup of MyDB';
1
Cem Mutlu

こんにちは、クエリを変更する必要があります:

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を追加する必要があります。

このフォルダーを共有し、UNCパスを使用します。例:\ pc\backups\mydb.bak

その後、共有を停止できます。

非常にエレガントではありませんが、すべての権限の問題を解決します(上記のように、共有する権限も付与する必要があります)

0
Gennady G

ドライブへのアクセスを確認してください。最初に1つのフォルダーを作成し、フォルダーのプロパティに移動します。

あなたは、セキュリティタブを見つけることができます、あなたのユーザーIDがアクセス権を持っているかどうかをチェックするをクリックしてください。

iDが見つからない場合は、追加ボタンをクリックして、フルアクセスのユーザー名を指定してください。

0
user2703575

これが発生する理由の1つは、ローカルシステムを使用せずにMSSQLSERVERサービスを実行していることです。この問題を修正するには、次の手順を使用します。

  1. Windows + Rを使用したオープンラン
  2. 「services.msc」と入力すると、サービスダイアログが開きます
  3. SQL Serverの検索(MSSQLSERVER)
  4. 右クリックして、プロパティをクリックします。
  5. [ログオン]タブに移動します
  6. ローカルシステムアカウントを選択し、「適用」と「OK」をクリックします
  7. [SQL Server(MSSQLSERVER)]を選択して左パネルの[停止]リンクをクリックし、完全に停止したらもう一度開始します。
  8. バックアップをお楽しみください。

私と同じように、それがあなたの助けになることを願っています。乾杯!

0
Gaurav Amatya

SQL Serverは、指定された場所にバックアップにアクセス(書き込み)できません。

最初に、SQLサーバーが実行されているサービスアカウントを確認する必要があります。これは、構成マネージャーまたは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列を見て、メモします。

バックアップを取得しようとしている場所に移動します。あなたの場合:C:\ Users\Me\Desktop\Backup

右クリック->プロパティ->セキュリティ->

サービスアカウントを追加し、読み取り/書き込み権限を付与します。これで問題は解決します。

0

メッセージ3201、レベル16、状態1、行1バックアップデバイス 'C:\ Backup\Adventure_20120720_1024AM.trn'を開けません。オペレーティングシステムエラー5(アクセスが拒否されました。)メッセージ3013、レベル16、状態1、行1のバックアップログが異常終了しています。

Cドライブのバックアップフォルダーを確認しました。新しいサービスアカウントにはフルコントロールのアクセス許可がありますか?、「Test\Kiran」サービスアカウントにはフルコントロールのセキュリティ許可がありません。

以下の手順に従って、サービスアカウントを完全に制御してください。

  1. Cドライブに移動し、バックアップフォルダを右クリックします。
  2. [セキュリティ]タブを選択します。
  3. [編集]ボタンをクリックすると、新しいウィンドウが開きます。
  4. [追加]ボタンをクリックしてTest\Kiranユーザーアカウントを入力し、[名前の確認]ボタンをクリックします。これにより、入力したユーザーが存在するかどうかが検証されます。
  5. 入力したユーザー名を選択し、許可の下の[フルコントロール]チェックボックスをオンにします。
0
user2459051

.BAKファイルがBitLockerで暗号化されたフォルダーに一時的に保存されたときに、この問題が発生しました。別のフォルダに移動した後、暗号化を保持しました。

NETWORK SERVICEアカウントはファイルを復号化できず、この完全に有益なエラーメッセージが表示されました。

.BAKファイルのBitLocker暗号化を削除する(ファイルプロパティの[コンテンツを暗号化してデータをセキュリティで保護する]をオフにする)と、この問題は解決しました。

0
Eric J.

同じエラーが発生します。次の変更は、これを修正するのに役立ちました。

サーバーマネージャー->ツール->サービスを確認し、サービスのユーザー( "ログオン"列)を見つける必要がありました:SQL Server(SQLEXPRESS)。

ローカルフォルダー(C:\ Users\Me\Desktop\Backup)に移動し、ユーザーとして「NT Service\MSSQL $ SQLEXPRESS」を追加して書き込み権限を付与しました。

0
Hiren Parghi