Sql server SQL71561错误-引用不明确
当前数据库正在查找,因此查找此对象时不会出现任何问题。这是从现有视图导入的。看起来整个数据库是这样的。我不确定::语法是什么 以下是视图:Sql server SQL71561错误-引用不明确,sql-server,sql-server-data-tools,Sql Server,Sql Server Data Tools,当前数据库正在查找,因此查找此对象时不会出现任何问题。这是从现有视图导入的。看起来整个数据库是这样的。我不确定::语法是什么 以下是视图: Error 431 SQL71561: Computed Column: [dbo].[ViewAlertFrequency].[BeginDate] contains an unresolved reference to an object. Either the object does not exist or the reference is
Error 431 SQL71561:
Computed Column: [dbo].[ViewAlertFrequency].[BeginDate] contains an unresolved
reference to an object.
Either the object does not exist or the reference is ambiguous because it could
refer to any of the following objects:
[Lookup].[dbo].[AlertFrequency].[AlertFrequency]::[BeginDate]
or [Lookup].[dbo].[AlertFrequency].[BeginDate]
您在“FROM”子句中使用了由三部分组成的命名约定。将“Lookup.dbo.AlertFrequency”更改为“dbo.AlertFrequency”,您的问题就会消失。我对此的结果好坏参半。更改其中一个DB选项似乎足以解决这些由3部分组成的名称,但随后我遇到了跨数据库引用(由4部分组成的名称)的其他问题。我认为将三部分的名称改为两部分的[schema].[object]命名会更容易处理
GRANT语句只是指定将权限授予对象而不是模式。我认为这不属于对象定义,但我们在部署后脚本中处理权限,因为它们在不同的环境中略有不同。您看到了吗?@IswantoSan我尝试使用$(DatabaseName),但仍然不起作用。我刚把三个部分的名称改成了2。可能是重复的。你能解释一下你是如何在DB选项中更改它的吗?不确定你想在DB选项中更改什么。如果要忽略此警告,可以修改项目属性以忽略警告的数字部分(71561),如果尝试忽略多个警告,则可以将其作为CSV列表输入。
CREATE VIEW [dbo].[ViewAlertFrequency]
AS
--###
--ViewAlertFrequency
--###
--###
--used by: eobResolve
--###
SELECT DISTINCT TOP 100
AlertFrequency.[ID] AS [ID],
AlertFrequency.Code AS Code,
AlertFrequency.[Name] AS [Name],
AlertFrequency.[Description] AS [Description],
AlertFrequency.[Rank] AS [Rank],
AlertFrequency.BeginDate AS BeginDate,
AlertFrequency.EndDate AS EndDate
FROM
Lookup.dbo.AlertFrequency AS AlertFrequency
ORDER BY
AlertFrequency.[Rank] ASC
GO
GRANT SELECT
ON OBJECT::[dbo].[ViewAlertFrequency] TO [eobResolve]
AS [dbo];