为什么我的域和用户名被添加到我创建的存储过程之前?

arb*_*ers 2 sql-server stored-procedures

在 Microsoft SQL Server Management Studio 中,每次我编写诸如 的存储过程时ThisIsAStoredProcedure,它最终都会在存储过程列表中显示为COMPANYDOMAIN\MYUSERNAME.ThisIsAStoredProcedure

我希望它是dbo.ThisIsAStoredProcedure相反的。

我试过右键单击和重命名,但这不起作用。

我有三个顾虑:

  1. 为什么会这样?
  2. 如何将我的域\用户名前缀的现有存储过程更改为dbo.procedurename
  3. dbo.procedurename默认情况下,如何将配置更改为命名过程?

men*_*osi 6

  1. 如果您没有明确设置它,那么您创建的对象将在您的用户的默认架构下创建。在SSMS中,查看:
    Database -> Security -> Users -> <you>-> Properties -> General -> Default schema

  2. ALTER SCHEMA dbo TRANSFER [COMPANYDOMAIN\MYUSERNAME].ThisIsAStoredProcedure;

  3. 更改您在 1 中查看的设置。

当然,您可能没有权限做 2 或 3,在这种情况下,这是有权限的人的问题。