【问题标题】:How to change the owner of a SQL Server table from domain\username to dbo?如何将 SQL Server 表的所有者从域\用户名更改为 dbo?
【发布时间】:2019-04-19 23:02:37
【问题描述】:

当我创建表时,所有者始终是域\用户名而不是 dbo。例如,domain\username.tablename 我知道如何将其更改为 dbo,但是我应该在配置级别更改什么以确保在创建表时,默认所有者是 dbo。像 dbo.tablename 吗?

谢谢

【问题讨论】:

  • 当您创建表时,将 dbo 附加到它前面,如下所示: Create Table.. dbo.TableName
  • 您是否尝试为该用户设置默认架构?
  • 如果你指定了模式(你在引用对象时确实应该这样)这个问题就消失了。

标签: sql-server dbo


【解决方案1】:

按照以下步骤操作:

  • 在对象资源管理器中,展开您的数据库节点,转到“Security”文件夹并展开该节点。
  • 您将看到“用户”文件夹,也可以扩展该节点以查看用户。
  • 右键单击您的用户
  • 从菜单中单击属性。
  • 在常规选项卡中,您会看到“默认架构”,点击右侧的“...”按钮
  • 选择“dbo”架构并单击“确定”按钮。

现在,尝试创建一个新表。

【讨论】:

  • 嗨,Sami,我就是这样做的,而且总是 dbo。谢谢
【解决方案2】:

您可以通过对象资源管理器更改DEFAULT SCHEMA

Security > Users > {Your User}

{right-click} > Properties

然后在常规选项卡上设置默认架构

【讨论】:

  • 嗨,约翰,我试过了,但 dbo 仍然是默认值。我需要启动 SQL 服务器吗?谢谢
  • @JoieTamayo 应该没有必要
  • @JoieTamayo 我突然想到,可能期望已经创建的表被重命名为 dbo。如上所述,任何新表都将是 dbo。然后改变现有的看看docs.microsoft.com/en-us/sql/t-sql/statements/…
  • 是的,但我想更改默认值。谢谢
【解决方案3】:

这也可以使用下面的 T-SQL 语句来完成:

ALTER USER [Domain\UserName] WITH DEFAULT_SCHEMA=[dbo]

【讨论】:

    猜你喜欢
    • 2020-02-28
    • 1970-01-01
    • 2014-10-29
    • 2011-05-12
    • 2021-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多