为什么我的视图在我的用户架构中创建?

时间:2017-09-21 12:35:12

标签: sql-server view sql-server-2014 database-schema

我正在使用MSSQL Studio并使用我的Windows凭据(DOMAIN \ user)连接到SQL Server 2014.

我刚创建了一个新视图,并想知道为什么其他用户找不到它:

CREATE VIEW abc AS SELECT 1 AS a

出乎意料的是,此视图未在dbo架构中创建,而是在DOMAIN\user中创建。 要在dbo模式中创建视图,我需要执行:

CREATE VIEW dbo.abc AS SELECT 1 AS a

这让我感到惊讶,因为我一直在创建没有明确架构的视图,并且始终在dbo中创建 - 从今天开始。

可能是什么原因?

2 个答案:

答案 0 :(得分:1)

在安全性下检查 - >登录 - >您的用户 - 用户映射。对于所有选定的地图,您的“默认架构”应更改为dbo。

答案 1 :(得分:1)

您可以将默认架构更改为dbo,但作为最佳实践,应编写视图脚本以包含架构。在dbo的情况下,它有4个额外的字符与句点,但它可以防止这些类型的问题。