2010-07-20 92 views
0

我偶然发现了SQL Server 2005中的一些奇怪的T-SQL代码,我试图了解它是如何工作的。SQL Server dbo和架构

如果在两个单独的模式中有两个名为tblScenario的表,其中一个在Cache架构中,另一个在Dimension架构中。

当我们查询SELECT * FROM dbo.tblScenario时,我们会发现什么? dbo如何以可靠和可预测的方式映射到这些模式之一?

由于某种原因,这实际上有效,但我们不知道为什么?

我们将解决它,所以它明确调用SELECT * FROM Dimension.tblScenario,但我很好奇。

感谢,

菲利普

+0

我会虽然,这是行不通的, dbo是一个模式,但它也是一个用户。难道dbo用户拥有它选择的模式? - 编辑我刚刚测试过(在SQL 2008中),我得到了'无效的对象名'错误。 – 2010-07-20 15:36:12

回答

0

如果您运行的是旧版本的尺寸架构查询我希望它从尺寸模式返回数据,如果您是在缓存模式运行它我希望它从Cache模式返回数据,如果你从其他模式运行它,我会期望它返回一个错误(类似于Chris Diver记录的错误)。

1

OLTP检查... 1)是DBO.tblScenario的一个视图?

Othewise,这听起来像你处理SQL Server分析服务(SSAS),这与尺寸的交易,mimicing表等更多信息:http://technet.microsoft.com/en-us/library/cc966452.aspx

+0

我以为你可能已经到了那里,因为我们没有检查意见......唉,它也不是一个观点。 – Philip 2010-07-23 20:04:12