参考下面的最简示例: 
 
--添加只允许访问指定表的用户:  
exec  sp_addlogin  '用户名','密码','默认数据库名'  
 
--添加到数据库  
exec  sp_grantdbaccess  '用户名'
 
--分配整表权限  
GRANT  SELECT ,  INSERT ,  UPDATE ,  DELETE  ON table1 TO [用户名]--分配权限到具体的列
GRANT  SELECT ,  UPDATE  ON table1(id,AA) TO [用户名]

解决方案 »

  1.   

    再送100分:
    http://community.csdn.net/Expert/topic/4173/4173254.xml?temp=2.302188E-02
      

  2.   

    --增加test用户,密码为password
    use master 
    go
    sp_dropuser test
    go
    use TEST --要增加权限的数据库
    go
    sp_dropuser test
    go
    sp_droplogin test
    go
    -- 增加test用户
    use master
    go
    sp_addlogin 'test','password','master'
    go
    sp_defaultlanguage 'test'
    go
    sp_defaultdb 'test','master'
    go
    sp_adduser 'test','password','db_owner'
    go
    use TEST --要增加权限的数据库
    go
    sp_adduser 'test','password','db_owner'
    go
    use TEST --要增加权限的数据库
    go
    drop table #tem
    go
    declare @max int
    declare @min int
    declare @str char(120)
    declare @table char(30)create table #tem(
          NO int,
          name char(40)
    )
    insert #tem select 0,name from sysobjects where type in('U','V')
    set rowcount 1
    select @min=1,@max=count(*) from #tem
      while @min<=@max begin
          update #tem set NO=@min  where NO=0
          select @min=@min+1
    end
    set rowcount 0
    select @min=1,@max=max(NO) from #tem 
     while @min<=@max begin
       select @table=name from #tem  where NO=@min
       select @str=' grant select on '+@table+' to test'
       exec (@str)
       select @min=@min+1
    end
    go
      

  3.   

    参考下面的最简示例: 
     
    --添加只允许访问指定表的用户:  
    exec  sp_addlogin  '用户名','密码','默认数据库名'  
     
    --添加到数据库  
    exec  sp_grantdbaccess  '用户名'
     
    --分配整表权限  
    GRANT  SELECT ,  INSERT ,  UPDATE ,  DELETE  ON table1 TO [用户名]--分配权限到具体的列
    GRANT  SELECT ,  UPDATE  ON table1(id,AA) TO [用户名]
      

  4.   

    当前用户只对一个普通数据库有权限,对master没有权限!
      

  5.   

    --修改一下
    use TEST --要增加权限的数据库
    go
    sp_dropuser test
    go
    sp_droplogin test
    go
    -- 增加test用户
    use TEST --要增加权限的数据库
    go
    sp_addlogin 'test','password','TEST'
    go
    sp_defaultlanguage 'test'
    go
    sp_defaultdb 'test','TEST'
    go
    sp_adduser 'test','test','db_owner'
    gouse TEST --要增加权限的数据库
    go
    drop table #tem
    go
    declare @max int
    declare @min int
    declare @str char(120)
    declare @table char(30)create table #tem(
          NO int,
          name char(40)
    )
    insert #tem select 0,name from sysobjects where type in('U','V')
    set rowcount 1
    select @min=1,@max=count(*) from #tem
      while @min<=@max begin
          update #tem set NO=@min  where NO=0
          select @min=@min+1
    end
    set rowcount 0
    select @min=1,@max=max(NO) from #tem 
     while @min<=@max begin
       select @table=name from #tem  where NO=@min
       select @str=' grant select on '+@table+' to test'
       exec (@str)
       select @min=@min+1
    end
    go