Masalah dengan yang pertama adalah apa yang Anda lakukan adalah USE 'myDB'
daripada USE myDB
.you sedang melewati string; tetapi USE sedang mencari referensi eksplisit.
Contoh terakhir bekerja untuk saya.
declare @sql varchar(20)
select @sql = 'USE myDb'
EXEC sp_sqlexec @Sql
-- also works
select @sql = 'USE [myDb]'
EXEC sp_sqlexec @Sql