Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Rechtevergabe MSSQL?

Frage Entwicklung Datenbanken

Mitglied: Bastian-W

Bastian-W (Level 1) - Jetzt verbinden

11.08.2006, aktualisiert 13:07 Uhr, 12887 Aufrufe, 3 Kommentare

Hallo zusammen,

ich möchte einem User auf eine MSSQL DB Leserechte geben, so das eine externe nicht auf dem Server laufende Application auf die SQL Daten zugreifen kann. Leider kenne ich mich mit MSSQL nicht aus. Funktioniert das so ähnlich wie bei mySQL?

Sowas in der Art:
GRANT SELECT ON db1.* TO username IDENTIFIED BY "password"

oder muss ich das unter Windows "zusammenclicken"?
Mitglied: nomax
11.08.2006 um 07:27 Uhr
hi,

welche version von MS SQL benutzt du?

du musst lediglich nur den Enterprise-Manager starten, den Server und die Datenbank auswählen.
unter ROLES kannst du versch profile für user o gruppen festlegen.
zb db_owner ist der datenbankbesitzer und darf alles. nur lese-rechte besitzt db_datareader.

probier einfach ein bisschen, was du genau brauchst.

du kannst auch unter Users benutzer und gruppen hinzufügen. diesen kannst du dann spezielle rechte vergeben (unter properties), dh auf tabellen, views oder prozeduren
Bitte warten ..
Mitglied: Biber
11.08.2006 um 09:06 Uhr
Moin Bastian_W,

die Rechtevergabe ist genauso wie Du oben vermutet hast bei allen SQL-Dantenbanken (so gut wie) identisch.
Entsprechend wäre auch bei MSSQL x.yy theoretisch alees aus dieser Syntax möglich:
01.
GRANT priv_type [(column_list)] [, priv_type [(column_list)]] ... 
02.
    ON {tbl_name | * | *.* | db_name.*} 
03.
    TO user [IDENTIFIED BY [PASSWORD] 'password'] 
04.
        [, user [IDENTIFIED BY [PASSWORD] 'password']] ... 
05.
    [REQUIRE 
06.
        NONE | 
07.
        [{SSL| X509}] 
08.
        [CIPHER 'cipher' [AND]] 
09.
        [ISSUER 'issuer' [AND]] 
10.
        [SUBJECT 'subject']] 
11.
    [WITH with_option [with_option] ...] 
12.
 
13.
with_option = 
14.
    GRANT OPTION 
15.
  | MAX_QUERIES_PER_HOUR count 
16.
  | MAX_UPDATES_PER_HOUR count 
17.
  | MAX_CONNECTIONS_PER_HOUR count
[Quelle: http://dev.mysql.com/doc/refman/4.1/en/grant.html Grant Syntax]

In der Theorie.
In der Praxis wird aber jeder DB-Admin die Rechtevergabe
1) auf Tabellenebene festlegen, nicht auf Datenbankebene
2) es reduzieren auf die Rechte SELECT/INSERT/UPDATE/DELETE und natürlich dann auch auf Floskeln wie "IDENTIFIED by "whatever" verzichten... ist ja nicht pflegbar.
3) je nach Datenbank zusätzlich noch festlegen, dass dieser User überhaupt das Recht zum CONNECT mit der Datenbank hat.

Auch wenn, wie nomax richtigerweise geschrieben hat, natürlich ein Zusammenklicken der Rechte über irgendeine GUI möglich ist, würde ich (ebenso wie bei DDL-Skripten zur DB-Anpassung) auch bei der GRANTerei immer den Weg über Statements gehen.
Zur Dokumentierbarkeit und Reprozierbarkeit.

Gruß
Biber
Bitte warten ..
Mitglied: Bastian-W
11.08.2006 um 13:07 Uhr
Ich habe das nun mal über Windows "zusammengeklickt" bekomme aber die FM:

not associated with a trusted sql server connection

wenn ich von dem Remove Server versuche eine ODBC (SQL) Connection einzurichten.
Die Microsoft Webseite -> "http://support.microsoft.com/kb/889615/en-us" bringt mich allerdings nicht weiter. Der Benutzraccound hat userrechte den ich verwende.

Ach, der Server ist ein SQL 2000 Server.

Jemand eine Idee?
Bitte warten ..
Ähnliche Inhalte
Netzwerke
gelöst VM MSSQL Windows Server - Keine Verbindung zum Server auf VM möglich (3)

Frage von Zero01 zum Thema Netzwerke ...

Datenbanken
gelöst MSSQL-Benutzer . Zugriff nur auf 2 Tabellen und 1 View (3)

Frage von Snuffchen zum Thema Datenbanken ...

Datenbanken
Reguläre Ausdrücke in MSSQL dynamisch zusammensetzen (2)

Frage von Androxin zum Thema Datenbanken ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Viren und Trojaner
Ransomware .nm4 (14)

Frage von Zyklo92 zum Thema Viren und Trojaner ...

Microsoft Office
+1.000 Ordner in Outlook: Wie besser? (11)

Frage von Matsushita zum Thema Microsoft Office ...

Zusammenarbeit
Administrator Verhalten nach Vertragskündigung (10)

Frage von sysbone zum Thema Zusammenarbeit ...