We have a long running job for report data generation and we are not worried about changes to the source data after the job has started. For this case the SNAPSHOT isolation mode seems to be a good fit. But we are looking at a possible way to use Snapshot isolation from a scheduled SQL job.
When connecting through a client using ADO.NET we are able to mention the transaction to use Snapshot Isolation (
SqlTransaction sqlTran = connection.BeginTransaction(IsolationLevel.Snapshot)). But there seems to be no way of running a scheduled job with the same isolation.
Is there a way we can run an SQL job under snapshot isolation level?