_[PRIMARY]
_と_[SECONDARY]
_の2つのファイルグループを持つデータベース(MyDatabase)があります。
_[SECONDARY]
_ファイルグループには、_[DataFileA]
_と_[DataFileB]
_の2つのデータファイルがあります。
_[DataFileA]
_が破損しています(_DBCC CHECKDB
_プロセスの後でも)。
私はそれを解決しようとしました:
DBCC CHECKDB ([MyDatabase], REPAIR_ALLOW_DATA_LOSS)
しかし、それは役に立ちませんでした。[DataFileA]
_を削除しましたが、成功しませんでした。ただし、_[PRIMARY]
_ファイルグループは問題ありません。
_[PRIMARY]
_ファイルグループのみをバックアップして(新しい名前で)復元し、この単一のファイルグループから新しいデータベースを作成できますか?
データベースはONLINE
であるため、2つの主なオプションがあります。
古いデータベースと同じ[PRIMARY]
ファイルグループオブジェクトのスキーマを使用して新しいデータベースを作成し、使用可能なツール(SSIS、bcp、リンクサーバーなど)のいずれかを使用してデータを転送します。既存のスキーマ、制約、および関係(外部キーなど)の複雑さによっては、これにはかなりの時間がかかる場合があります。
[PRIMARY]
ファイルグループの 部分バックアップ のみを取得します。 piecemeal restore を使用して、これを新しいデータベースとファイルに復元します。最後に、 ファイルグループを無効としてマークします 。 DBCC CHECKFILEGROUP
for [PRIMARY]
が最初に正常に実行されることを確認してください。オプション1と同様に、スキーマとデータを安全な場所にエクスポートする必要があります。ご存知のように、貴重なデータのバックアップをテストすることが優先事項です:)