festlegen von sql server-Verbindung auf readonly?
Wie kann ich eine SQL server-Verbindung auf readonly? Ich habe versucht, Googeln und alles, was ich fand, war File Mode=Read Only
, aber es hat nicht funktioniert (Datei-Modus Schlüsselwort wird nicht unterstützt). Die Referenz geschaut SQL-CE-spezifisch.
Kein Glück mit SQLite Read Only=True
entweder.
-Bearbeiten-
Mein connection string ist unten. Ich habe keine Ahnung, wenn es um die Konfiguration der Tabellen. Ich weiß nicht, wie man Benutzer/Berechtigungen.
rdconn = new SqlConnection(@"(wrong)Read Only=True;Server=.\SQLExpress;AttachDbFilename=test2.mdf;Database=dbo;Integrated Security=SSPI;User Instance=True;");
- Welche Art der Authentifizierung Sie verwenden?
- Sie könnte eine Transaktion beginnen, tun die Arbeit, dann rollback der Transaktion. Nicht ganz das, was Sie wollen, aber dies würde gewährleisten, dass keine änderungen an der Datenbank vorgenommen wurden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nur die aktuellen Benutzer die Berechtigungen für WÄHLEN Sie nur.
Ist, dass das, was Sie wollen?
Klicken Sie auf die aktuelle db in SQL Server Management Studio, nach klicken Sie auf Sicherheit->Benutzer. Finden Sie Ihre Benutzer mit der rechten Maustaste auf ihn -> Eigenschaften->Sicherungsfähige Element. Einfach Marke AUSWÄHLEN, deaktivieren Sie das Kontrollkästchen für alle anderen.
Hier sind links, die auf die Verwaltung von Berechtigungen
http://www.databasejournal.com/features/mssql/article.php/2246271/Managing-Users-Permissions-on-SQL-Server.htm
http://www.mssqlcity.com/Articles/Adm/manage_users_permissions.htm
Gerade gefunden, ein kostenloses tool für die Verwaltung von Berechtigungen. Es kann nützlich sein, auch. Überprüfen Sie den link
http://www.idera.com/Products/Free-Tools/SQL-permissions/
UPDATE:
Wenn Sie möchten, dass die DB schreibgeschützt sein, um alle Benutzer:
oder Lesen Sie hier für weitere Informationen
http://www.sqlservercurry.com/2009/03/set-database-to-read-only-mode-using.html
http://www.blackwasp.co.uk/SQLReadOnly.aspx
Ändern der Sicherheits-Einstellungen für den verwendeten login in SQL server.
Zum Beispiel nur db_datareader.
Wenn Sie wollen, um den Zugriff auf die Datenbank im readonly-Modus, können Sie erstellen Sie einen Benutzer für die Datenbank und aktivieren können, die "LESEN" Rechte und deaktivieren Sie die 'WRITE' - Rechte
sehen Sie die Benutzer nach Datenbank in SQL Server zu wählen, und wenn Sie möchten, können Sie neue Benutzer anlegen sonst kannst du die Rechte in den Eigenschaften
Siehe auch
http://www.zimbio.com/SQL/articles/-jf4iDK7qWQ/Set+Datenbank+read+only+mode+mit+SQL+Server
Ist es wirklich einfach.
Wenn Ihr db-Benutzer aufgerufen wird
MyApplicationWebServices_EN
Erstellen Sie ein neues login-namens MyApplicationWebServicesReadOnly_en, mit Standard-Sprache Englisch (oder was auch immer du brauchst), die Mitglied der server-Rolle "public" (nur Standard).
In der DB, die Sie möchten, dass der Benutzer Zugriff haben, erstellen Sie einen neuen Benutzer namens MyApplicationWebServicesReadOnly_en, und ordnen Sie Sie auf login MyApplicationWebServicesReadOnly_en.
Rechten Maustaste auf den Benutzer in der Datenbank, und wählen Sie Eigenschaften -> Allgemeine
In der Auswahl-box der Liste für "Mitgliedschaft in Datenbankrollen", wählen Sie db_datareader nur (stellen Sie sicher, dass alle anderen Optionen sind deaktiviert).
Nun verwenden MyApplicationWebServicesReadOnly_en in Ihrer Verbindungszeichenfolge als "Benutzer-id", und Sie haben Ihre nur-lese-Modus.
Natürlich, wenn Sie Ihre gesamte db schreibgeschützt sein sollte, dann
tun gut, wie hgulyan sagte.