2011-10-19 31 views
8

私は、他のデータベースのデータを変更するために使用されるすべてのルーチンを格納しているdbサーバー上にユーティリティデータベース(customers)を持っています。私たちは最近、類義語を使用することで大きな利益を得ることが分かった。Sql Server 2008 - シノニムを削除する

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

私はCustomersデータベースを使用していますが、従業員データベースから同義語を削除する必要があるため、これは機能しません。

SQL Server 2008では、この構文をサポートしていません -

drop synonym [employees].[dbo].tblPerson2 

誰でも同義語accrossデータベースを変更する方法上の任意のアイデアを持っています。私の解決策は、すべてのデータベースに同じストアドプロシージャを追加する必要があり、エラーが発生する可能性が高いようです。

+0

+1私のベルトの新しいツールです。 –

答えて

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

完全に動作します。ありがとう! – duckmike

関連する問題