Announcement

Collapse
No announcement yet.

Unterschiedliche Ergebnisse beim Abfragen der master-Datenbank

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

  • Unterschiedliche Ergebnisse beim Abfragen der master-Datenbank

    Hallo,

    mit unserem Programm werden Daten verändert, die auf einer Datenbank auf dem SQL-Server abgespeichert sind. Für den Zugriff auf den SQL-Server verwenden wir die ADO-Klassen von Borland.

    Nun möchte ich feststellen, wieviele Benutzer sich mit unserem Programm angemeldet haben. Zu diesem Zweck habe ich zunächst folgende Abfrage erzeugt:
    SELECT Count(*) AS Anzahl FROM master.dbo.sysprocesses WHERE db_name(dbid) = ’dueva_usr_1’

    Mit den Klassen TADOConnection und TQuery sende ich diese Abfrage an die Datenbank. Dieser Mechanismus mit den Klassen TADOConnection und TQuery zur Abfrage der Anzahl läuft bei anderen Tabellen ohne Schwierigkeiten.

    Aber jetzt das Problem: Wenn ich den Inhalt des Feldes ’Anzahl’ abfrage, bekomme ich beim Zugriff mit den ADO-Klassen immer den Wert 1. Wenn ich aber die Abfrage im Management Studio des SQL-Servers stelle, bekomme ich einen anderen Wert. Mit ein und derselben Abfrage bekomme ich zwei unterschiedliche Ergebnisse. Mit dem C++-Programm und im Management Studio bin ich unter Accounts angemeldet, die lesenden Zugriff auf die master-Datenbank haben.

    Habe ich bei der Abfrage mit den ADO-Klassen etwas vergessen? Mache ich etwas falsch? Für jeden Tip bin ich dankbar.

    Viele Grüße
    Kai Siegele

  • #2
    Hallo,

    die BOL-Hilfeseite zu sysprocesses nennt die folgende Einschränkung: "If a user has VIEW SERVER STATE permission on the server, the user will see all executing sessions in the instance of SQL Server; otherwise, the user will see only the current session."

    Es ist also völlig normal, dass in der Datenbanksitzung eines regulären Benutzers (der nicht in der sysadmin-Serverrolle ist) weniger Einträge sichtbar sind, solange diesem Benutzer nicht zusätzliche Rechte erteilt werden.

    Comment


    • #3
      Vielen Dank für den Tip!

      Bislang war ich davon ausgegangen, dass die Zugriffsrechte auf die master-Datenbank ausreichen würden.

      Viele Grüsse
      Kai Siegele

      Comment

      Working...
      X