SQL server 2008默认架构

huaan011 2014-05-17 08:52:37
我新建了一个登录名 然后新建了数据库,架构和用户名,登录名的默认架构已经改成了我新建的架构 hr ,但是在建表的时候,如果不显示指定架构名,创建的表的架构还是dbo,怎么样才能改成我自己建的那个新架构呢 哪位大虾帮我解决下
...全文
319 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
huaan011 2014-05-17
  • 打赏
  • 举报
回复
The value of DEFAULT_SCHEMA is ignored if the user is a member of the sysadmin fixed server role. All members of the sysadmin fixed server role have a default schema of dbo. 终于找到原因了。。。
huaan011 2014-05-17
  • 打赏
  • 举报
回复
6楼 的那几个方法我全部都试过, 创建表的时候不显示指定 架构的时候,创建的表的架构还是 dbo,我猜测是我数据库那里配置的问题,但是一直没找到原因
huaan011 2014-05-17
  • 打赏
  • 举报
回复
引用 8 楼 houyajin 的回复:
用户名是自己的用户名,设置的默认架构为hr 。这个不应该哇,你设置了默认的架构之后就是你设置的那个默认架构下面的表了。
楼主确定默认架构为hr? 你是在那个地方看的?
houyajin 2014-05-17
  • 打赏
  • 举报
回复
用户名是自己的用户名,设置的默认架构为hr 。这个不应该哇,你设置了默认的架构之后就是你设置的那个默认架构下面的表了。 楼主确定默认架构为hr? 你是在那个地方看的?
houyajin 2014-05-17
  • 打赏
  • 举报
回复
demo是用户,写错了,不好意思。
houyajin 2014-05-17
  • 打赏
  • 举报
回复
你的答案是2个方法,显示建立应该是会显示出来的,如下面的写法。

create table hr.t2(
id int identity(1,1) ,
it int
)


另外一种就是给直接把这种架构设置为默认的架构,可以给予某库的某用户默认架构。

USE [TEST]
GO
ALTER USER [Demo] WITH DEFAULT_SCHEMA=[hr]
GO
-- 这是将test库下面demo表的默认架构设置为hr

或者可以从下图中设置:


但是前提都是你这个用户是存在的,有对数据库的操作权限。
huaan011 2014-05-17
  • 打赏
  • 举报
回复
引用 4 楼 HEROWANG 的回复:
登陆名是你自己的登录名还是sa?数据库的用户名的默认架构是hr?然后你创建表的时候用什么账号进行登陆的? 如果你用户名是自己的用户名,设置的默认架构为hr,那么你用自己的用户名登陆是,创建表的时候,默认架构就是hr
现在问题的关键就是:用户名是自己的用户名,设置的默认架构为hr,用自己的用户名登陆时,创建表的时候,默认架构不是hr,而是dbo, 我一直没折腾明白这点
  • 打赏
  • 举报
回复
登陆名是你自己的登录名还是sa?数据库的用户名的默认架构是hr?然后你创建表的时候用什么账号进行登陆的? 如果你用户名是自己的用户名,设置的默认架构为hr,那么你用自己的用户名登陆是,创建表的时候,默认架构就是hr
huaan011 2014-05-17
  • 打赏
  • 举报
回复
引用 2 楼 houyajin 的回复:
自问自答 。?????
那是我在网上找的个答案,试了试,还没试出来!
houyajin 2014-05-17
  • 打赏
  • 举报
回复
自问自答 。?????
huaan011 2014-05-17
  • 打赏
  • 举报
回复
如果 LZ 的用户帐户为数据库拥有者(dbo),则创建的对象会默认放置在 dbo 架构下(如果没有显式指定架构)。 解决方法:创建对象时显式指定架构名;修改数据库为其他帐户所有,将此用户帐户加入 db_owner 角色(如果需要这么大的权限)。

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧