SQL Server数据库角色通过SMO

时间:2009-11-06 14:16:38

标签: sql-server database roles smo

我正在尝试通过SMO程序集向SQL 2005数据库添加新角色。 Roles.Add方法似乎没有添加新角色。我将我的用户帐户设置为securityadmin和sysadmin。

以下是我尝试用来设置新角色的代码提取: [假设d已设置为数据库对象]

        Dim dr As New DatabaseRole
        dr.Name = r
        dr.Parent = d
        dr.Owner = d.Name
        d.Roles.Add(dr)

        'Error here "<role name = r> does not exist in the current database."'
        dr.AddMember("dbo")

1 个答案:

答案 0 :(得分:1)

您需要先创建角色,然后将其分配给数据库。

将您的代码更改为:

Dim dr As New DatabaseRole        
dr.Name = r        
dr.Parent = d        
dr.Owner = d.Name  
dr.Create();      
d.Roles.Add(dr)        
dr.AddMember("dbo")