1

SQL Express で .BAK ファイルを復元する前に、この SQL クエリを実行しようとしています。最初は、自分のユーザー アカウントのデスクトップにファイルがありました。管理者としてログインしています。

このようにデスクトップ上の.BAKファイルにアクセスしようとすると

RESTORE FILELISTONLY FROM DISK= 'C:\Documents and Settings\Administrator\Desktop\file.bak'

エラーが発生します。

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

ただし、.BAKファイルをに移動してC:\temp、これを実行すると

RESTORE FILELISTONLY FROM DISK= 'C:\temp\file.bak'

それはうまく動作します。

何が起こっているのかわかりません。SQL Express で Windows 認証を使用してデスクトップ上のファイルにアクセスする方法はありますか?

4

3 に答える 3

6

ポリシー エディターで C:\Documents and Settings\Administrator\Desktop\ フォルダーへの読み取りアクセス許可をユーザーまたはローカル サービスに付与してみてください(フォルダーを右クリックし、[セキュリティ] タブで [追加] をクリックし、[詳細設定] をクリックします。|[今すぐ検索] をクリックします)。

于 2008-10-28T07:02:22.157 に答える
0

復元スクリプトを実行すると、SQL Express が実行されているサービス アカウントのコンテキストで実行されます。サービス管理コンソールに移動 (または Services.msc を実行) し、SQL Express サービスを見つけて、実行するように構成されているアカウントを確認し、デスクトップ上のファイルのアクセス許可を確認して、アカウントに読み取りアクセス権があることを確認します。 .

于 2008-10-28T10:37:56.480 に答える