SQL Serverデータベースのファイルを手動でコピーしてバックアップしたい。 database.MDF
およびdatabase.LDF
ファイルを十分にコピーしていますか、それともファイルを追加する必要がありますか?
これはデータベースをバックアップするための適切な方法ではない可能性がありますが、場合によっては、たとえばテスト目的で役立つことがあります。
OSが破損していて、DBバックアップがない場合は、それをHDDとして接続し、C:\ Program Files\Microsoft SQL Server\MSSQL10_50.MSSQL2008\MSSQLで利用可能なデータを含むファイルを取得できます。\DATAおよび次のコマンドを実行します
Create database dbname.
On.
(
Filename= 'mymdf.MDF',
Filename ='mylog.LDF'. ).
For attach;
これを行う理由はありますか?なぜ使用しないのですか?
backup database x to disk...?
少なくともデータベースのすべてのファイルをリストするようにしてください:
select
db_name(database_id) as Database_Name,
physical_name,
name,
state_desc
from sys.master_files
where
db_name(database_id) ='Your_Database'
この後、データベースを設定しますOFFLINE
(これによりデータベースが停止します):
alter database [Your_Database] set offline
再びオンラインに設定します。
alter database [Your_Database] set online
はい、何らかの理由でネイティブバックアップを使用したくない場合は、通常のデータベースでも可能です。ファイルをコピー(および復元)する前にMS SQL Serverサービスを停止するだけです。
FILE-STREAMを使用した場合に機能しない場合の例。
カーボンコピーや他の自動ファイルバックアップサービスなどのプログラムをデータベースディレクトリ(.mdfなどのファイルが格納されているディレクトリ)に対して実行していて、それがフェイルセーフとして十分かどうか疑問に思っている場合、答えは「はい」です。それを行うことができます。
ただし、「手動」バックアップを実行している場合は、他の回答で述べられているように、SSMSまたはT-SQLを使用してバックアップする必要があります。特定のバックアップアプリケーションはOPEN SQL TABLESをバックアップできないため、DBを「手動で」コピーする前にサービスをシャットダウンする必要があることに注意してください。ただし、サービスがOPEN SQLテーブルをバックアップする場合は、何も操作しなくても問題ありません。
お役に立てれば!