Not possible. Recovery mode means that redo was performed but not undo i.e., you need a prior restore operation.
A snapshot backup can be used as a base for restoring log backups (Veeam does it) but I don't think it is possible outside the VDI API.
There is no T-SQL API to attach a database with NORECOVERY. Vote for the feature here.
I'm attempting to repro your scenario, and am seeing the snapshot restore time between 600 to 800 milliseconds.
This is the repro:
IF DB_ID('test_snapshot') IS NOT NULL
ALTER DATABASE test_snapshot SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
DROP DATABASE test_snapshot;
CREATE DATABASE test_snapshot
ON (NAME = '...
As @DavidBrowne mentioned, Transactional Replication is usually the best route to go and you should strive to design your tables to have primary keys (this is generally just best practice for a number of reasons).
But of course we can't always control the data we're given, and as you have researched Snapshot Replication is a decent alternative for tables ...
Transactional Replication is the best fit for this scenario.
Your tables should have primary keys, which is a pre-requisite for Transactional Replication. The load on the publisher is minimal. The bulk of the work is done by the Distributor, which can be on the same instance as the Publisher, or the Subscriber, or a completely separate SQL instance.
If you ...
That's how PostgreSQL operates by default – just set shared_buffers so that the whole database fits in it.
Inefficient queries can be slow even on a small database that is cached in memory. You will have to tune your workload.
You can use read only replicas but they are not frozen so they can receive some new data.
Maybe you can fix the issue with some kind of filter based on insert/update datetime.
Azure SQL Database doesn't support Database Snapshots, so there's no other option besides:
Running the reporting queries in a SNAPSHOT transaction.
Creating a consistent copy of the database with COPY or point-in-time restore.
Yes, you are fine.
Every snapshot contains all information required to restore the Amazon RDS instance.
You can think of them as "full backups", but they are actually slightly more intelligent and only backup blocks that have not been previously backed-up. However, this happens automatically and each snapshot contains all the information they ...
If you are just looking for nomenclature to name the process, I would call it
DB Sandbox Provisioning
DB Self-Service Provisioning
If you need an actual process supplied by Amazon, you could look into
AWS Control Tower
AWS Service Catalog
If you are planning to script this yourself, there is always the AWS CLI.
The snapshot 'created' is per statement regardless of whether that statement contains subqueries or not. From the documentation:
... This level is different from Read Committed in that a query in a repeatable read transaction sees a snapshot as of the start of the first non-transaction-control statement in the transaction, not as of the start of the current ...