shine-Notes

ゆるふわ思考ダンプ

Invoke-Sqlcmd(PowerShell)経由のファイル書き込みに失敗する

【状況】
・WinServ2012R2上でPowerShellからInvoke-Sqlcmd経由でSQL Serverバックアップを実行したが、以下のエラーで失敗

(中略)Unable to open the physical file "[パス]". 
Operating system error 5: "5(Access is denied.)". 

・親フォルダには既にアクセス権限を付与済。
GUIエクスプローラー上だと普通にファイルの作成削除は可能。
【対応サマリ】
・フォルダへの権限不足。以下手順で対応。

【対応手順】
・対象のフォルダを右クリック「プロパティ」
・「セキュリティ」タブ下部の「詳細設定」
・「継承の有効化」選択
・「子オブジェクトのアクセス許可エントリ全てを、
  このオブジェクトからの継承可能なアクセス許可エントリで置き換える」選択
f:id:shinebalance:20180123000904p:plain:w300
f:id:shinebalance:20180123000923p:plain
・「OK」→本当に進めるか聞かれるので「はい」

【備考】
「継承の有効化」が必要という事が最初分からず手間取った。参考URLと少しだけ画面と手順も違ったし。
推測だけど…
→処理内容としては共有貼ってるフォルダにbakファイルを作りに行くだけ
→この場合のbakファイルは「子オブジェクト」にあたる?ので、
 親オブジェクトと同じ権限を継承させないと、親フォルダに貼っている権限を持てない


【参考URL】
Attaching Database – Unable to Open Physical File (Access is Denied)dbamohsin.wordpress.com
stackoverflow.com


以上