如何用C#语句,完成在数据库服务器上新建一个用户,指定该用户仅访问名为abc数据库,需要有dbo_owner的权限
就是完成企业管理器中的新建登录功能啦帮帮忙啊,兄弟们

解决方案 »

  1.   

    邹建的书上好像有,你查SQLSERVER的开发文档也应该能查出来!
      

  2.   

    INSERT INTO master.dbo.sysxlogins VALUES
            (NULL, @sid, @xstatus, getdate(),
                getdate(), @loginame, convert(varbinary(256), @passwd),
                db_id(@defdb), @deflanguage)考虑下上面的这个表,和sysxusers
    具体不知道
      

  3.   

    可是指定该用户仅访问名为abc数据库怎么做啊?
      

  4.   

    搜索一下..SQL相关的..SQL语句执行.
      

  5.   

    用权限的那些SQL呀  Grant等  自己看看MSDN
      

  6.   

    --创建新的 Microsoft® SQL Server™ 登录,使用户得以连接使用 SQL Server 身份验证的 SQL Server 实例。
    sp_addlogin
    --为 Microsoft® SQL Server™ 登录或 Microsoft Windows NT® 用户或组在当前数据库中添加一个安全帐户,并使其能够被授予在数据库中执行活动的权限。
    sp_grantdbaccess
    --将安全帐户作为当前数据库中现有 Microsoft® SQL Server™ 数据库角色的成员进行添加。
    sp_addrolemember
      

  7.   

    如楼上乔峰的是正解写一段批处理的SQL语句来执行即可
      

  8.   

    EXEC sp_addlogin 'www', '111', 'abc'
    go
    下面的示例在当前数据库中为 Windows NT 用户 Corporate\GeorgeW 添加帐户,并取名为 www。
    EXEC sp_grantdbaccess 'Corporate\GeorgeW', 'www'
    go
    EXEC sp_addrolemember 'dbo', 'www'
    go注意:只有 sysadmin 固定服务器角色、db_accessadmin 和 db_owner 固定数据库角色的成员才能执行 sp_grantdbaccess(也就是你连接数据库的帐户的角色)
      

  9.   

    sp_addlogin这个没问题了问题是sp_grantdbaccess 这个有必要吗?另外,我怎么指定这个新的用户只能访问abc数据库呢sp_addlogin里指定的只是默认登录数据库名称,事实上新用户并未被指定abc的权限请大家继续发扬助人为乐的精神啊
      

  10.   

    明白了,谢谢乔峰和lovcal(枫兮)
    马上揭帖