Comment définir une connexion SQL Server à Readonly? J'ai essayé Googling et tout ce que j'ai trouvé était pas de chance avec sqlite -edit - p> Ma chaîne de connexion est ci-dessous. Je n'ai aucune idée quand il s'agit de configurer les tables. Je ne sais pas comment faire des utilisateurs / autorisations. P> mode de fichier = lecture seulement code>, mais il n'a pas fonctionné (Mot-clé de fichier non pris en charge). La référence a regardé SQL CE spécifique. en lecture seule = true code> non plus. P> rdconn = new SqlConnection(@"(wrong)Read Only=True;Server=.\SQLExpress;AttachDbFilename=test2.mdf;Database=dbo;Integrated Security=SSPI;User Instance=True;");
5 Réponses :
Si vous souhaitez accéder à la base de données en mode Readonly, vous pouvez créer un utilisateur pour la base de données et peut activer les droits de "lire" et désactiver les droits "écriture" p>
Vous pouvez voir les utilisateurs sous la base de données dans SQLServer Sélectionner cela et si vous souhaitez que vous puissiez créer de nouveaux utilisateurs, vous pouvez définir les droits dans Propriétés P>
Référez également p>
http: //www.zimbio.com/sql/articles/-jf4idk7qwq/set+Database+Read+Only+Mode+SQL+Server P>
Modifiez les paramètres de sécurité pour la connexion utilisée dans SQL Server.
Par exemple seulement db_datreader. P>
Il suffit de définir les autorisations de l'utilisateur actuel sur Sélectionnez fort> uniquement. est que ce que vous voulez? p> Cliquez sur le DB actuel dans SQL Server Management Studio, après avoir cliqué sur Sécurité-> Utilisateurs. Trouvez votre utilisateur, cliquez avec le bouton droit de la souris sur lui -> Propriétés-> Sécurisable. Il suffit de marquer Sélectionnez, ne dupez pas à tous les autres. P> Voici des liens sur la gestion des autorisations P> http: / /www.mssqlcity.com/articles/adm/Manage_users_permissions.htm P> Il suffit de trouver un outil gratuit AA pour la gestion des autorisations. Cela peut être utile aussi. Vérifiez le lien p> http: //www.idera. com / produits / outils de free-outils / sql-autorisations / p> mise à jour: strong> p> Si vous voulez que la DB soit en lecture seule à Tout utilisateur: p> ou lire ici pour plus d'informations p> http://www.sqlservercurry.com/2009/03/set-database-aread-only-mode-utilisateur. HTML P>
J'espérais qu'il y avait, comme l'affiche originale espérait, un moyen de définir ma Connection i> pour être en lecture seule, en utilisant les mêmes informations d'identification d'authentification SQL Server que d'autres utilisent actuellement. Semblable à je suis un administrateur et UAC élimine ces droits. Et comment je suis maintenant utilisateur standard, et le mode protégé élimine ces droits.
@IanBoyd, malheureusement, il n'y a aucun moyen d'atteindre une chaîne de connexion en lecture seule dans MS SQL. Voici la liste des paramètres de chaîne de connexion connectionstrings.com/all-sql-server -Connection-string-keywo rds .
C'est vraiment simple.
Si votre utilisateur DB est appelé MyApplicationWebservices_en P>
Créez un nouveau identifiant appelé MyAplylicationWebServicesReadonly_en, avec la langue par défaut anglais (ou tout ce dont vous avez besoin), membre du rôle du serveur "public" uniquement (par défaut). P>
Dans la DB, vous souhaitez que l'utilisateur ait accès à, créez un nouvel utilisateur appelé myAplicationWebServicesReadonly_en, et carapez-le pour vous connecter MyApplicationWservicesReadonly_en. P>
Cliquez avec le bouton droit de la souris sur l'utilisateur dans la base de données et sélectionnez Propriétés -> Général Dans la liste Select-Box pour "Adhéship dans les rôles de base de données", sélectionnez db_datreader uniquement (assurez-vous que toutes les options d'autres sont décochées). P>
Utilisez MyApplicationWebServicesReadon_en dans votre chaîne de connexion comme "ID utilisateur", et vous avez votre mode lecture seule .. p>
Bien sûr, si votre DB entière doit être en lecture seule, alors P>
ALTER DATABASE your_database_name SET READ_ONLY
Bien que votre réponse semble la plus proche d'une solution réelle à la question initiale, je pense que "vraiment simple" doit être "vraiment relative" ici; p
Dans certains cas, par exemple dans une instance de haute disponibilité à Azure, vous pouvez disposer d'un duplicate de données répliqué en lecture seule de votre base de données. Dans ce cas, vous ajoutez p>
à la chaîne de connexion pour que cet utilisateur atteigne la réplique en lecture seule. P>
; ApplicationIntent = Readonly CODE> P>
Quel type d'authentification utilisez-vous?
Vous pouvez commencer une transaction, faire du travail, puis la transaction de restauration. Pas tout à fait ce que vous voulez, mais cela garantirait que aucune modification n'a été apportée à la base de données.