无法创建表,提示:指定的架构名称 "dbo" 不存在,或者您没有使用该名称的权限。

aivvian 2010-11-27 07:22:27
请教各位大侠,情况是这样的,使用sa账户在数据库test里面为登录名user1创建一个用户U1,给U1赋予了以下权限:
grant create table,insert,update,delete to U1
但是在test数据库中创建一个表时提示:指定的架构名称 "dbo" 不存在,或者您没有使用该名称的权限。
检查:test数据库--安全性--用户--U1--右键属性--默认架构为“dbo”
请各位大侠指点下,为什么,谢了
...全文
2297 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wy_ding 2012-04-12
  • 打赏
  • 举报
回复
要能执行建表语句,需要两个权限:
1. create table权限:
语句如楼主的:grant create table to db_RoleTest
2. 所在架构的alter权限:
语句如:grant alter on schema :: dbo to db_RoleTest
abuying 2010-11-29
  • 打赏
  • 举报
回复
因为sa对应是dbo,所以你应该把创建的表名写全,把所有者加上去!
如create table [test].[u1].[tb]()
aivvian 2010-11-28
  • 打赏
  • 举报
回复
其实,我也知道,如果授予db_owner权限,就可以在数据库中创建表。但是,我想知道为什么已经赋予数据库创建表的权利,为什么还不能创建表呢,呵呵!
王向飞 2010-11-27
  • 打赏
  • 举报
回复
USE master
GO

--–创建一个登录
Create LOGIN U1 WITH PASSWORD = 'xx'
GO

USE test
GO

--–创建一个数据库的用户
Create USER myUser FOR LOGIN U1
GO

--–授予db_owner权限
exec sp_addrolemember 'db_owner','myUser'
GO
iqlife 2010-11-27
  • 打赏
  • 举报
回复
指定你建立用户的默认构架为系统默认,就可以访问DBO
rucypli 2010-11-27
  • 打赏
  • 举报
回复
test数据库--安全性--用户--U1--右键属性》》数据库角色成员身份呢

34,876

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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