Einzelnen Beitrag anzeigen

jensw_2000
(Gast)

n/a Beiträge
 
#2

Re: MS SQL-Server User begrenzen auf die Datenbank

  Alt 7. Jan 2005, 02:47
Zum Einschränken fällt mit nichts ein.

Die Anzahl der aktiven Sitzungen kannst du so ermitteln ...

SQL Server -> Benutzerdefinierte Funktion erstellen Folgenden Code rein ...


SQL-Code:
/* #############################################################
  Ermittelt die verbundenen PC's und die Anzahl der PID's je PC
  by Jens Warkentin
 
  Habt Spass damit, verbessert es und reicht es weiter ... :-)
 
  Aufruf :
      -- reine Anzahl der verbundenen PC's ermitteln
      select count (pc) from getactiveusercount() group by pc
     
      -- verbundene PC's und deren Anzahl PID's ermitteln
      select * from getactiveusercount()
################################################################*/

   
CREATE FUNCTION GetActiveUsercount()
RETURNS TABLE
AS return
      SELECT min(RTRIM(hostname)) as 'PC', count(RTRIM(hostname)) as 'Offene Prozesse'
      
   FROM
        master.dbo.sysprocesses (NOLOCK)
   WHERE
        hostname <> ''
        
     group by RTRIM(hostname)
     
-- Ende ##########################################################

ABER:

Jeder PC muss während der Programm-Laufzeit mindestens eine geöffnete Sitzung zum SQL-Server haben, damit der User (PC) auch sicher von der Funktion erfasst wird.

Wenn du deine Datasets zur Laufzeit erstellst und diese gleich wieder geschlossen oder freigegeben werden, dann hat die Funktion für dich keinen Wert....


  Mit Zitat antworten Zitat