none
Report Server Windows Service (MSSQLSERVER) kann nicht mit der Berichtsserver-Datenbank verbunden werden. RRS feed

  • Frage

  • Guten Morgen!

    Ich verzweifle gerade.

    Eingesetzt wird ein SQL Server 2008 R2 mit Sp2 auf einem Windows Server 2008 R2 Datacenter 64Bit

    Es läuft noch FEP 2010 mit SCCM 2007 R3

    Im Ereignisprotokoll bekomme ich die Meldung Ereignis ID 107 Report Server Windows Service (MSSQLSERVER) kann nicht mit der Berichtsserver-Datenbank verbunden werden.

    In der Konfiguration für Reporting Services habe ich das Dienstkonto auf Domäne\Administrator gesetzt, mit dem Konto wird auch der SQL Server gestartet.

    Ich weiß langsam nicht mehr weiter.

    Grüße

    Freitag, 11. Januar 2013 07:29

Antworten

  • Wenn ich allerdings im SCCM einen Computerdetailbericht für FEP 2010 angucken möchte funktioniert das nicht.

    Hallo Klaus,

    aber das hat doch ÜBERHAUPT nichts mit Problemen in Reporting Services zu tun!
    Die Reporting Services laufen, der Webservice kann auf die Datenbank zugreifen!

    Das Problem ist eher der Serviceaccount von SCCM, der auf die Datenbanken zugreifen muß.


    Uwe Ricken

    MCSE - SQL Server 2012
    MCSA - SQL Server 2012
    MCITP Database Administrator 2005
    MCITP Database Administrator 2008
    MCITP Microsoft SQL Server 2008, Database Development

    db Berater GmbH
    http://www-db-berater.de
    SQL Server Blog (german only)

    Montag, 28. Januar 2013 11:39

Alle Antworten

  • Hallo Klamme,

    wie ist dem im Setup für ReportServer die Datenbank definiert?
    Der Fehler sagt nicht aus, dass eine Anmeldung am Server fehlschlägt, sondern dass die ReportServer-Datenbank nicht verfügbar ist.


    Uwe Ricken

    MCITP Database Administrator 2005
    MCITP Database Administrator 2008
    MCITP Microsoft SQL Server 2008, Database Development

    db Berater GmbH
    http://www-db-berater.de
    SQL Server Blog (german only)

    Freitag, 11. Januar 2013 08:58
  • Hallo,

    die Datenbank ist wie im Screenshot konfiguriert.

    _neu, weil ich sie schon ein mal neu erstellt habe, da ich dachte die erste DB ReportServer wäre defekt.

    Grüße

    Freitag, 11. Januar 2013 13:59
  • Hallo Klamme,

    unter welchem Account laufen denn die Reporting Services?

    Prüfe mal, ob der Serviceaccount der Reporting Services auch tatsächlich als Login auf die Datenbanken berechtigt ist.


    Uwe Ricken

    MCITP Database Administrator 2005
    MCITP Database Administrator 2008
    MCITP Microsoft SQL Server 2008, Database Development

    db Berater GmbH
    http://www-db-berater.de
    SQL Server Blog (german only)

    Mittwoch, 16. Januar 2013 15:12
  • Guten Morgen,

    hier ist der Überblick über die Dienste und mit welchem Account sie gestartet werden.

    Wie prüfe ich denn ob der Service Account Berechtigungen auf die Datenbank hat?

    Grüße

    Klaus

    Donnerstag, 17. Januar 2013 07:28
  • Hallo Klaus,
    ich weiß nicht, ob das Thema noch offen ist, aber hier ein paar Hinweise:
    1.) In der Konfiguration für Reporting Services habe ich das Dienstkonto auf Domäne\Administrator gesetzt, mit dem Konto wird auch der SQL Server gestartet.
    Das solltest Du nicht machen, da hiermit auch jeder sysadmin ein Domain-Admin ist. Verwende besser ein lokales Admin-Konto, oder einfach ein lokales Konto, welches nur einen minimalen Satz von Berechtigungen bekommt.

    2.) Wie prüfe ich denn ob der Service Account Berechtigungen auf die Datenbank hat?
    Hier solltest Du entweder über das Management Studio unter "Sicherheit" bei den Konten nachschauen können, welche vorhanden und wie berechtigt sind. Alternativ kann man das ganze auch per Skript machen.
    http://www.insidesql.org/blogs/cmu/sql_server/berechtigungen-im-sqlserver-2005-anzeigen
    http://www.insidesql.org/blogs/cmu/sql_server/serverweite-berechtigungen-und-verwaiste-benutzer
     Einen schönen Tag noch,
    Christoph
    --
    Microsoft SQL Server MVP
    www.insidesql.org/blogs/cmu

    Montag, 21. Januar 2013 13:21
    Beantworter
  • Guten Morgen Christoph,

    jupps Thema ist noch aktuell.

    Ich habe jetzt ein lokales Konto erstellt. Soll ich mit dem Konto alle Dienste von SQL laufen lassen (einschließlich Reporting Services)?

    Und reicht es das der Benutzer Mitglied von "Benutzer" ist oder ist das zu wenig?

    Das Ergebnis von dem Script sagt mir leider gar nichts :-(

    Grüße

    Klaus

    Dienstag, 22. Januar 2013 07:26
  • Hallo,

    ich kann aber leider kein lokales Konto bei dem Dienstkonto angeben. Ich muss immer domäne\Benutzer angeben.

    Dienstag, 22. Januar 2013 09:42
  • Hast Du mal ComputerName\LocalSystem oder .\LocalSystem probiert?

    Oder ist das etwa ein Domain-Controller?

    Einen schönen Tag noch,
    Christoph
    --
    Microsoft SQL Server MVP
    www.insidesql.org/blogs/cmu

    Dienstag, 22. Januar 2013 13:39
    Beantworter
  • Hallo Klaus,
    wenn Du das mit dem Skript nicht hinbekommst, verwende das Management Studio und schau Dir die Eigenschaften der Konten unter Sicherheit an.

    Einen schönen Tag noch,
    Christoph
    --
    Microsoft SQL Server MVP
    www.insidesql.org/blogs/cmu

    Dienstag, 22. Januar 2013 13:43
    Beantworter
  • So, ich habe jetzt im Konfigurations-Manager für Reporting Services das Dienstkonto auf Lokales System gestellt und den Dienst SQL Server Reporting Services (MSSQLSERVER) auch auf Lokales System.

    Im Management Studio unter Sicherheit -> Anmeldungen NT-Authorität\LOKALER DIENST und den Haken bei der ReportServer_neu gesetzt.

    Der Fehler erscheint aber leider immer noch :-(

    Dienstag, 22. Januar 2013 15:12
  • Aktiviere in den Eigenschaften des Servers unter Sicherheit die Anmeldungsüberwachung. Dort am besten die Option "Nur fehlerhafte Anmeldungen" setzen.

    Dann noch mal probieren!

    SQL Server Datenbank und Reporting Server Service befinden sich aber schon auf dem selben Server? ! ?

    Einen schönen Tag noch,
    Christoph
    --
    Microsoft SQL Server MVP
    www.insidesql.org/blogs/cmu

    Mittwoch, 23. Januar 2013 08:04
    Beantworter
  • Warum stellst Du das Konto zwei mal um?
    Du darfst den Service nur über das Konfigurationstool vom SQL Server ändern, nicht über Services.msc!
     Einen schönen Tag noch,
    Christoph
    --
    Microsoft SQL Server MVP
    www.insidesql.org/blogs/cmu

    Mittwoch, 23. Januar 2013 08:10
    Beantworter
  • Guten Morgen!

    In den Eigenschaften war die Option "Nur fehlerhafte Anmeldungen" bereits angehakt.

    Der SQL Server und der Reporting Server befinden sich auf dem selben Server.

    Ich habe jetzt noch mal über das Konfigurationsmanager das Dienstkonto auf "Lokales System" gestellt, ich erhalte aber leider nach wie vor die Fehlermeldung.

    Ich habe im Ereignisprotokoll noch zwei DistibutedCOM Fehler, weiß aber leider nicht ob die etwas damit zu haben.

    Die Beschreibung für die Ereignis-ID "10016" aus der Quelle "Microsoft-Windows-DistributedCOM" wurde nicht gefunden. Entweder ist die Komponente, die dieses Ereignis auslöst, nicht auf dem lokalen Computer installiert, oder die Installation ist beschädigt. Sie können die Komponente auf dem lokalen Computer installieren oder reparieren.

    Falls das Ereignis auf einem anderen Computer aufgetreten ist, mussten die Anzeigeinformationen mit dem Ereignis gespeichert werden.

    Die folgenden Informationen wurden mit dem Ereignis gespeichert: 

    Anwendungsspezifisch
    Lokal
    Start
    {1A9FFCE9-10C1-40BC-9815-B20C1DC2D156}
    {AD65A69D-3831-40D7-9629-9B0B50A93843}
    NT-AUTORITÄT
    LOKALER DIENST
    S-1-5-19
    LocalHost (unter Verwendung von LRPC)

    und 

    Die Beschreibung für die Ereignis-ID "10016" aus der Quelle "Microsoft-Windows-DistributedCOM" wurde nicht gefunden. Entweder ist die Komponente, die dieses Ereignis auslöst, nicht auf dem lokalen Computer installiert, oder die Installation ist beschädigt. Sie können die Komponente auf dem lokalen Computer installieren oder reparieren.

    Falls das Ereignis auf einem anderen Computer aufgetreten ist, mussten die Anzeigeinformationen mit dem Ereignis gespeichert werden.

    Die folgenden Informationen wurden mit dem Ereignis gespeichert: 

    Anwendungsspezifisch
    Lokal
    Start
    {24FF4FDC-1D9F-4195-8C79-0DA39248FF48}
    {B292921D-AF50-400C-9B75-0C57A7F29BA1}
    NT-AUTORITÄT
    SYSTEM
    S-1-5-18
    LocalHost (unter Verwendung von LRPC)

    Donnerstag, 24. Januar 2013 06:18
  • Versuch bitte mal folgendes SQL, welches ca. 863 Zeilen liefert.

    Use Reportserver_neu
    go
    WITH        perms_cte(principal_name,principal_id,
    principal_type_desc,class_desc, [object_name], permission_name,
    permission_state_desc, login ) as
    (
                 select USER_NAME(p.grantee_principal_id) AS principal_name,
                                 dp.principal_id,
                                 dp.type_desc AS principal_type_desc,
                                 p.class_desc,
                                 OBJECT_SCHEMA_NAME(p.major_id) +'.'+OBJECT_NAME(p.major_id)
    AS [object_name],
                                 p.permission_name,
                                 p.state_desc AS permission_state_desc,
                                 sp.name as login
                 from        sys.database_permissions p
                 left JOIN sys.database_principals dp on p.grantee_principal_id =
    dp.principal_id
                 left Join sys.server_principals sp     on dp.sid = sp.sid
    )
    -- users
    SELECT p.principal_name,    p.principal_type_desc, login, p.class_desc,
    p.[object_name], p.permission_name,
    p.permission_state_desc, cast('<explizites>' as sysname) as role_name
    FROM        perms_cte p
    UNION
    -- role members
    SELECT rm.member_principal_name, rm.principal_type_desc, rm.login,
    p.class_desc, p.[object_name], p.permission_name,
    coalesce(p.permission_state_desc, '<mitglied>'), rm.role_name
    FROM        perms_cte p
    right outer JOIN (
         select role_principal_id, dp.type_desc as principal_type_desc,
    member_principal_id,user_name(member_principal_id) as member_principal_name,
         user_name(role_principal_id) as role_name, sp.name as login
         from        sys.database_role_members rm
         INNER     JOIN sys.database_principals dp ON         rm.member_principal_id =
    dp.principal_id
         left        Join sys.server_principals sp on dp.sid = sp.sid
    ) rm
    ON         rm.role_principal_id = p.principal_id
    order by 2, 1, 4, 5, 6, 8

    Findest Du dort auch den principal_name NT AUTHORITY\LOCAL SYSTEM oder NT AUTHORITY\NETWORK SERVICE wieder?
    Bei mir läuft es in der Regel unter NT AUTHORITY\NETWORK SERVICE.

    Siehst Du hier eine Session?

    exec sp_who 'NT AUTHORITY\LOCAL SYSTEM';

    Einen schönen Tag noch,
    Christoph
    --
    Microsoft SQL Server MVP
    www.insidesql.org/blogs/cmu

    Donnerstag, 24. Januar 2013 09:15
    Beantworter
  • Hallo!

    Ich habe als Ergebnis (1338 Zeilen) mehrmals unter principal_name NT-AUTORITÄT\LOKALER DIENST und NT-AUTORITÄT\NETZWERKDIENST

    Bei

    exec sp_who 'NT-AUTORITÄT\LOKALER DIENST';

    erscheint beim Ergebnis nichts.

    GRüße

    Klaus

    Donnerstag, 24. Januar 2013 09:25
  • Hallo Klaus,
    halten wir mal fest:
    - Es gibt jede Menge Berechtigungen für das gewählte Konto
    - Es gibt keine Session von dem Konto
    - Es gibt keine Protokollierung von fehlerhaften Anmeldeversuchen
    - Die Anmeldung des Dienstes funktioniert aber immer noch nicht

    Dann fällt mir eigentlich nur ein, dass der angegebene Servername falsch ist oder nicht aufgelöst werden kann. Aber irgendwie hast Du es ja geschafft eine neue Report-Server Datenbank anzulegen. Das hast Du ja wohl kaum von Hand gemacht, oder?
     Einen schönen Tag noch,
    Christoph
    --
    Microsoft SQL Server MVP
    www.insidesql.org/blogs/cmu

    Freitag, 25. Januar 2013 13:30
    Beantworter
  • Hallo Christoph,

    Die neue Report Datenbank habe ich über den Konfigurations-Manager für Reporting Services angelegt.

    Wenn ich auf dem Server im Internet Explorer http://lokaler Server/Reports aufrufe erhalte ich auch eine Seite vom SQL Server Reporting Services Stamm

    Wenn ich allerdings im SCCM einen Computerdetailbericht für FEP 2010 angucken möchte funktioniert das nicht.

    Dort erhalte ich dann folgende Fehlermeldung die ich auf die Fehlerhafte Anmeldung des Dienstes zurückführe.

    System.Web.Services.Protocols.SoapException: Das /Forefront Endpoint Protection_***-Element wurde nicht gefunden. ---> Microsoft.ReportingServices.Diagnostics.Utilities.ItemNotFoundException: Das /Forefront Endpoint Protection_***-Element wurde nicht gefunden.
       bei Microsoft.ReportingServices.WebServer.ReportingService2005Impl.ListChildren(String Item, Boolean Recursive, CatalogItem[]& CatalogItems)
       bei Microsoft.ReportingServices.WebServer.ReportingService2005.ListChildren(String Item, Boolean Recursive, CatalogItem[]& CatalogItems)

    Grüße

    Klaus

    Montag, 28. Januar 2013 11:11
  • Wenn ich allerdings im SCCM einen Computerdetailbericht für FEP 2010 angucken möchte funktioniert das nicht.

    Hallo Klaus,

    aber das hat doch ÜBERHAUPT nichts mit Problemen in Reporting Services zu tun!
    Die Reporting Services laufen, der Webservice kann auf die Datenbank zugreifen!

    Das Problem ist eher der Serviceaccount von SCCM, der auf die Datenbanken zugreifen muß.


    Uwe Ricken

    MCSE - SQL Server 2012
    MCSA - SQL Server 2012
    MCITP Database Administrator 2005
    MCITP Database Administrator 2008
    MCITP Microsoft SQL Server 2008, Database Development

    db Berater GmbH
    http://www-db-berater.de
    SQL Server Blog (german only)

    Montag, 28. Januar 2013 11:39
  • Schön zu wissen! ;-)

    Einen schönen Tag noch,
    Christoph
    --
    Microsoft SQL Server MVP
    www.insidesql.org/blogs/cmu

    Montag, 28. Januar 2013 14:52
    Beantworter
  • Dann werde ich mal im SCCM Forum nachfragen.

    Vielen Dank für die Hilfe.

    Montag, 28. Januar 2013 15:44