0
我创建了一个登录来连接到SQL SERVER。在sql express 2005中授予表级权限
create login bobLogin with password = 'bobpass' , default_database = bobDB
但是当我连接sql server使用它,它不连接?因为它需要一个用户。
,所以我创建的用户:
create user bobDB_USER for login bobLogin
然后我连接到SQL中使用bobLogin &服务器试图创建表:
create table bobDbTable(eid int)
其给出许可被拒绝的错误;
,所以我授予的权限:
GRANT CREATE TABLE TO bobDB_USER
然后我用bobLogin再次连接,&试图创建一个表,但它给了错误:
指定的架构名称“DBO”不存在或您无权使用它。
为什么这么说?它在dbo schema中创建表,这是为什么?那么我如何授予他这种权限?
我不想创建一个新的模式。有必要吗?
@gbn,先生,我有一个问题:http://stackoverflow.com/questions/5151363/creating-multiple-users-for-ac -net-winform-application-using-sql-server-express – sqlchild 2011-03-01 06:55:12
@gbn,先生,当我这样做:使用bobDB,创建登录bobLogin与密码='bobpass',default_database = bobDB,使用bobDB,创建用户bobDBUser登录bobLogin,然后是bobDBUser默认情况下不是bobDB的所有者,因为我在使用bobDB语句后创建了他,那么他是谁? – sqlchild 2011-03-01 06:58:14
只是最终用户。服务器级所有者记录在sys.databases中。数据库级别的所有者必须被授予 – gbn 2011-03-01 07:02:22