Benutzer mit den meisten Antworten
Benutzerrechte / -zuweisung per SQL Script

Frage
-
Hallo,
ich möchte per SQL Script Benutzer erstellen für die Schreib-/Leserechte in Bestimmten Datenbanken zuweisen.
Für SQL 2000 DB erstelle ich Benutzer so:
EXEC sp_addlogin 'myusername', 'mypassword'
Das funktioniert auch in SQL 2005 (ich denke 2008 auch), was sehr wichtig ist. Dann brauche im Code nur 1 Script auszuführen.
Ich finde aber nicht, wie man die Rechte für Bestimmte Datenbanke per SQL zuweist.
Kann mir jemand helfen?
Danke im Voraus.
Antworten
-
Hallo Anton,
es wird schwierig werden über viele Versionen übergreifend diese Berechtigungen zu vergeben. Derzeit geht nocht.
sp_grantdbaccess
Besser wäre ab 2005 CREATE USER.
Wenn Du gar nicht weisst wie es geht, schneide mit dem Profiler mit was passiert, wenn Du über den Enterprise Manager einen User anlegst.
Einen schönen Tag noch, Christoph Muthmann Microsoft SQL Server MVP, http://www.insidesql.org- Als Antwort markiert Anton Tsibert Montag, 19. Oktober 2009 07:50
Alle Antworten
-
Hallo Anton,
es wird schwierig werden über viele Versionen übergreifend diese Berechtigungen zu vergeben. Derzeit geht nocht.
sp_grantdbaccess
Besser wäre ab 2005 CREATE USER.
Wenn Du gar nicht weisst wie es geht, schneide mit dem Profiler mit was passiert, wenn Du über den Enterprise Manager einen User anlegst.
Einen schönen Tag noch, Christoph Muthmann Microsoft SQL Server MVP, http://www.insidesql.org- Als Antwort markiert Anton Tsibert Montag, 19. Oktober 2009 07:50
-
Hallo Anton,
die sp_addlogin ist ab 2008 "abgekündigt" und soll es in Folgeversionen nicht mehr geben.
die http://technet.microsoft.com/de-de/library/ms173768.aspx
Stattdessen CREATE LOGIN verwenden, wobei ich gerade nicht weiß, ob es das schon in 2000 gab.
Berechtigungen in einer DB Zuweisen geht mit:
USE [AdventureWorks]
GO
GRANT <RechteWieEXECUTE> ON <ObjectName> TO <GruppeOderLogn>
Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de -
Hallo Christoph, Hallo Olaf.
Danke für die Info. Das hat mir geholfen.
Zum glück funktioniert sp_addlogin in SQL 2008 immer noch (vielleicht ab nächste Version geht es nicht mehr)
Und das ist gut, viele Leute haben noch 2000 im Einsatz und deswegen soll es mindestens in 3 Versionen funktionieren: 2000 & 2005 & 2008
Man kann die Version zuerst abfragen und erst dann etscheiden, was man verwendet...
Mit (SELECT @@VERSION) kommt aber die ganze Menge von Information:
Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86) Jul 9 2008 14:43:34 Copyright (c) 1988-2008 Microsoft Corporation Standard Edition on Windows NT 5.1 <X86> (Build 2600: Service Pack 3)
Man muss dann noch mit Strings arbeiten usw.
Zu viel Code ;)