Is it possible to track changes for a whole database and restore these changes? I know there is a backup/restore feature but I need to backup and restore the Database as quick as possible after some transactions for many times. (Only the data, but db schema would also be nice.)
I need something like Oracle Flashback.
You could create a Database Snapshot on the database and then use that to find out what changes have happened on the database since the snapshot was created. You can also restore the database to a previous state using the snapshot.
Reference: http://msdn.microsoft.com/en-us/library/ms175158.aspx
OR you can use Change Data Capture to monitor the insert/update/delete activity on the table that is being monitored by CDC.
Reference: http://msdn.microsoft.com/en-us/library/cc645937.aspx