sql >> Base de Datos >  >> RDS >> Sqlserver

Alias ​​de bases de datos cruzadas de SQL Server

Es posible que pueda usar sinónimos

CREATE SYNONYM WholeTableAliasWithDBetc FOR TheDB.dbo.TheTable

Esto significa que todas las referencias a objetos en la base de datos local son locales para esa base de datos, excepto los sinónimos que le ocultan la otra base de datos.

También puede usar procedimientos almacenados en la base de datos de auditoría. Hay una tercera forma de EXEC que se usa poco donde puede parametrizar el nombre del proceso almacenado

DECLARE @module_name_var varchar(100)
SET @module_name_var = 'mydevaudit.dbo.AuditProc'
--   SET @module_name_var = 'whatever.dbo.AuditProc'
EXEC @module_name_var @p1, @p2, ...

Obviamente, puede cambiar module_name_var para usar cualquier base de datos que desee