I'm very sorry if this is the wrong place to ask this question.
I have been tasked with implementing a system to allow administrators to make changes to data in a database, and save these changes into "states" or "plans". The states need to be compare-able, with a final state chosen to become the "primary state" and be used for all future queries.
Normally, for things like this, I would duplicate the database and make changes there, but the database I have been entrusted with is extremely large and impossible to duplicate quickly. I'm using MS SQL Server, and interfacing with Entity Framework in .NET.
Do any of these tools provide inclusive solutions to this problem? How could this be done realistically? A coworker has suggested version control, which sounds promising, but I'm wondering if there is a better way.