我的数据库服务器上有一个实用程序数据库(客户),我在其中存储了用于修改其他数据库上的数据的所有例程。我们最近发现,使用同义词会使我们受益匪浅。
use Customers
IF EXISTS (SELECT * FROM employees.sys.synonyms WHERE name = 'tblPerson2') begin
drop synonym [dbo].tblPerson2
end
这不起作用,因为我使用的是客户数据库,但需要从我的员工数据库中删除同义词。
SQL Server 2008不支持此语法 -
drop synonym [employees].[dbo].tblPerson2
任何人都对如何修改数据库中的同义词有任何想法。我的解决方案是必须向每个数据库添加一个相同的存储过程,这似乎容易出错。
答案 0 :(得分:7)
EXEC('USE employees;
DROP SYNONYM [dbo].tblPerson2;')