Replikation filtern

Daddy

Neuer Benutzer
Beiträge
1
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.
 
Werbung:

Tommi

Datenbank-Guru
Beiträge
290
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
 
Werbung:

ukulele

Datenbank-Guru
Beiträge
4.702
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.
 
Oben