Sql Server 2008 -删除同义词



我的db服务器上有一个实用程序数据库(客户),我存储用于修改其他数据库上数据的所有例程。我们最近发现使用同义词对我们大有好处。

use Customers   
IF EXISTS (SELECT * FROM employees.sys.synonyms WHERE name = 'tblPerson2') begin
drop synonym [dbo].tblPerson2
end

这不起作用,因为我正在使用Customers数据库,但需要从employees数据库中删除同义词。

SQL Server 2008不支持此语法-

drop synonym [employees].[dbo].tblPerson2

有谁知道如何跨数据库修改同义词吗?我的解决方案是必须为每个数据库添加相同的存储过程,这似乎很容易出错。

EXEC('USE employees;
DROP SYNONYM [dbo].tblPerson2;')

最新更新