Есть только два способа, о которых я знаю, и оба типа отстой. Во-первых, использовать динамический SQL, например:
declare @db varchar(512)
set @db = 'NorthwindV1.1'
declare @sql varchar(max)
set @sql = 'select * from ' + @db + '.dbo.YourTable'
exec (@sql)
Второй - установить несколько экземпляров SQL Server на компьютере. Как localhost\v1.0
, localhost\v1.1
и так далее. Затем вы можете создать связанный сервер, который вы запрашиваете, как:
select * from linkedserver.northwind.dbo.YourTable
Теперь вы можете изменить связанный сервер так, чтобы он указывал на один из localhost\v1.0
, localhost\v1.1
, и хранимые процедуры будут следовать.
Я буду наблюдать за этим вопросом, чтобы увидеть, появятся ли лучшие предложения :)