I've developed a set of SSIS packages to load a data warehouse. In order to manage any issue that may arise during package execution, each package starts by creating a snapshot of the data warehouse.
The package authenticates on my server using a login that does not belongs to the dbcreator server role. Obviuosly with this configuration the package fails due to the lack of permission to create/drop a database.
The dbcreator server role allows a user to create/drop a database on the whole instance. My question is: Is there a way to grant a database user the permission to create a snapshot of the given database (and only that) and eventually drop the snapshot (and only the snapshot associated to the given database)?
What are the best practices to handle this requirement?