0

我正在尝试通过 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")
4

1 回答 1

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")
于 2009-12-11T11:54:35.250 回答