Ich habe meine Daten in SQL Server 2008 R2 in einer Datenbank namens CompanyData. Ich habe dort einige Tabellen mit Transaktionsverlauf mit vielen Details zu jeder Transaktion.Ausblenden von Details mit einer Ansicht in SQL Server 2008
Für bestimmte Berichtsbenutzer möchte ich, dass sie Berichtkapazität haben, aber viele Details verbergen.
Also ging ich voran und erstellte eine neue Datenbank, DBReport, und erstellte eine Ansicht, die nur bestimmte Spalten aus den Tabellen auswählt. Beispiel: SELECT field1, field2, field3 aus [CompanyData]. [Dbo]. [TableA] ...
Ich habe einen neuen Benutzer und ein neues Login erstellt (ich gestehe, dass ich den Unterschied nicht verstehe, Da ich sie immer zusammen erstelle), wird das ReportingUser NUR mit der Rolle db_datareader in DBReport aufgerufen.
Das Problem ist, dass, wenn ich einen Bericht als dieser begrenzte Benutzer ausführen, kommt es mit einem Fehler zurück, der besagt, dass dies unter der aktuellen Sicherheit nicht geschieht.
Also meine Frage kommt darauf, wie ich in der Ansicht angeben, um sich an CompanyData mit einem gültigen Benutzer in CompanyData anmelden. Ich weiß, dass ich ReportingUser auch in CompanyData erstellen kann, aber genau das möchte ich vermeiden.
Ich hoffe, ich bin nicht hier, so ist verwirrend ...
Dank!
Grundsätzlich * Logins * gehören zum Server, * User * gehören zu Datenbanken (technisch hat jede Datenbank ihre eigenen Benutzer, obwohl es in der Praxis durchaus ein und dasselbe Set sein kann). Es ist möglich, Zugriff auf den Server zu haben (Login) und keinen Zugriff auf eine bestimmte Datenbank zu haben (in diesem DB ist kein Benutzer mit Ihrem Login verbunden). –