我有一个存储过程:
当我(数据库所有者)运行这个过程时,一切都按预期工作。当我的同事通过 Active Directory 中的角色对该数据库具有 DROP/CREATE 权限时,会出现一些问题。令我困惑的是:
表的创建没有dbo
在名称前显式指定架构。这导致domain\cowork_id.table_name_here
创建一个名为table 的表。除了在他的个人模式中创建的表之外,他现在还在数据库中拥有该模式(在运行 proc 之前它不存在)。
发生了什么?为什么 SQL Server 在用户架构中创建表而不是在dbo
未指定时创建表?