Oba exec
a execute_sql
provozovat ve svém vlastním rozsahu. A změna v databázi ovlivní pouze jejich vlastní rozsah. Takže můžete:
set @sql = 'use ' + quotename(@new_db_name) + '; disable trigger t1;'
exec (@sql)
Pokud vím, neexistuje způsob, jak změnit databázový kontext aktuálního oboru na název proměnné databáze.