sql >> データベース >  >> RDS >> Sqlserver

ログファイルなしで MDF を添付するには?

    最初の状況では、次のようなことを試したようです (または、ダイアログを通過するときに GUI が準備するものは何でも):

    CREATE DATABASE YAFnet ON (FILENAME = N'C:\sql_data\YAFnet.mdf')
    FOR ATTACH;
      

    ただし、この方法には両方の mdf が必要です ファイルと ldf ファイル。そうしないと、次のようなエラー メッセージが表示されます:

    mdf しか持っていない場合でも続行する方法があります。 ファイル。 mdf があると仮定すると ファイルが SQL Server から適切に切り離されていれば、mdf を添付できるはずです。 次の構文を使用して、ログ ファイルのないファイルを作成します:

    CREATE DATABASE YAFnet ON (FILENAME = N'C:\sql_data\YAFnet.mdf')
    FOR ATTACH_REBUILD_LOG;
      

    ただし、あなたの場合、ファイルが SQL Server から適切に切り離されていないようです:

    エラーメッセージに記載されているものを含め、いくつかの考えられる説明があります。おそらく、無効な SAN シャドウから取得されたか、読み取り専用で切断されたか、SQL Server または基盤となるシステムがクラッシュした後に回復されたか、コピー/ダウンロード中に破損したか、または他に何があるかはわかりません.

    Yaf のサポートまたはサービス プロバイダのサポートに戻って、適切なバックアップがあるかどうかを確認する必要があります。 mdf の別のコピーが利用可能であるか、それがない場合は ファイル。また、Yaf が何であるかを実際に知っている人や、あなたが話している Yaf を確認する方法を持っている人は誰もいないことに注意してください。

    そうでなければ、この特定の mdf から、運が悪いようです ファイルが無効であるため、あまり役に立ちません。

    これがまさに、デタッチ/アタッチおよび/または O/S レベルのファイル コピー アプローチが、SQL Server のバックアップ (または移行) のあまり有用な方法ではない理由です。適切なバックアップ/回復計画が必要です。つまり、データ損失に対する許容度に適した適切な完全/差分/ログ バックアップを作成する必要があります。そして、データベースをデタッチすることは、ほとんどの場合劣った考えです - 何かが mdf に起こったとき デタッチ中またはデタッチ後にファイルを削除すると、ゼロ になります。 データベースのコピー



    1. 異なるデータ型の動的列を含むフラット ファイルを Oracle データベースにロードする方法は?

    2. SQLclフォーマットオプション(Oracle)

    3. dblinkは.pgpassファイルを使用しません

    4. SQL Serverなしで.mdfデータベースにアクセスすることは可能ですか?