2 votes

Assigner le rôle de db_denydatawriter à l'utilisateur dbo

Lorsque j'essaie de le faire, je reçois le message d'erreur suivant :

Échec de l'ajout d'un membre pour DatabaseRole 'db_denydatawriter'. (Microsoft.SqlServer.Smo)
INFORMATIONS COMPLÉMENTAIRES :
Une exception s'est produite lors de l'exécution d'une instruction ou d'un lot Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)
Impossible d'utiliser le nom d'utilisateur ou de rôle réservé 'dbo'. (Microsoft SQL Server, Erreur : 15405)

J'ai une base de données qui doit rester "gelée". Je veux conserver la propriété de la base de données mais m'empêcher (en tant que dbo) de modifier accidentellement les données. Existe-t-il un autre moyen d'y parvenir ?


EDIT : J'ai décidé d'ouvrir une nouvelle question pour répondre aux lignes ci-dessous :~~
Les données de la base de données doivent rester gelées. Cependant, la structure peut changer.~~

La base de données est en fait plusieurs bases de données. Il s'agit essentiellement d'instantanés de la base de données de production pris deux fois par an. Les utilisateurs sont alors en mesure de visualiser les données historiques en passant de la base de données dorsale à l'interface graphique frontale. Cependant, il arrive que de nouveaux champs soient ajoutés aux tables de la base de données actuelle. Cela peut poser des problèmes si le front-end s'attend à ce que ces champs soient présents. Notre solution actuelle consiste à ajouter les champs à la volée (les utilisateurs ont les rôles db_datareader, db_denydatawriter, et db_ddladmin). Cela signifie que la base de données ne peut pas être mise en lecture seule car cela empêcherait de modifier la structure des tables.

3voto

Ray Points 12711

Définir le db en lecture seule :

ALTER DATABASE [db_name] SET READ_ONLY

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X