Announcement

Collapse
No announcement yet.

Linked Server dBase

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

  • Linked Server dBase

    Hallo,

    ich möchte gern in eine Abfrage Daten von einer dBase Datenbank verwenden.
    Das tue ich mit einer OpenQuery, was grundsätzlich auch funktioniert.

    Jedoch muss der Benutzer hierfür sysadmin sein, sonst geht die Abfrage nicht.
    Ich hab schon einiges versucht, leider funktionierte kein Weg.

    Wäre froh wenn ihr Tipps für mich hättet.
    Es geht darum, ich hab einen SQL User, der diese Abfrage macht, und dieser benötigt auch die Berechtigung, jedoch wenn der User sysadmin ist, darf er eindeutig zuviel.

    Ich möchte zB den User nur sagen, er darf diese OpenQuery ausführen darf, aber ohne, dass er zB Datenbanken löschen darf oder erstellen.

    lg Lion1984

  • #2
    Hallo,

    da die Frage im SQL Server 2005-Ordner gestellt wurde, steht der Funktionsumfang der 2005er-Version zur Verfügung. Wenn der Aufruf der OpenQuery-Abfrage in eine gespeicherte Prozedur ausgelagert wird, die über die Option WITH EXCECUTE unter einem anderen Benutzerkonto ausgeführt wird, werden beide Fliegen mit der gleichen Klappe geschlagen:

    [highlight=SQL]
    CREATE PROCEDURE dbo.spMeineProzedur WITH EXCECUTE AS 'AdminBenutzerKonto'
    AS
    ...
    GO
    [/highlight]
    Der "normale" Benutzer muss nur das Recht zum Aufruf dieser gespeicherten Prozedur erhalten, die T-SQL-Anweisungen innerhalb der Prozedur werden kann unter dem festgelegten anderen Benutzerkonto ausgeführt.

    Comment


    • #3
      Vielen Dank,

      genau so hab ich mir das vorgestellt, besten Dank!

      Comment


      • #4
        Hallo,

        nun es läuft wie ich mir das vorgestellt habe. Jedoch nicht zu 100%.

        Jetzt habe ich z.B. 2 Prozeduren die eigentlich die selbe Query beinhalten, aber nur anders sortiert bzw. gefilter wird.

        Bei beiden habe ich "With Execute as" angewendet, die eine funktioniert, die andere nicht. Ich erhalte folgende Meldung: "Access to the remote server is denied because no login-mapping exists."

        So, da diese Fehlermeldung eigentlich sehr viele Möglichkeiten einschließt, wollte ich Fragen, ob ihr mir Tipps geben könnt, bei welchen Login ich ansetzten sollte?

        lg Lion

        Comment

        Working...
        X