日期:2014-05-18  浏览次数:20967 次

无法创建表,提示:指定的架构名称 "dbo" 不存在,或者您没有使用该名称的权限。
请教各位大侠,情况是这样的,使用sa账户在数据库test里面为登录名user1创建一个用户U1,给U1赋予了以下权限:
grant create table,insert,update,delete to U1
但是在test数据库中创建一个表时提示:指定的架构名称 "dbo" 不存在,或者您没有使用该名称的权限。
检查:test数据库--安全性--用户--U1--右键属性--默认架构为“dbo”
请各位大侠指点下,为什么,谢了


------解决方案--------------------
test数据库--安全性--用户--U1--右键属性》》数据库角色成员身份呢
------解决方案--------------------
指定你建立用户的默认构架为系统默认,就可以访问DBO
------解决方案--------------------
SQL code
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

------解决方案--------------------
因为sa对应是dbo,所以你应该把创建的表名写全,把所有者加上去!
如create table [test].[u1].[tb]()