We have a production database running in snapshot isolation level. The application have a functionality where the user can selected a few records and command it to be processed. A lot is done while the process run (executes SP, create temp tables,run CURSORS (sic) etc). All those things takes several minutes to run.
This morning a user selected a big chunk of records and got this message:
Snapshot isolation transaction failed in database 'Master' because the object accessed by the statement has been modified by a DDL statement in another concurrent transaction since the start of this transaction. It is disallowed because the metadata is not versioned. A concurrent update to metadata can lead to inconsistency if mixed with snapshot isolation
After a few minutes the user tried again , this time with small chunks of records and was able to workaround the problem.
Maybe it's a performance problem but I was puzzled by the Master DB being the place where the problem ocurred. I can expect it to happen in the production DB or even in the TempDB.
My Question is? What is the role of the Master DB in this problem? Can it be just a misleading error message anyway?