我们为数据库创建了一个同义词,该年份是特定年份,即DST2016。我想为2017年的数据库创建同义词,即DST2017,这样我们的所有工作都会自动指向2017年。
当我运行命令时
create synonym ABS for [DST2017].[dbo].[ABS]
我收到以下错误:
数据库中已有一个名为“ABS”的对象。
知道如何解决这个问题吗?
答案 0 :(得分:0)
我不知道你在哪里创建旧的(同义词),但也许你可以做这样的事情来删除旧的:
select 'drop synonym ' + name
from sys.tables order by name
然后使用此命令创建新命令:
declare @db as varchar(50) = (select db_name())
select 'create synonym ' + name + ' for ' + @db + '.dbo.' + name
from sys.tables order by name
您还需要位于表所在的其他数据库中,否则您将收到上述错误。