ΕΠΙΔΙΌΡΘΩΣΗ: "0x80040e4d" σφάλμα κατά τη ρύθμιση παραμέτρων του Forefront TMG 2010 για να δημιουργήσει τα ημερήσια συνοπτικά δεδομένα νύκτα σε έναν υπολογιστή που διαθέτει το SP1 προεγκατεστημένα

Ισχύει για: Forefront Threat Management Gateway 2010 EnterpriseForefront Threat Management Gateway 2010 Standard

Συμπτώματα


Εξετάστε το ακόλουθο σενάριο:
  • Έχετε Microsoft Forefront απειλή διαχείρισης πύλη (TMG) 2010 Service Pack 1 (SP1), προεγκατεστημένα στον υπολογιστή σας.
  • TMG έχει ρυθμιστεί για να δημιουργήσει τα ημερήσια συνοπτικά δεδομένα νύκτα.

Σε αυτό το σενάριο, τα συνοπτικά δεδομένα δεν δημιουργείται με τον αναμενόμενο τρόπο. Εάν προσπαθήσετε να δημιουργήσετε μια αναφορά, η αναφορά είναι κενή και μόνο εμφανίζονται τα στοιχεία του προτύπου έκθεσης. Επιπλέον, ενδέχεται να εμφανιστεί το ακόλουθο σφάλμα Δημιουργία σύνοψης έκθεσης"μήνυμα στην κονσόλα διαχείρισης TMG:
Περιγραφή: Δεν δημιουργήθηκε η ημερήσια σύνοψη για ημέρα "ηη/μμ/εεεε". Αυτό μπορεί να προκαλέσει την αναφορά για αυτήν την περίοδο είναι ανακριβή. Βεβαιωθείτε ότι υπάρχει εκ των προτέρων ειδοποιήσεις ρύθμισης παραμέτρων αναφοράς, και ότι οι υπηρεσίες αναφοράς στο καθορισμένο διακομιστή Forefront TMG αναφοράς είναι εκτελείται και είναι προσβάσιμες από όλα τα μέλη του πίνακα. Χρησιμοποιήστε τη θέση προέλευσης 1001.105.7.0.9027.450 για να αναφέρετε το σφάλμα. Η αποτυχία οφείλεται σε σφάλμα: 0x80040e4d

Αιτία


Όταν TMG είναι προεγκατεστημένα, εκτέλεση του Sysprep.exe στον υπολογιστή γενίκευσης της εγκατάστασης. Ωστόσο, μετά τη γενίκευση της εγκατάστασης, ορισμένα τμήματα της εγκατάστασης TMG ενδέχεται να μην λειτουργούν όπως αναμένεται. Για να διορθώσετε αυτά τα ζητήματα, η εφαρμογή IsaApplianceInit.exe εκτελείται κατά την πρώτη εκκίνηση του TMG. Ωστόσο, όταν το Service Pack 1 είναι μέρος του πακέτου προεγκατάστασης, επηρεάζεται ο χρόνος για τη ρύθμιση των διαπιστευτηρίων για SQL Server Reporting Services (SSRS). Στην περίπτωση αυτή, TMG και SSRS έχουν διαφορετικές πιστοποιήσεις και αυτό προκαλεί το ζήτημα που περιγράφεται στην ενότητα "Συμπτώματα".

Προτεινόμενη αντιμετώπιση


Για να επιλύσετε αυτό το ζήτημα, εγκαταστήστε το service pack που περιγράφεται στο ακόλουθο άρθρο της Γνωσιακής Βάσης της Microsoft:
2555840 περιγραφή του Service Pack 2 για Microsoft Forefront απειλή διαχείρισης πύλη 2010

Εναλλακτικός τρόπος αντιμετώπισης


Για να επιλύσετε αυτό το ζήτημα, ρυθμίστε ξανά τις υπηρεσίες αναφοράς του TMG για να συγχρονίσετε τις πιστοποιήσεις μεταξύ TMG και SSRS. Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα:
  1. Ξεκινήστε το Notepad.exe. Για να γίνει αυτό, κάντε κλικ στο κουμπί Έναρξη, επιλέξτε Εκτέλεση, πληκτρολογήστε Σημειωματάριο (Notepad) στο πλαίσιο Άνοιγμα και, στη συνέχεια, κάντε κλικ στο κουμπί OK.
  2. Αντιγράψτε και επικολλήστε τον παρακάτω κώδικα στο έγγραφο του Σημειωματάριου (Notepad):
    set root = CreateObject("FPC.Root")Set arr = root.GetContainingArray

    WScript.Echo "Creating new Reporting Services configuration id"
    Dim newConfigId
    Set TypeLib = CreateObject("Scriptlet.TypeLib")
    newConfigId = TypeLib.Guid
    newConfigId = Left(newConfigId, Len(newConfigId)-2)
    newConfigId = newConfigId & "#fpcISA2010SP1"

    arr.Reports.ReportingServicesProperties.ReportingServicesConfigurationId = newConfigId
    wscript.echo "Changing Reporting Services configuration id"
    arr.Save
    wscript.echo "Waiting for reload on array " & arr.name
    arr.WaitForReload
    wscript.echo "Done reloading array " & arr.name

    Dim adStateOpen
    adStateOpen = 1

    Set cnn = CreateObject("ADODB.Connection")
    cnn.ConnectionString = "Provider=SQLOLEDB;Data Source='(local)\ISARS';Integrated Security=SSPI"
    cnn.Open
    If cnn.State <> adStateOpen Then
    wscript.echo "Failed to open SQL connection: " & cnn.ConnectionString
    End If

    Dim sqlCommand

    sqlCommand = "IF EXISTS(SELECT * FROM ISA_RS_Db.sys.database_principals WHERE name='ISA_RS_USER')" + vbCr + vbLf
    sqlCommand = sqlCommand + " BEGIN" + vbCr + vbLf
    sqlCommand = sqlCommand + " PRINT 'User already have a role on this db'" + vbCr + vbLf
    sqlCommand = sqlCommand + " END" + vbCr + vbLf
    sqlCommand = sqlCommand + "ELSE" + vbCr + vbLf
    sqlCommand = sqlCommand + " BEGIN" + vbCr + vbLf
    sqlCommand = sqlCommand + " PRINT 'User does not yet have a role on this db, adding...'" + vbCr + vbLf
    sqlCommand = sqlCommand + " EXEC ISA_RS_Db..sp_adduser 'ISA_RS_USER'" + vbCr + vbLf
    sqlCommand = sqlCommand + " EXEC ISA_RS_Db..sp_addrolemember 'db_owner', 'ISA_RS_USER'" + vbCr + vbLf
    sqlCommand = sqlCommand + " END" + vbCr + vbLf

    wscript.echo "Will execute " & vbCr & vbLf & sqlCommand
    Set rs = cnn.Execute(sqlCommand)
    cnn.Close

    WScript.Echo "Done!"
  3. Αποθηκεύστε το αρχείο ως "FixDailySum.vbs".
  4. Στο διακομιστή TMG αναφοράς, ανοίξτε μια γραμμή εντολών διαχείρισης και, στη συνέχεια, χρησιμοποιήστε την ακόλουθη εντολή για να εκτελέσετε τη δέσμη ενεργειών:
    cscript.exe FixDailySum.vbs

Κατάσταση


Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα ζήτημα των προϊόντων της Microsoft που παρατίθενται στην ενότητα "Ισχύει για".

Αναφορές


Για περισσότερες πληροφορίες σχετικά με την ορολογία των ενημερώσεων λογισμικού, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο στη Γνωσιακή Βάση της Microsoft:
824684 περιγραφή της βασικής ορολογίας που χρησιμοποιείται για την περιγραφή ενημερωμένων εκδόσεων λογισμικού της Microsoft