Prever:
use databaseA;
go
exec databaseB.dbo.spProcedure();
go
O procedimento é executado no banco de dadosA - o contexto do qual é chamado, ou banco de dadosB - no contexto em que existe?
Se o procedimento tivesse
insert into myTable(example) values ('example');
... e se ambos os bancos de dados tivessem tabelas idênticas myTable, qual banco de dados receberá o novo registro?
Ele é executado no contexto do banco de dados em que o objeto existe. Código de exemplo:
Isso destaca que mesmo consultando "dbo.Data1" que existe em ambos os bancos de dados, o valor retornado é dessa tabela no banco de dados Temp2 porque esse é o contexto do procedimento armazenado.
O exemplo é um SELECT, mas o mesmo vale para um INSERT.