WalzoneInterview Prep
📞 Interviewing soon? Practice with a realistic AI mock phone interview — it calls you, then scores you. First 15 min FREE →

SQL Server · Expert · question 69 of 100

What are the different types of database snapshots in SQL Server, and how can they be used in different scenarios?

📕 Buy this interview preparation book: 100 SQL Server questions & answers — PDF + EPUB for $5

In SQL Server, a snapshot is a read-only copy of a database at a fixed point in time. There are two types of database snapshots in SQL Server:

1. **Database snapshot**: A database snapshot is a point-in-time, read-only copy of an entire database. It is created from an existing database and allows users to query the data as it existed at the time the snapshot was created. Any changes made to the original database are not reflected in the snapshot. Database snapshots are useful for running reports against historical data and for providing a consistent view of data for certain applications.

2. **Filegroup snapshot**: A filegroup snapshot is a point-in-time, read-only copy of a single filegroup within a database. It is created from an existing database and allows users to query the data as it existed at the time the snapshot was created. Any changes made to the original database are not reflected in the snapshot. Filegroup snapshots are useful for rapidly restoring specific filegroups or pages in the event of a failure.

Database snapshots can be used in a variety of scenarios, including:

1. **Reporting and analytics**: Database snapshots can be used to create reports and run analytics against historical data without impacting the performance of the production database. This is particularly useful in scenarios where the production database is heavily used and cannot afford to experience performance degradation.

2. **Testing and development**: Database snapshots can be used by developers to create a copy of the production database and test new code or changes before deploying to production. This helps to ensure that changes are thoroughly tested and do not cause issues in production.

3. **Backup and recovery**: Filegroup snapshots can be used to rapidly restore specific filegroups or pages in the event of a failure. This can help to minimize downtime and ensure that critical data can be quickly restored.

In order to create a database snapshot in SQL Server, you can use the following T-SQL code:

CREATE DATABASE database_name_snapshot ON
(
    NAME = database_name,
    FILENAME = 'snapshot_file_path'
)
AS SNAPSHOT OF database_name;

To create a filegroup snapshot, you can use the following T-SQL code:

CREATE DATABASE database_name_snapshot ON
(
    NAME = filegroup_name,
    FILENAME = 'snapshot_file_path'
)
AS SNAPSHOT OF database_name;

Overall, database snapshots are a powerful feature in SQL Server that can be used to improve performance, enable testing and development, and provide a quick and easy backup and recovery solution.

Reading is step one. Saying it out loud is the interview. Our AI interviewer calls your phone and runs a realistic SQL Server interview — then scores it.
📞 Practice SQL Server — free 15 min
📕 Buy this interview preparation book: 100 SQL Server questions & answers — PDF + EPUB for $5

All 100 SQL Server questions · All topics