我将VB自带的示例数据库BIBLIO.MDB成功导入SQL SERVER 2005中,并在其中形成了BIBLIO数据库,然后创建了一个用户BIBLIOUSER,将其默认架构设置为db_owner,并设置了该用户具有connect、create table、create function、create peocesure、create view权限。
设置完成后,在SQL SERVER 2005中以BIBLIOUSER用户登录,然后进行数据表创建,结果创建时提示“您没有以数据库所有者或系统管理员身份登录,无法将更改保持到不属于您的表中”的错误信息。
然后最后强制保存又提示如下错误信息:
“无法创建表
指定的架构名称‘db_owner’不存在,或者您没有使用该名称的权限”。请问我的设置出了什么问题,该怎么修改才能完成数据表创建。
谢谢诸位的指导!!

解决方案 »

  1.   

    你确定是在BIBLIO数据库中建表,把用户登录后默认的数据库改为BIBLIO
      

  2.   

    还有就是真的具有DBO权限了么?
      

  3.   

    补充第一种方式:
    映射到此登录名的用户设置中,默认架构设置为db_owner,数据库角色成员身份中只勾选了public,没有勾选db_owner。
    这种方式出现上述错误。
    第二种方式:
    映射到此登录名的用户设置中,默认架构设置为dbo,数据库角色成员身份中只勾选了public,没有勾选db_owner。
    这种方式同样出现上述错误。
    第三种方式:
    映射到此登录名的用户设置中,默认架构设置为db_owner,数据库角色成员身份中除勾选public外,还勾选db_owner。
    这种方式创建数据表会成功,但是感觉权限太大,而且创建表名称前面会自动出现db_owner.,而不是我期望看到的以用户名开头。例如,我的登录用户是BIBLIOUSER,创建的数据表名为TB1,创建后的数据表名自动变成db_owner.TB1,而我期望的BIBLIOUSER.TB1这样的数据表名。请问我怎么样不将所有权限放开,同时又能满足需求呢?谢谢!!附图贴不上来,要是能贴上来就能更清楚看到我的配置。
      

  4.   

    用sa用户肯定没问题,但是我就是不想用sa用户进行操作