J'ai le script suivant:
ALTER ROLE [db_datareader] ADD MEMBER [DomainGroup123]
quand je l'exécute sur SQL Server 2008 R2, j'obtiens cette erreur:
Msg 156, niveau 15, état 1, ligne 1
Syntaxe incorrecte près du mot key 'ADD'.
J'ai regardé en ligne, et trouvé des exemples qui utilisent cette déclaration exacte (mais avec un user différent.)
J'ai vérifié que la connection existe et est un user valide sur la database que j'utilise. J'ai aussi des permissions SA sur le server.
Que suis-je en train de faire?
Utilisez sp_addrolemember.
EXECUTE sp_addrolemember db_datareader, 'UserName'
Trouvé cette réponse: https://stackoverflow.com/a/456365/16241
Cela m'a montré que je peux l'exécuter comme ceci:
exec sp_addrolemember db_datareader, [DomainGroup123]
Je l'ai fait et ça a marché.
J'ai remarqué que selon la version du server, j'ai besoin d'un des suivants.
alter role RoleName add member UserName
ou
execute sp_addrolemember RoleName, UserName
Je pense à changer mon approche du tâtonnement à une sorte de conditionnel mais (a) cette opération est rarement effectuée dans mon cas et (b) je suis un peu paresseux de nos jours.