今日、SSMS 2008 R2を使用して手動で作成された.bakファイルが他の誰かによって作成されています。データベースを手動で復元しようとしていますが、残念ながら、参照するときにファイルが表示されません。
復元プロセスのスクリプトを作成できますが、この問題は以前に見たことがあり、.bakが表示されない原因はわかりません。
今日、SSMS 2008 R2を使用して手動で作成された.bakファイルが他の誰かによって作成されています。データベースを手動で復元しようとしていますが、残念ながら、参照するときにファイルが表示されません。
復元プロセスのスクリプトを作成できますが、この問題は以前に見たことがあり、.bakが表示されない原因はわかりません。
回答:
今日も同じ問題がありました。他のいくつかの回答に示されているように、許可の問題であることが判明しました。違いは、追加する必要があるアカウントがであったことNT SERVICE\MSSQLSERVER
です。
デフォルトのSQLバックアップフォルダーのアクセス許可と、バックアップファイルを含むフォルダーのアクセス許可を比較して、アカウントを特定しました。
サービスアカウントの追加は、思ったほど簡単ではありません。ここに私のために働いたものがあります。(サーバー2012 R2)
NT SERVICE\MSSQLSERVER
名前ボックスに入力します。(名前の確認をクリックしないでください)セキュリティ設定にサービスアカウントが一覧表示され、それに応じてアクセス許可を調整できます。
アクセス許可を追加して(デフォルトのSQLバックアップフォルダーに一致するようにフルコントロールを追加しました)、SQL Server管理コンソールを再起動した後、バックアップファイルを選択して復元できました。
s
には、NT Service\s
そのアカウントでサービスが実行されていなくても、という名前の仮想アカウントがあります。
NT Service\MSSQL$SQLSERVER2014
私は、インスタンスの名前、おそらくので、SQLSERVER2014
今日これを手に入れた。
ファイル共有、インデックス作成をオフにし、開いているセッション(バックアップをコピーするためにログインしているユーザー)をクリアしましたが、問題はなくなりませんでした。
Windowsエクスプローラーに移動し、バックアップを別のフォルダーにコピーし、Management Studioを介してそのフォルダーを参照すると、そこに表示されました。
元のフォルダーを削除して再作成し、内容を再度コピーして.bak
ファイルを参照すると、通常の状態に戻りました。
これが誰かを助けることを願っています。
私はこの問題に何度か遭遇しました。この問題はSQL Serverではなく、フォルダーのWindowsアクセス許可にあります。.bakファイルをコピーしたフォルダーに適切なアクセス許可を追加する必要があります(System Network
ロールだと思います)。
簡単な解決策は、ファイルをProgram Filesのデフォルトのバックアップフォルダーに移動することです。必要なすべての許可があります。SQL Server 2012の場合
D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup
今日も同じ問題に出会いました。復元するバックアップファイルが与えられましたが、閲覧中は表示されませんでした。ただし、ファイルシステムではなく、を使用して復元ウィザードでアクセスできましたSQL Server management Studio
。
いくつか費やした後、私はそれが権限の問題であることを発見しました。SQL Serverサービスはを使用して実行されてNetwork Service
いNetwork Service
ますが、アカウントにはフォルダーにアクセスする権限がありませんでした。に権限を付与した後Network Service
。復元するバックアップファイルが表示されました。
詳細についてはブログで確認してください。
Windowsエクスプローラーで見つけることができる場合RESTORE DATABASE
は、不格好なGUIに頼って見つけるのではなく、コマンドを作成する必要があります。誰がそこでどのコードが実行されているのか、なぜファイルが見つからないのかを知っています-申し訳ありませんが、回避策しかなく、解決策はありません。
また、ファイルが実際にはsomething.bakであり、something.bak.txtではないことを確認します(Windowsが拡張子を「助けて」隠している可能性があります。そのデフォルトの動作は嫌いです)。