Bei Microsoft anmelden
Melden Sie sich an, oder erstellen Sie ein Konto.
Hallo,
Wählen Sie ein anderes Konto aus.
Sie haben mehrere Konten.
Wählen Sie das Konto aus, mit dem Sie sich anmelden möchten.

Problembeschreibung

Betrachten Sie das folgende Szenario:

  • Zwischen einem lokalen Server und einen Remoteserver haben beide Instanzen von Microsoft SQL Server 2012 ist ein Verbindungsserver konfiguriert.

  • Der lokale Server ist mit einer Sortierung wie Kleinschreibung konfiguriert.

  • Der Remoteserver hat ein Objekt in eine andere Sortierung vom lokalen Server wie/Kleinschreibung konfiguriert ist.

  • Eine Verbindung mit Microsoft JDBC-Treiber für SQL Server Microsoft ODBC-Treiber für SQL Server, SQL OLE DB-Provider und SQL Native Client auf dem lokalen Server erfolgt.

  • Der Treiber führt eine Transact-SQL-Aktualisierungsabfrage als eine vorbereitete Anweisung, die auf dem lokalen Server Sp_prepexec gespeicherte Prozedur aufruft.

  • Die Abfrage wird eine Tabelle auf dem Remoteserver aktualisiert. Dies umfasst ein Column-Objekt, das eine andere Sortierung vom lokalen Server verwendet.

In diesem Szenario können Sie die Ausführung der Abfrage langsam. Wenn Sie den Ausführungsplan der Abfrage zum Aktualisieren aktivieren, sehen Sie ein remote-Scan ohne Filterung in der Tabelle auf dem Remoteserver ausgeführt wird. Daher kann die Abfrage viele Lesevorgänge ausführen scannt die entfernte Tabelle und ruft dann alle Zeilen auf dem lokalen server

Beispielsweise die Abfrage auf dem lokalen Server Kleinschreibung Standardsortierreihenfolge vorbereitet und der Remoteserver hat eine Tabelle T1 , die eine Spalte, die die Groß-/ Kleinschreibung enthält. Das Update überprüft alle Zeilen von T1.
DECLARE @p1 INTEXEC sp_prepexec @p1 output, N'@P0 NVARCHAR(16), @P1 NVARCHAR(16)',
N'UPDATE RemoteServer.RemoteDatabase.dbo.T1 SET COL1=@P0 WHERE COL2=@P1',
N'a', N'a'
SELECT @p1

Ursache

Das Problem tritt auf, da vorbereitete Aktualisierungsabfrage die entfernte Tabelle durchsucht werden, wenn die Sortierung nicht auf beiden Servern.

Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und alle Sicherheits-Updates, die im vorherigen kumulativen Update enthalten waren. Sehen Sie sich die neuesten kumulativen Updates für SQL Server an:


Hotfix-InformationenEin unterstützter Hotfix ist von Microsoft erhältlich. Dieser Hotfix soll nur der Behebung des Problems dienen, das in diesem Artikel beschrieben wird. Verwenden Sie diesen Hotfix nur auf Systemen, bei denen dieses spezielle Problem auftritt.

Wenn der Hotfix zum Download zur Verfügung steht, gibt es einen Abschnitt "Hotfixdownload available" ("Hotfixdownload verfügbar"), am oberen Rand dieses Knowledge Base-Artikel. Wenn dieser Abschnitt nicht angezeigt wird, senden Sie eine Anforderung an Microsoft Customer Service and Support, um den Hotfix zu erhalten.

Hinweis Falls weitere Probleme auftreten oder andere Schritte zur Problembehandlung erforderlich sind, müssen Sie möglicherweise eine separate Serviceanfrage erstellen. Die normalen Supportkosten gelten für zusätzliche Supportfragen und Probleme, die nicht diesem speziellen Hotfix zugeordnet werden können. Eine vollständige Liste der Telefonnummern von Microsoft Customer Service and Support oder eine separate Serviceanfrage erstellen finden Sie auf folgender Microsoft-Website:

http://support.microsoft.com/contactus/?ws=supportHinweis Das Formular "Hotfix download available" ("Hotfixdownload verfügbar") zeigt die Sprachen an, für die der Hotfix verfügbar ist. Wenn Ihre Sprache nicht angezeigt wird, ist dieser Hotfix für Ihre Sprache nicht verfügbar.

VoraussetzungenUm diesen Hotfix anwenden zu können, müssen Sie SQL Server 2012 installiert.

Informationen zur RegistrierungSie haben nicht die Registrierung ändern, nachdem Sie diesen Hotfix anwenden.

Informationen zu ersetzten HotfixesDieser Hotfix ersetzt keine anderen Hotfixes.


Status

Microsoft hat bestätigt, dass es sich um ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt „Eigenschaften“ aufgeführt sind.

PROBLEMUMGEHUNG

Arbeit gibt es das Problem, verwenden Sie eine der folgenden Methoden:

  • Verwenden Sie nicht die vorbereitete Anweisung im Quellcode Client-Anwendung. Sie können Ad-hoc-Anweisungen oder aufrufbare Anweisung wie gespeicherte Prozeduren verwenden Wenn der Treiber diese Schnittstellen unterstützt.

  • Verwenden Sie entsprechende Sortierung auf beiden Servern.

Weitere Informationen

Aktivieren Sie das Ablaufverfolgungsflag hinzufügen Startparameter -T4199 oder DBCC TRACEON(4199,-1) vor die vorbereitete Anweisung kompiliert wird, um das Verhalten zu aktivieren.

Eine der folgenden Methoden können Sie das Ablaufverfolgungsflag aktivieren:

  • Vor SQL Server verwenden Microsoft SQL Server-Konfigurations-Manager mit der rechten Maustaste der betroffenen Instanz und hinzufügen den Startparameter -T4199 , damit er Neustarts hinweg für alle Verbindungen auf die Instanz in der Zukunft beibehalten.

  • Die Einstellung zur Laufzeit, nachdem der Dienst gestartet wird und global für alle Verbindungen "(-1) dynamisch aktivieren." Achten Sie darauf, dass Prozedurcache kostenlos testen mit dem Schalter aktiviert oder deaktiviert werden soll.

    Verwenden Sie die folgende Einstellung aktiviert Global und dynamisch:
    DBCC TRACEON(4199,-1)DBCC TRACESTATUS(-1)
    DBCC FREEPROCCACHE
    Deaktivieren Sie die Einstellung anhand der folgenden Global und dynamisch:
    DBCC TRACEOFF(4199,-1)DBCC TRACESTATUS(-1)
    DBCC FREEPROCCACHE


Benötigen Sie weitere Hilfe?

Möchten Sie weitere Optionen?

Erkunden Sie die Abonnementvorteile, durchsuchen Sie Trainingskurse, erfahren Sie, wie Sie Ihr Gerät schützen und vieles mehr.

In den Communities können Sie Fragen stellen und beantworten, Feedback geben und von Experten mit umfassendem Wissen hören.

War diese Information hilfreich?

Wie zufrieden sind Sie mit der Sprachqualität?
Was hat Ihre Erfahrung beeinflusst?
Wenn Sie auf "Absenden" klicken, wird Ihr Feedback zur Verbesserung von Produkten und Diensten von Microsoft verwendet. Ihr IT-Administrator kann diese Daten sammeln. Datenschutzbestimmungen.

Vielen Dank für Ihr Feedback!

×