0

私は SQL を初めて使用し、バックエンドとして SQL Server 2008 を使用して学生の出席の詳細を保存しています。1 日に約 10,000 件のレコードが保存されます。バックアップを取るためのクエリを学びました:

backup database dbname to disk =E:\\sqlbackup.bak with init,stats=10

そして復元します:

USE master ALTER DATABASE dbname 
SET Single_User WITH Rollback Immediate 
RESTORE DATABASE dbname FROM DISK =E:\\sqlbackup.bak WITH RECOVERY, 
REPLACE ALTER DATABASE dbname SET Multi_User

私がやりたいことは、すべての学期が終わった後、前学期のレコードのバックアップを取り、(効率のために) テーブルからそれらを切り捨てて、管理者が前学期の出席を確認したい場合に備えて、学生の場合、バックアップから復元して確認できます (現在のデータも上書きされないようにする必要があります)。

どうすればこれを実行できますか? 部分バックアップに関する記事を読みましたが、明確な考えがありません。

4

1 に答える 1

0

学期の終わりに適切な意味のある名前で現在のデータベースのバックアップを作成し、既存のデータベースを切り捨てるだけです。必要な特定のデータしかない場合は、別の名前でバックアップを添付し、不要なデータを削除するだけです。または、空のデータベースを作成し、保持したいデータをエクスポートしてから、デタッチすることもできます。

于 2013-09-02T18:19:15.643 に答える