Datenbanktreiber eines Clients, wie z. B. der Microsoft Access-Treiber für SQL Server, verwenden eindeutige Tabellen zur Erstellung aktualisierbarer Abfragen. Die eindeutige Tabelle identifiziert für eine gegebene SELECT-Anweisung die Tabelle, deren Zeilenwerte maximal einmal im Resultset erscheinen. Bei einer erneuten Auswahl einer Zeile aus einem Resultset reichen die Werte aus den Schlüsselspalten der eindeutigen Tabelle aus, um die Zeile zu identifizieren. Dieser Fehler wird ausgelöst, wenn der Server die eindeutige Tabelle nicht berechnen kann.
Datenbanktreiber eines Clients, wie z. B. der Microsoft Access-Treiber für SQL Server, verwenden eindeutige Tabellen zur Erstellung aktualisierbarer Abfragen. Die eindeutige Tabelle identifiziert für eine gegebene SELECT-Anweisung die Tabelle, deren Zeilenwerte maximal einmal im Resultset erscheinen. Bei einer erneuten Auswahl einer Zeile aus einem Resultset reichen die Werte aus den Schlüsselspalten der eindeutigen Tabelle aus, um die Zeile zu identifizieren. Dieser Fehler wird ausgelöst, wenn der Server die eindeutige Tabelle nicht berechnen kann.
Dieser Fehler kann ausgelöst werden, wenn die SELECT-Abfrage eine UNION-, GROUP BY-, ROLL UP-Klausel oder andere Aggregatfunktionen verwendet. Eindeutige Tabellen sind für diese Fälle nicht definiert.
Schreiben Sie die Abfrage um, und vermeiden Sie dabei Konstrukte, die eine eindeutige Tabellenberechnung verhindern. In den meisten Fehlerszenarien kann kein aktualisierbares Resultset implementiert werden.
Name | Beschreibung | Standardwert |
Aktiviert | Aktiviert oder deaktiviert den Workflow. | Ja |
Intervall (Sekunden) | Gibt das Wiederholungsintervall in Sekunden für die Ausführung des Workflows an. | 300 |
Priorität | Definiert die Warnungspriorität. | 1 |
Schweregrad | Definiert den Warnungsschweregrad. | 2 |
Synchronisierungszeit | Synchronisierungszeit |
|
Timeout (Sekunden) | Gibt die Zeit an, zu der der Workflow ausgeführt werden dann, bevor er geschlossen und als fehlerhaft markiert wird. | 200 |
Timeout für Datenbankverbindung (Sekunden) | Es tritt ein Fehler beim Workflow auf, und ein Ereignis wird registriert, wenn der Workflow nicht innerhalb des angegebenen Zeitraums auf die Datenbank zugreifen kann. | 15 |
Target | Microsoft.SQLServer.Windows.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Comment | Mom2017ID='{E8827C4D-1683-4BC1-915A-32FB2D21441B}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74} |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ | DataSource | Microsoft.SQLServer.Windows.DataSource.EventCollectionFiltered | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.Windows.EventRule.DBEngine.Unique_table_computation_failed_1_5_Rule" Target="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{E8827C4D-1683-4BC1-915A-32FB2D21441B}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Microsoft.SQLServer.Windows.DataSource.EventCollectionFiltered">
<MachineName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<MonitoringType>$Target/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<EventDisplayNumber>16959</EventDisplayNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.Windows.EventRule.DBEngine.Unique_table_computation_failed_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/Property[@Name='EventID']$. $Data/Property[@Name='Message']$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>