2010-04-27 350 views

回答

17

这是一个过程分为两个步骤:

  • 首先,你需要创建一个登录该用户,基于其Windows凭据

    CREATE LOGIN [<domainName>\<loginName>] FROM WINDOWS 
    

    此设置,甚至连接到您的SQL Server的基本许可

  • 一旦你有一个登录,就可以在每个数据库中创建一个用户,你想给那个登录权限做一些事情:

    CREATE USER Johnnie FOR LOGIN Domain\Johnnie; 
    
  • 授予对数据库中的每个表读取的权限,分配db_datareader角色在你的数据库用户

    sp_addrolemember @rolename = 'db_datareader', @membername = 'Johnnie' 
    
  • 授予读取并在每个表的写权限,分配两个db_datareader还有db_datawriter角色给该用户

  • 如果您需要更细致地控制可以读取或写入哪些表,您需要手动管理权限,例如,通过创建您自己的数据库角色并为这些角色分配授权,然后将您的用户添加到您创建的那些应用特定角色

+2

+1。一个非常明确的答案。 – 2011-05-18 00:56:52

+0

@米奇麦克:谢谢,米奇! – 2011-05-18 04:47:56

+2

此外,请确保您已启用SQL Server配置管理器工具中的TCP/IP连接。当您尝试允许远程连接到本地计算机时,这通常只是一个问题。 (今天早些时候得到了一点点) – 2011-11-29 21:53:39