为什么我的视图是在我的用户模式中创建的?
Why is my view created in my user 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
中创建的 – 从今天开始。
可能是什么原因?
检查安全 -> 登录 -> 您的用户 - 用户映射。对于所有选定的地图,您的 "Default Schema" 应更改为 dbo。
您可以将默认模式更改为 dbo,但作为最佳实践,视图应编写脚本以包含该模式。在 dbo 的情况下,句点多了 4 个字符,但它可以防止这些类型的问题。
我正在使用 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
中创建的 – 从今天开始。
可能是什么原因?
检查安全 -> 登录 -> 您的用户 - 用户映射。对于所有选定的地图,您的 "Default Schema" 应更改为 dbo。
您可以将默认模式更改为 dbo,但作为最佳实践,视图应编写脚本以包含该模式。在 dbo 的情况下,句点多了 4 个字符,但它可以防止这些类型的问题。