164

ファイルストリームが有効になっているSQLServer2012データベースがあります。ただし、バックアップして別のSQL Server 2012インスタンス(別のマシン)に復元しようとすると、次のようなメッセージが表示されます。

復元するバックアップセットが選択されていません。

それ以上の説明は一行もありません。ここで何が問題になっていますか?

ファイルストリームのない他のすべてのデータベースは問題なく、正常に復元できます。それはファイルストリームに関連するものですか?修正プログラムなどをインストールする必要があります。

4

21 に答える 21

193

この問題が発生し、間違ったバージョンのSQLに復元しようとしていたことが判明しました。何が起こっているかについての詳細が必要な場合は、次のSQLを使用してデータベースを復元してみてください。

RESTORE DATABASE <YourDatabase> 
FROM DISK='<the path to your backup file>\<YourDatabase>.bak'

これにより、これをデバッグする必要があるというエラーメッセージが表示されます。

于 2012-08-28T11:40:40.093 に答える
66

私の問題は結局パーミッションでした。私は開発マシンを使用していて、Homegroup経由でコピーしました。どういうわけか、おそらくファイルのコピー先に基づいて、アクセス許可が台無しになり、ManagementStudioがファイルを読み取ることができませんでした。これは開発者なので、Everyoneにbakファイルへのアクセス許可を与えただけで、GUIを介して正常に復元できました。

于 2012-11-09T03:11:34.073 に答える
29

実行時:

RESTORE DATABASE <YourDatabase> 
FROM DISK='<the path to your backup file>\<YourDatabase>.bak'

それは私に次のエラーを与えました:

デバイス「C:\NorthwindDB.bak」のメディアファミリが正しく形成されていません。SQLServerはこのメディアファミリを処理できません。RESTOREHEADERONLYが異常終了しています。(Microsoft SQL Server、エラー:3241)Blockquote

ソースDBと宛先DBの両方で互換性レベルが同じであっても、DBを上位SQLバージョンから下位バージョンに移行することはできません。SQLバージョンを確認するには、次の手順を実行します。

Select @@Version

違いを確認するには、ソースSQLサーバー上にDBを作成し、バックアップファイルから復元を試みます。これをSSMSで実行すると、バックアップファイルを選択すると、バックアップファイルに関する情報が表示されます。 「復元するバックアップセットが選択されていません」と表示される下位バージョンのサーバーから開きます ここに画像の説明を入力してください

したがって、データを下位バージョンのSQLに移動する必要がある場合は、これを確認してください。

于 2016-01-05T15:56:26.763 に答える
16

SQL Server Management Studioを管理者として実行し(ショートカット/ exeを右クリックし、[管理者として実行]を選択)、復元を試みます。

于 2014-09-25T20:28:02.407 に答える
11

バージョンを混同するほど愚かではないと思いましたが、新しいサーバーに、SQLServer2005インスタンスが最初から.という名前でインストールされていることに気づきませんでしたSQLEXPRESS。SSMS2012でSQLServer2008 R2にバックアップされたデータベースをSQLEXPRESSインスタンスに復元しようとすると、バックアップセットのリストが空になりました。

最終的にSQLEXPRESS、サーバー上のインスタンスは2012インスタンスではなく、2005であることに気付きました。実際の2012インスタンス(私の場合はSQLEXPRESS2012)に切断して接続しましたが、(明らかに)機能しました。

于 2012-09-11T08:21:02.037 に答える
8

私の問題は、私のユーザーがBuiltin-Administratorsグループに属し、SQLServerでSysadmin-roleを持つユーザーがいないことでした。管理者としてManagementStudioを起動しました。このようにして、データベースを復元することができました。

于 2014-05-12T07:09:45.427 に答える
7

参考:復元するときは、同じ(SQLユーザー)クレデンシャルを使用してSSMSにログインする必要があることがわかりました。最初に、Windows認証アカウントを使用して復元を試みました。

于 2014-05-22T19:05:17.797 に答える
7

私の場合、それはパーミッションであり、単に「データベースの復元...」ではなく「ファイルとファイルグループの復元...」を使用したという事実でした。

それが違いを生みました。

ここに画像の説明を入力してください

于 2016-01-12T14:41:35.417 に答える
7

私にとって、それはユーザー特権の問題です。私はsaユーザーでログインし、正常に動作しています。

于 2017-07-04T09:43:42.437 に答える
6

私にとっての問題は、サーバー上の暗号化されたフォルダーに.BAKファイルがあることでした。完全な管理者権限があっても、SSMSにファイルを読み取らせることはできませんでした。.BAKを暗号化されていないフォルダーに移動すると、問題が解決しました。ファイルを移動した後、暗号化を削除するために実際のファイルのプロパティも変更する必要がある場合があることに注意してください(右クリック、プロパティ、詳細設定、[コンテンツを暗号化してデータを保護する]のチェックを外します。

于 2013-09-11T22:03:07.240 に答える
5

私の場合(新しいSQLサーバーのインストール、新しく作成されたユーザー)、私のユーザーには必要な権限がありませんでした。Management Studioにsaとしてログインし、[セキュリティ/ログイン]に移動して、ユーザー名[プロパティ]を右クリックし、[サーバーの役割]セクションでチェックしsysadminました。

于 2015-11-23T10:14:53.787 に答える
4

SQL Server 2014でも同じ問題が発生しました(復元操作のためにバックアップファイルを見つけようとしたときに、Management Studioがバックアップファイルが存在するフォルダーを認識できませんでした)。このスレッドは私の問題を解決する答えを持っていました。引用:

SQL Serverサービスアカウントは、[スタート]->[コントロールパネル]->[管理ツール]->[サービス]で確認できます。[SQLServerサービス]->[ログオン]タブをダブルクリックします。「ローカルシステムアカウント」または「このアカウント」のいずれかを使用して、特定のアカウントを定義します。ローカルシステムアカウントを使用している場合、サーバーに対してローカルではないバックアップを参照することはできません。代わりに、使用するアカウントを定義した場合、これはバックアップファイルの場所にアクセスする必要があるアカウントです。個人ログオンを使用してバックアップにアクセスする機能は関係ありません。バックアップを開始している場合でも、使用されるのはSQLServerアカウントです。IT担当者は、各アカウントにどのような権利が付与されているかを判断できる必要があります。

それが誰かを助けることを願っています。

于 2015-01-16T13:20:18.847 に答える
3

私にとっては、バックアップファイルがまだ別のプロセスによって開かれているためでした。イベントログは次のとおりです。

BackupDiskFile :: OpenMedia:バックアップデバイス'X:\ Backups \ MyDatabase\MyDatabase_backup_2014_08_22_132234_8270986.bak'を開くことができませんでした。オペレーティングシステムエラー32(別のプロセスによって使用されているため、プロセスはファイルにアクセスできません。)

Sql Server Management Studioを閉じて再度開くだけで解決しました(したがって、ハンドルを持っていたのは明らかにssms.exeでした)。

于 2014-08-22T20:05:11.527 に答える
3

私の場合、それは権限の問題でした。

ここに画像の説明を入力してください

dbcreatorWindowsユーザーの場合、私が使用していた役割はありませんでした。

だから私は以下の手順に従いました

  1. saSQLサーバーに接続します
  2. Securityオブジェクトエクスプローラーで展開
  3. 拡大Logins
  4. 問題のWindowsユーザーを右クリックします
  5. プロパティをクリックします
  6. オプションServer Rolesから選択Select a page
  7. dbcreatorユーザーの役割を確認する
  8. [OK]をクリックします

ここに画像の説明を入力してください

于 2018-09-18T00:46:58.880 に答える
1

この不具合のもう1つの潜在的な理由は、Googleドライブにあるようです。Googleドライブはbakファイルなどを圧縮しているため、Googleドライブを介してデータベースのバックアップを転送する場合は、最初に圧縮する必要があるようです。

于 2014-08-15T19:13:15.937 に答える
1

既存のデータベースを完全に置き換える場合は、WITHREPLACEオプション を使用します。

RESTORE DATABASE <YourDatabase> 
FROM DISK='<the path to your backup file>\<YourDatabase>.bak'
WITH REPLACE
于 2018-08-23T11:54:19.463 に答える
0

SQL Server2012Expressの使用。

私のエラー(SQLマネージャー-データベースの復元ダイアログから):

No backupset selected to be restored

さらに、選択するバックアップセットがリストに表示されていませんでした。

問題は、5つのバックアップファイルのうち1つを、SQL Serverサービスのログオンユーザーがアクセス許可を持たないフォルダーに移動したことでした。そのユーザーを追加しようとしましたが、NT Service \ MSSQL$SQLEXPRESSユーザーをセキュリティに取り込むことができませんでした。リスト。

サービスユーザーのDocumentsフォルダーの下にファイルを移動すると、選択したすべてのファイル(その時点で4つ)を読み取ることができ、エラーが「メディアセットがありません」に変わりました。その後、別のバックアップファイルを探しました。 、そして私が追加したとき、私は復元することができました。

この質問の答えは、私が適切な場所を探し、解決策にたどり着くのに役立ちました。

于 2016-10-13T00:16:52.183 に答える
0

私にとって、それは許可の問題でした。会社のドメインに参加する前に、ローカルユーザーアカウントを使用してSQLサーバーをインストールしました。後で、SQLサーバーデータベースの復元に必要なアクセス許可がないドメインアカウントを使用してデータベースを復元しようとしました。ドメインアカウントのアクセス許可を修正し、使用しているSQLサーバーインスタンスのシステム管理者アクセス許可を付与する必要があります。

于 2017-01-29T07:49:44.160 に答える
0

同じ単一のマシンでバックアップと復元を行っても、同じエラーメッセージが表示されます。

問題はここからでした:バックアップ時に、宛先ボックスに2つのアイテムがありました。

したがって、修正は次のようになります。「宛先」ボックスにアイテムが1つだけあることを確認してください。ある場合は、他のすべてを削除します。

于 2017-08-31T19:20:34.403 に答える
0

私は同じ問題に遭遇しました。管理者としてSSMSを実行し、右クリックしてデータベースの復元を実行します。動作するはずです。

于 2018-10-03T18:48:17.950 に答える
0

私はこのエラーを取得するための最も骨の折れる理由で賞を受賞したと思います。[データベースの復元]ダイアログで、[ソース]の下の[データベース]ドロップダウンが灰色で、無効になっていると思いました。Destinationの下のデータベースドロップダウンにスキップして、それがソースであると考えて選択しました。これを行うと、このエラーメッセージが表示されます。

于 2019-01-22T15:34:44.520 に答える