Estou trabalhando com um aplicativo que usa sinônimos SQL para alternar entre tabelas em bancos de dados locais e remotos sem duplicar o código.
BEGIN TRANSACTION
if (@isRemote = 1)
BEGIN
CREATE SYNONYM SY_SUBJECTS FOR [MT00011].[DBO].[SUBJECTS];
END
ELSE
BEGIN
CREATE SYNONYM SY_SUBJECTS FOR [SUBJECTS];
END
-- do some complex work on SY_SUBJECTS
DROP SYNONYM SY_SUBJECTS
COMMIT
Esse código é chamado por várias solicitações simultaneamente. Estou preocupado que isso cause problemas se esse código for chamado ao mesmo tempo. Ele é executado 99% do tempo em um único banco de dados SQL, e o caso "remoto" é executado após o expediente.
há um problema aqui?