Announcement

Collapse
No announcement yet.

sp_addrolemember aus andere db in andere db erstellen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • sp_addrolemember aus andere db in andere db erstellen

    Hallo kann man

    EXEC sp_addrolemember 'Schema', Loginname'

    in irgendeiner form von DBA auf DBB anwenden?

    ich habe es per Trigger auf dba probiert.
    wenn ich aber zuerst den user in dbb anlege und dann sp_addrolemember ausführe, dann legt er mir per trigger nur den user an. gibt es dafür einen trick?

    ich habe es dann auch per xp-cmdshell im trigger probiert... keine chance...


    bitte um hilfe

    lg richi

  • #2
    Hallo richi,

    sorry, ich habe kein Wort verstanden; was genau willst Du machen?

    Was meinst Du mit DBB? Was haben Trigger mit einer Rollenzuweisung zu tun bzw. wieso willst Du es mit einem Trigger machen?
    Und xp_cmdshell hat nun wirklich nichts mit Rollenzuweisungen zu tun.
    Olaf Helper

    <Blog> <Xing>
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich

    Comment


    • #3
      hi,

      sorry, ich war gestern ein wenig in eile. hätte das posting wohl nicht mehr schreiben sollen.

      zu meinem problem.

      ich habe zwei Datenbanken in einer instanz. DatenbankA und DatenbankB.
      Zusätzlich einen User in DatenbankA und einen Insert DDL Trigger auf dieser DatenbankA für das Event CREATE_USER.
      Zusätzlich habe ich einen Insert, Update, Delete DML Trigger auf TabelleA in DatenbankA, welcher auch in DatenbankB in TabelleB ein Insert, Update oder Delete ausführt.

      Nun habe ich das Problem, dass der User aus DatenbankA nicht auf DatenbankB berechtigt ist, ein Insert Update, Delete auszuführen. Deshalb erstelle ich mit dem DDL Trigger auf DatanbankA einen User in DatenbankB. Leider schaffe ich es aber nicht, ein vorhandenes Schema auf DatenbankB diesem User hinzuzufügen. Das hätte ich eben mit sp_addrolemember hinzugefügt, was aber per Trigger bei mir nicht funktioniert hat...

      Meine Überlegung:

      UserX auf DatenbankA soll auf DatenbankB eingetragen werden und dann soll dem UserX auf DatenbankB das bereits existierende SchemaA zugeteilt werden, welches Insert Update und Delete auf den betroffenen Tabellen beinhaltet...

      xp_cmdshell habe ich nur deshalb probiert, da ich dachte, es sei ein berechtigungsproblem auf Datenbankebene. Bei xp_cmdshell habe ich sqlcmd verwendet und dachte mir, dieses Problem zu umgehen. Leider funktioniert diese Lösung nicht und zudem ist es unschön...

      Gibt es eventuell einen besseren Lösungsansatz?

      Ich hoffe, die Problematik nun weniger konfus erklärt zu haben
      LG Richi

      Comment


      • #4
        Hallo Richie,

        wenn Du vor der SP noch den Datenbanknamen + Schema angibst, solltest Du in der DB-B eine Rollzuweisung hinbekommen.

        exec msdb.sys.sp_helpfile

        Mutet aber auch etwas merkwürdig an, so dynamisch Benutzer anzulegen und Rechte zu verteilen.
        Schonmal mit EXECUTE AS beschäftigt (ich noch nicht)?
        Olaf Helper

        <Blog> <Xing>
        * cogito ergo sum * errare humanum est * quote erat demonstrandum *
        Wenn ich denke, ist das ein Fehler und das beweise ich täglich

        Comment


        • #5
          hi olaf,

          danke für den tipp, werde ich gleich mal testen.

          eventuell gibt es einen anderen weg. mein problem ist, dass ich in datenbankA einen user anlege. der löst jedoch bei einem update/insert auf dieser datenbankA einen trigger aus, welcher einen insert in datenbankB vornimmt.

          eventuell habe ich einfach zu kompliziert gedacht?!

          lg richi

          Comment

          Working...
          X