2011-10-19 36 views
8

Tôi có một cơ sở dữ liệu tiện ích (khách hàng) trên máy chủ db của tôi, nơi tôi lưu trữ tất cả các thường trình được sử dụng để sửa đổi dữ liệu trên cơ sở dữ liệu khác. Gần đây chúng tôi đã phát hiện ra rằng việc sử dụng các từ đồng nghĩa sẽ mang lại lợi ích to lớn cho chúng tôi.Sql Server 2008 - Thả một từ đồng nghĩa

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

Điều này không hiệu quả vì tôi đang sử dụng cơ sở dữ liệu Khách hàng nhưng cần phải bỏ đồng nghĩa từ cơ sở dữ liệu nhân viên của tôi.

SQL Server 2008 không hỗ trợ cú pháp này -

drop synonym [employees].[dbo].tblPerson2 

Bất cứ ai có bất cứ ý tưởng về cách sửa đổi cơ sở dữ liệu đồng nghĩa qua. Giải pháp của tôi liên quan đến việc phải thêm một thủ tục được lưu trữ giống hệt nhau vào mọi cơ sở dữ liệu, mà dường như dễ bị lỗi.

+0

+1 cho công cụ mới trong vành đai của tôi. –

Trả lời

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

Hoạt động hoàn hảo. Cảm ơn! – duckmike

Các vấn đề liên quan