Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Replikation filtern

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von Daddy, 23 Mai 2013.

  1. Daddy

    Daddy Neuer Benutzer

    Hallo Forum,
    unsere CRM Software speichert in einer MS SQL 2008 Standard ihre Daten.
    Auf diese DB greifen ca. 40 User zu. Ein paar dieser User (Außendienstmitarbeiter) haben auf Ihrem Noteook eine separate Installation dieser CRM Software + SQL Express 2008 und replizieren diese Daten bei Bedarf.
    Da in diesem CRM System ca. 200.000 Datensätze liegen und unsere Außendienstmitarbeiter nur die Datensätze Ihrer Kunden sehen dürfen, habe ich für jeden Mitarbeiter bis jetzt eine eigene Veröffentlichung gemacht, in der dann nur die Daten mit seinem Namen im Tabellenfeld "Vertreter_1" oder "Vertreter_2" repliziert werden.
    SELECT*FROM Datenbank.dbo.ADDRESSES WHERE(VERTRETER_1 = N'Matthias Müller')OR(VERTRETER_2 = N'Matthias Müller')
    Ich bin nun auf der Suche nach einem SQL Code, den ich als neuen Filter für nur noch eine Veröffentlichung nutzen kann. Der Filter sollte prüfen, welcher PC-Name oder Windows User Name sich verbindet und anhand dieser Info die Daten zur Verfügung stellen. Kann mir einer von euch so einen Beispiel Code nennen?
    WENN Hostname = PC001 ODER Username = MUSTERMANN DANN VERTRETER_1 = "Peter Müller"
    WENN Hostname = PC002 ODER Username = MUSTERFRAU DANN VERTRETER_1 = "Matthias Müller"
    Bin für jeden Hinweis dankbar.
     
  2. Tommi

    Tommi Datenbank-Guru

    Hi,

    ein paar Informationen kann man aus der Anmeldung, mit der die Connection zum SQL-Server aufgebaut wird, entnehmen.
    Versuch mal folgende Abfrage auf dem SQL-Server:

    Code:
    SELECT Host_id() as HostID
    , Host_Name() as HostName
    , suser_sid() as UserSID
    , System_User as UserAccountName
    , App_Name() as ApplicationName
    Voraussetzung ist natürlich, dass zum einen die erforderlichen Daten, die mittels System ermittelt werden können, auch in der Datenbank in entsprechenden Feldern abgelegt sind, damit ein Filtern der abhängigen Daten überhaupt möglich wird.
    Zum anderen ist es natürlich dann auch zwingend notwendig, dass die Anmeldung am SQL-Server über den AD-Anmeldenamen des Anwenders erfolgt.

    Hier wirst du ein wenig testen und ausprobieren müssen.

    Viel Erfolg, viel Spaß und viele Grüße,
    Tommi
     
  3. ukulele

    ukulele Datenbank-Guru

    Ich habe schon einiges an CRM Software oder ähnlicher Software gesehen. Die Filter, die du angesprochen hast, laufen die innerhalb der CRM Umgebung oder nur auf der DB? Die meisten CRMs bieten eine eigene Nutzerverwaltung und eine entsprechende Variable zum grade angemeldeten Benutzer, die auch im Filer (falls durch die CRM Software ausgeführt) eingesetzt werden kann und dann mit einem entsprechenden Wert bestückt an die DB weiter gereicht wird.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden