Je tente d'ajouter de nouveaux rôles à une base de données SQL 2005 via les assemblys SMO. La méthode Roles.Add ne semble pas ajouter le nouveau rôle. J'ai mon compte d'utilisateur défini comme securityadmin et sysadmin.Rôles de base de données SQL Server via SMO
Ci-dessous est un extrait de code que je suis en train d'utiliser pour définir le nouveau rôle: [en supposant que d a été fixé à un objet de base de données]
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")
Ce n'est pas vraiment une réponse, mais vous pouvez créer des rôles sans DMO. SSMS vous permet d'ajouter un rôle puis de générer un script SQL pour celui-ci. Vous pouvez déclencher ce script à partir du code, au lieu d'utiliser DMO. – Andomar