Sql server 为什么会出现“同义词'syn.syn_AAA'引用无效对象”错误?

Sql server 为什么会出现“同义词'syn.syn_AAA'引用无效对象”错误?,sql-server,Sql Server,当我执行一个stroed过程时,它会工作。但具体地说,当我运行select语句时,会出现以下错误 同义词“syn.syn\u NEO\u DB\u tgradealises”指的是无效对象 我没有做任何数据库更改/权限更改。 我怎样才能克服这个问题 我运行了以下查询,它显示了与我的表正确链接的基本对象名称 从sys.synonyms中选择*,其中name='Syn_AAA' 我通过将同义词替换为[LINKED_SERVER].[DB_NAME].[SCHEMA_NAME].[OBJECT_NAM

当我执行一个stroed过程时,它会工作。但具体地说,当我运行select语句时,会出现以下错误

同义词“syn.syn\u NEO\u DB\u tgradealises”指的是无效对象

我没有做任何数据库更改/权限更改。 我怎样才能克服这个问题

我运行了以下查询,它显示了与我的表正确链接的基本对象名称

从sys.synonyms中选择*,其中name='Syn_AAA'


我通过将同义词替换为[LINKED_SERVER].[DB_NAME].[SCHEMA_NAME].[OBJECT_NAME]克服了这个问题

尝试删除别名aa,只需从Syn执行select*_AAA@maSTAShuFu相同错误//无效对象名Syn_AAA//Syn是您的架构名吗?同义词在被引用时需要架构名称@N00BPR0GRAMER是,这是架构..没有问题that@ASP如果我像//SELECT*FROM sys.synonyms,其中name='syn.syn_AAA'//那样运行,我不会得到任何结果。没有“syn”,我就得到了tbale信息。但我所有的数据库对象都使用超过300个模式运行,我们没有遇到任何模式问题
SELECT  
            aa.CompanyId [LegCompanyId],
            aa.ProductId AS [LegGradeId],
            aa.GradeAliasId [LegGradeAliasId],
            aa.ProductName AS [LobGradeText],
            aa.[Alias] [GradeAlias],
            aa.PhraseKey [PhraseKey],
            GETUTCDATE() AS 'TimeStamp'
    FROM    syn.Syn_AAA aa