• Bewerte uns auf OMR Reviews: Klick

  • Achtet bitte in den Beiträgen darauf, dass ihr keine Informationen teilt, die der DSGVO unterliegen können. Verpixelt bitte die entsprechenden Stellen in Screenshots, postet hier auf keinen Fall Messagatracks ohne Rücksprache und auch in den Log Files können persönliche oder sensible Daten enthalten sein.

    Macht uns auch bitte per PN darauf aufmerksam wenn ihr etwas seht. Schreibt mich (@sören) einfach direkt an. 

In der Datenbank ist bereits ein Objekt mit dem Namen "PK__MessageTrackIds" vorhanden.

mbietz

Member
Registriert
28 Juni 2023
Beiträge
17
Reaktionspunkte
2
Seitdem Upgrade auf die Version 15.2.0.733 erhalte ich auf dem "Intranet Role"-Server regelmässig(alle 5 Minuiten) unten angehangene Warnmeldungen im "Net at Work Mail Gateway" Eventlog.
Im CommandCenter werden ansonsten keine Fehler angezeigt und auch ansonsten funktionieren alle Komponenten des NoSpamProxy (auch das Messagetracking)
einwandfrei.

Wir monitoren via folgende Powershell-Abfragen alle 5 Minuten das Messagetracking und ich vermute da einen Zusammenhang.

Auszug aus dem Powershellscript
"
$timespan = New-TimeSpan -Minutes 5
(Get-NspMessageTrack -Status Success -Age $timespan -Directions FromExternal).count
(Get-NspMessageTrack -Status Success -Age $timespan -Directions FromLocal).count
(Get-NspLicenseUsage).ProtectionUsers
(Get-NspMessageTrack -Status DuplicateDrop -Age $timespan -Directions FromExternal).count
(Get-NspMessageTrack -Status DuplicateDrop -Age $timespan -Directions FromLocal).count
(Get-NspMessageTrack -Status PartialSuccess -Age $timespan -Directions FromExternal).count
(Get-NspMessageTrack -Status PartialSuccess -Age $timespan -Directions FromLocal).count
(Get-NspMessageTrack -Status PermanentlyBlocked -Age $timespan -Directions FromExternal).count
(Get-NspMessageTrack -Status PermanentlyBlocked -Age $timespan -Directions FromLocal).count
(Get-NspMessageTrack -Status PutOnHold -Age $timespan -Directions FromExternal).count
(Get-NspMessageTrack -Status PutOnHold -Age $timespan -Directions FromLocal).count
(Get-NspMessageTrack -Status Suppressed -Age $timespan -Directions FromExternal).count
(Get-NspMessageTrack -Status Suppressed -Age $timespan -Directions FromLocal).count
(Get-NspMessageTrack -Status TemporarilyBlocked -Age $timespan -Directions FromExternal).count
(Get-NspMessageTrack -Status TemporarilyBlocked -Age $timespan -Directions FromLocal).count
(Get-NspMessageTrack -Status DeliveryPending -Age $timespan -Directions FromExternal).count
(Get-NspMessageTrack -Status DeliveryPending -Age $timespan -Directions FromLocal).count
(Get-NspMessageTrack -Status All -Age $timespan -Directions FromExternal).count
(Get-NspMessageTrack -Status All -Age $timespan -Directions FromLocal).count
(Get-NspMessageTrack -Status DispatcherError -Age $timespan -Directions FromExternal).count
(Get-NspMessageTrack -Status DispatcherError -Age $timespan -Directions FromLocal).count
(Get-NspMessageTrack -Status None -Age $timespan -Directions FromExternal).count
(Get-NspMessageTrack -Status None -Age $timespan -Directions FromLocal).count
"
Ist da etwas bekannt, bzw. hat sich irgendetwas bzgl. Poweshell-Modul geändert.
Danke und Gruß

Michael




Severity: Warning
Event ID: 24352
Date and time: 18.10.2024 13:56:22
Role or Service: Intranet Role
Message details: The processing of message tracks failed: System.Data.SqlClient.SqlException (0x80131904): In der Datenbank ist bereits ein Objekt mit dem Namen "PK__MessageTrackIds" vorhanden.
Die Einschränkung oder der Index konnte nicht erstellt werden. Siehe vorherige Fehler.
bei System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
bei System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
bei System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
bei System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
bei System.Data.SqlClient.SqlDataReader.get_MetaData()
bei System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
bei System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
bei System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
bei System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
bei System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
bei System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget target, Func`3 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed)
bei System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.Reader(DbCommand command, DbCommandInterceptionContext interceptionContext)
bei System.Data.Entity.Core.Objects.ObjectContext.ExecuteStoreQueryInternal[TElement](String commandText, String entitySetName, ExecutionOptions executionOptions, Object[] parameters)
bei System.Data.Entity.Core.Objects.ObjectContext.<>c__DisplayClass186_0`1.<ExecuteStoreQueryReliably>b__1()
bei System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func`1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction, Boolean releaseConnectionOnSuccess)
bei System.Data.Entity.Core.Objects.ObjectContext.<>c__DisplayClass186_0`1.<ExecuteStoreQueryReliably>b__0()
bei System.Data.Entity.Infrastructure.DbExecutionStrategy.Execute[TResult](Func`1 operation)
bei System.Data.Entity.Core.Objects.ObjectContext.ExecuteStoreQueryReliably[TElement](String commandText, String entitySetName, ExecutionOptions executionOptions, Object[] parameters)
bei System.Data.Entity.Core.Objects.ObjectContext.ExecuteStoreQuery[TElement](String commandText, ExecutionOptions executionOptions, Object[] parameters)
bei System.Data.Entity.Internal.LazyEnumerator`1.MoveNext()
bei System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
bei System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
bei Netatwork.NoSpamProxy.IntranetServices.Reporting.MessageTrackProcessor.<ProcessMessageTracksAsync>d__27.MoveNext()
ClientConnectionId:42254696-f15a-4cf5-9257-0383635c9d39
Fehlernummer (Error Number):2714,Status (State):5,Klasse (Class):16
Server name: XXXXXXXXXXXXX

-------------------------
 
Guten Morgen,

dazu ist mir erstmal nichts direkt bekannt.
Sollte aber nichts mit deinem Skript zu tun haben sondern viel mehr mit einem Messagetrack den die Intranet Rolle nicht verarbeiten kann.
Am besten machst du einmal ein Ticket auf :)


Gruß
Jan
 
Okay, ich habe ein Ticket dazu erstellt.
Ich werde weitere relevante Infos für alle dann hier veröffentlichen.
 
Das Problem wird durch mehrere "NoSpamProxy-Intra-Rollen Umgebungen" innerhalb einer SQL-Instanz ausgelöst.
Laut Support dürfen nur eine "NoSpamProxy-Intra-Rollen Umgebung" auf einer SQL-Instanz existieren.

Ich habe die Umgebungen nun auf unterschiedliche SQL-Servern verteilt. Damit ist auch dieses Problem gelöst.
 
Laut Support dürfen nur eine "NoSpamProxy-Intra-Rollen Umgebung" auf einer SQL-Instanz existieren.
What?! @JanJäschke kannst du dazu die logisch nachvollziehbare Gründe nennen? Weil solange es eindeutige Datenbank-Namen sind, wissen die Instanzen doch nichts voneinander.
 
@mbietz hatten die beiden Datenbanken wirklich den gleichen Namen?
Falls ja wäre es interessant zu wissen wie du das hinbekommen hast.

Ansonsten gilt:
Ein Server mit mehreren SQL Instanzen kann auch mehrere Intranet Rollen Datenbanken betreiben.

Der Punkt sind die Instanzen, diese müssen sich unterscheiden, der SQL Server lässt es eigentlich auch schon nicht zu mehrere Datenbanken mit dem gleichen Namen in einer Instanz zu betreiben.
Wo es auf unserer Seite Konflikt Potential geben könnte ist wenn du einen alten DB Namen und einen neuen hast. "NoSpamProxyAddressSynchronization" und "NoSpamProxyIntranetrole". Hier könnte es bei Updates ggf. schwierig werden wenn wir einen Logikfehler hätten, aber da wir die aktuelle Konfig abfragen um welche DB es sich handeln sollte, halte ich auch das für unwahrscheinlich.

Daher bleibt in meiner Vorstellung nur, dass ihr es irgendwie geschafft habt zwei DBs mit dem gleichen Namen in der gleichen Instanz zu erzeugen und das ist schlichtweg falsch ^^


Bin gespannt.

LG
Jan
 
Hallo,
die beiden DBs haben unterschiedliche Namen, unterschiedliche Benutzeraccounts und liefen nur in der selben SQL-Instanz.
Vor Upgrade auf Version 15.2.0.733, gab es auch damit keine Probleme.
 
Zurück
Oben