У меня есть служебная база данных (клиенты) на моем сервере базы данных, где я храню все процедуры, используемые для изменения данных в других базах данных. Недавно мы узнали, что использование синонимов принесет нам большую пользу.
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
У кого-нибудь есть идеи, как изменять синонимы в базах данных. Мое решение включает в себя добавление идентичной хранимой процедуры в каждую базу данных, что кажется подверженным ошибкам.