Sql Server 2008 - удаление синонима - PullRequest
8 голосов
/ 19 октября 2011

У меня есть служебная база данных (клиенты) на моем сервере базы данных, где я храню все процедуры, используемые для изменения данных в других базах данных. Недавно мы узнали, что использование синонимов принесет нам большую пользу.

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

У всех есть идеи, как модифицировать синонимы в разных базах данных. Мое решение состоит в том, чтобы добавить в каждую базу данных одинаковую хранимую процедуру, что может привести к ошибке.

1 Ответ

7 голосов
/ 19 октября 2011
EXEC('USE employees;
DROP SYNONYM [dbo].tblPerson2;')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...