KB2563924 – KORREKTUR: Fehler "Der eingehende TDS-Protokolldatenstrom (Tabular Data Stream) ist falsch", wenn die SQLPutData-Funktion den SQL_NULL_DATA-Wert in ein TVP in SQL Server 2008 R2 einfügt

Gilt für
SQL Server 2008 R2

Microsoft verteilt Microsoft SQL Server 2008 R2-Fixes als eine herunterladbare Datei. Da die Fixes kumulativ sind, enthält jedes neue Release alle Hotfixes und alle Sicherheitsfixes, die im vorherigen SQL Server 2008 R2-Fixrelease enthalten waren.

Symptome

Nehmen Sie folgendes Szenario an:

  • Sie verfügen über einen Computer, auf dem Microsoft SQL Server 2008 R2 ausgeführt wird.
  • Sie führen eine Clientanwendung aus, die den SQL Server 2008 R2 Native Client ODBC-Treiber verwendet, um einen Tabellenwertparameter als Datenausführungsspalte zu binden.
  • Die Clientanwendung ruft die SQLPutData-Funktion auf, um den Tabellenwertparameter in den SQL_NULL_DATA Wert zu ändern.

In diesem Szenario ruft die Clientanwendung die SQLPutData-Funktion nicht auf, und Sie erhalten die folgende Fehlermeldung:

Hinweis

[28000] – [Microsoft][SQL Server Native Client 10.0][SQL Server]Der eingehende TDS-Protokolldatenstrom (Tabular Data Stream) ist falsch. Der Stream wurde unerwartet beendet.

      

Ursache

Dieses Problem tritt auf, weil der ODBC-Treiber die Datenlänge des SQL_NULL_DATA Werts nicht an den Tabellenwertparameter sendet.

Lösung

Um dieses Problem zu beheben, wenden Sie den folgenden Fix auf einem Computer an, auf dem SQL Server 2008 R2 Native Client installiert ist.

Informationen zum kumulativen Update

SQL Server 2008 R2 Service Pack 1

Die Behebung dieses Problems wurde zuerst im kumulativen Update 1 für SQL Server 2008 R2 Service Pack 1 veröffentlicht. Weitere Informationen zum Abrufen dieses kumulativen Updatepakets finden Sie im folgenden Artikel der Microsoft Knowledge Base:

2544793 kumulatives Updatepaket 1 für SQL Server 2008 R2 Service Pack 1Note Da die Builds kumulativ sind, enthält jedes neue Updaterelease alle Hotfixes und alle Sicherheitsfixes, die im vorherigen SQL Server 2008 R2-Fixrelease enthalten waren. Es wird empfohlen, dass Sie das neueste Updaterelease anwenden, das diesen Hotfix enthält. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:

2567616 SQL Server 2008 R2-Builds, die nach der Freigabe von SQL Server 2008 R2 Service Pack 1 veröffentlicht wurden

SQL Server 2008 R2

Der Fix für dieses Problem wurde zuerst im kumulativen Update 8 veröffentlicht. Weitere Informationen zum Abrufen dieses kumulativen Updatepakets für SQL Server 2008 R2 finden Sie im folgenden Artikel der Microsoft Knowledge Base:

2534352 Kumulatives Updatepaket 8 für SQL Server 2008 R2 Hinweis Da die Builds kumulativ sind, enthält jedes neue Updaterelease alle Hotfixes und alle Sicherheitsfixes, die im vorherigen SQL Server 2008 R2-Fixrelease enthalten waren. Es wird empfohlen, dass Sie das neueste Updaterelease anwenden, das diesen Hotfix enthält. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:

981356 SQL Server 2008 R2-Builds, die nach der Freigabe von SQL Server 2008 R2 veröffentlicht wurden

Status

Microsoft hat bestätigt, dass dies ein Problem bei den Microsoft-Produkten ist, die im Abschnitt „Gilt für“ aufgeführt sind.

Referenzmaterial

Weitere Informationen zur FUNKTION SQLPutData finden Sie auf der folgenden MSDN-Website:

Allgemeine Informationen zur SQLPutData-Funktion
        
Weitere Informationen zur Verwendung der Spalte "Data-at-execution" finden Sie auf der folgenden MSDN-Website:

Verwenden der Data-at-Execution-Spalte Weitere Informationen zu Tabellenwertparametern finden Sie auf der folgenden MSDN-Website:

Allgemeine Informationen zu Tabellenwertparametern
Weitere Informationen zum inkrementellen Wartungsmodell für SQL Server finden Sie in der Microsoft Knowledge Base im folgenden Artikel:

935897 Zur Bereitstellung von Hotfixes für gemeldete Probleme ist ein inkrementelles Wartungsmodell vom SQL Server-Team verfügbar

Wenn Sie weitere Informationen zum Benennungsschema für SQL Server Updates erhalten möchten, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:

822499 Neues Benennungsschema für Microsoft SQL Server-SoftwareupdatepaketeZu weiteren Informationen zur Terminologie von Softwareupdates klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:

824684 Erläuterung von Standardbegriffen bei Microsoft-Softwareupdates