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 に答える