Announcement

Collapse
No announcement yet.

Recht Tabellen zu erstellen

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

  • Recht Tabellen zu erstellen

    Hallo,

    ein Entwickler benötigt das Recht Tabellen und Ansichten zu erstellen.
    Dieses kann er aber nur, wenn er sysadmin ist.
    Da ich ihm diese Rechte nicht geben kann, suche ich nach einer anderen Lösung.
    Kenn jemand das Problem?

    Schon mal vielen Dank
    Gruß
    Frank

  • #2
    Hallo Frank,

    das Recht kannst Du auch über die Datenbank-Rollen lösen:
    - db_owner: Darf in der DB alles was der SysAdmin auch darf
    - db_ddladmin: Darf Objekte erstellen & löschen, etc.
    Genau Definition findest Du in der SQL BOL.

    Olaf
    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
      So dachte ich auch immer.
      in dem Fall reicht db_owner nicht.

      Comment


      • #4
        Hallo,

        in dem Fall reicht db_owner nicht
        wie sieht ein konkretes Beispiel aus? Es gibt zwar Anweisungen (wie zum Beipspiel CREATE ENDPOINT), bei denen erweiterte Rechte notwendig sind, aber im Fall einer Tabelle sollte db_owner auf jeden Fall ausreichend sein.

        Comment


        • #5
          Originally posted by Andreas Kosch View Post
          Hallo,



          wie sieht ein konkretes Beispiel aus? Es gibt zwar Anweisungen (wie zum Beipspiel CREATE ENDPOINT), bei denen erweiterte Rechte notwendig sind, aber im Fall einer Tabelle sollte db_owner auf jeden Fall ausreichend sein.
          Hallo ganz einfach über das SQL Management Studio , auf die Dabenbank/Tabellen/ neue Tabelle einfügen.
          Dann kommt folgende Meldung --> ganz unten <--
          Dem User habe ich schon alle möglichen Rechte gegeben, doch nur der Sysadmin kann Tabellen anlegen.
          Ich vermute mal, dass die SQL-Instanz einen Fehler hat.
          Werde den Server heute Nacht booten, vielleicht hilfts.

          Gruß

          Frank


          Der UTITLE: Microsoft SQL Server Management Studio
          ------------------------------

          Property DefaultSchema is not available for Database '[test]'. This property may not exist for this object, or may not be retrievable due to insufficient access rights. (SQLEditors)

          For help, click: http://go.microsoft.com/fwlink?ProdN...a&LinkId=20476

          ------------------------------

          Comment


          • #6
            Die Meldung sagt doch gar nichts über fehlende Rechte, sondern das der User kein "DefaultSchema" für die DB hat bzw. diese nicht vorhanden ist. Und wenn man dann beim CREATE nicht noch explizit ein existierendes Schema angibt, dann soll wohl so eine Meldung zustande kommen.

            Management Studio => Sicherheit => Anmeldungen => Rechte-Maus auf den User => Eigenschaften => Seite "Benutzerzuordnung"
            Sieh dort mal in der Spalte "Standardschema" nach, ob/welches der User auf der DB hat und ob es dieses auch gibt.

            Olaf
            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


            • #7
              Hallo Olaf,
              bei Standardschema ist nichts eingetragen. Da wir ausschließlich mit Windowsgruppen arbeiten, kann hier auch keine Zuordnung erfolgen.
              Ich habe noch eine weitere Instanz bei dieser ist das anlegen von Tabellen, mit db_owner Rechten kein Problem...
              Danke und Gruß
              Frank


              Originally posted by O. Helper View Post
              Die Meldung sagt doch gar nichts über fehlende Rechte, sondern das der User kein "DefaultSchema" für die DB hat bzw. diese nicht vorhanden ist. Und wenn man dann beim CREATE nicht noch explizit ein existierendes Schema angibt, dann soll wohl so eine Meldung zustande kommen.

              Management Studio => Sicherheit => Anmeldungen => Rechte-Maus auf den User => Eigenschaften => Seite "Benutzerzuordnung"
              Sieh dort mal in der Spalte "Standardschema" nach, ob/welches der User auf der DB hat und ob es dieses auch gibt.

              Olaf

              Comment


              • #8
                Oder eben das Schema explizit beim CREATE angeben, dann sollte es auch funktionieren:

                CREATE TABLE schema_name. table_name

                Olaf
                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


                • #9
                  Hallo,

                  etwas spät, aber besser als gar nicht.
                  Hier ist die Ursache mit Lösung:

                  Hier handelt es sich um einen bekannten Bug. Wenn ein Benutzer Mitglied in zweier Gruppen ist und über beide Gruppen, die unterschiedliche DefaultSchemas zugewiesen bekommt, kann das System sich nicht entscheiden, da bei create table ein owner schema vergeben wird.
                  Lösung: eine neue Windowsgruppe anlegen, die nur die DB Owner-rechte auf die DB hat. Dann tuts.




                  Originally posted by frankmann2 View Post
                  Hallo,

                  ein Entwickler benötigt das Recht Tabellen und Ansichten zu erstellen.
                  Dieses kann er aber nur, wenn er sysadmin ist.
                  Da ich ihm diese Rechte nicht geben kann, suche ich nach einer anderen Lösung.
                  Kenn jemand das Problem?

                  Schon mal vielen Dank
                  Gruß
                  Frank

                  Comment

                  Working...
                  X