Update: Verletzung, auftritt wenn ein RPC-Aufruf, erfolgt ein bisschen Parameterwert enthält, nicht gültig ist, der

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 314128 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel wurde archiviert. Er wird im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.
# FEHLER: 356323 (SHILOH_BUGS)
Alles erweitern | Alles schließen

Auf dieser Seite

Problembeschreibung

In SQL Server 2000 Service Pack 2 (SP2), wenn Sie eine SQL Profiler-Ablaufverfolgung ausführen, enthält RPC-Ereignisse ( RPC: Starting oder RPC: abgeschlossen ), einer Anweisung, einen Bit -Parameter, mit den Wert ist größer enthält als 9 in CNetInputBuffer::Init eine Zugriffsverletzung verursacht.

In SQL Server 2000 Service Pack 1 (SP1) ist die Ablaufverfolgung abgeschnitten, und Sie erhalten eine Fehlermeldung in SQL Profiler, aber keine Zugriffsverletzung in SQL Server. Der Datentyp der Tabellenspalte ist; irrelevant, nur der Datentyp des Parameters für dieses Problem relevant ist.

Hinweis : die Spalte Tabelle möglicherweise einen anderen Typ als Bit .

SQL Server 2000 SP2 (8.00.534) den folgenden Stack Dump generiert:
   Short Stack Dump

   00410B23 Module(sqlservr+00010B23) (CNetInputBuffer::Init+0000005C)
   004B7422 Module(sqlservr+000B7422) (CNetInputStream::FAddEventFragment+0000005E)
   00639EB1 Module(sqlservr+00239EB1) (PcnisGetRpcTraceInput+000004BB)
   0063A2C1 Module(sqlservr+0023A2C1) (PostRPC+000000AB)
   00605A07 Module(sqlservr+00205A07) (execrpc+0000095E)
   00437E05 Module(sqlservr+00037E05) (execute_rpc+00000019)
   00410E73 Module(sqlservr+00010E73) (process_commands+00000210)
   41073379 Module(UMS+00003379) (ProcessWorkRequests+0000024A)
   41073071 Module(UMS+00003071) (ThreadStartRoutine+000000BD)
   7800A27B Module(MSVCRT+0000A27B) (beginthread+000000CE)
   77E8758A Module(KERNEL32+0000758A) (SetFilePointer+0000018A)
				

Lösung

Informationen zu Service Packs

Installieren Sie das neueste Service Pack für Microsoft SQL Server 2000, um dieses Problem zu beheben. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
290211So erhalten Sie das neueste Service Pack für SQL Server 2000

Hotfix-Informationen

Hinweis : der folgende Hotfix wurde vor der Veröffentlichung von Microsoft SQL Server 2000 Service Pack 3.

Die englische Version dieses Updates weist die in der nachstehenden Tabelle aufgelisteten Dateiattribute (oder höher) auf. Die Datums- und Uhrzeitangaben für diese Dateien werden in Coordinated Universal Time () angegeben. Wenn Sie sich die Dateiinformationen ansehen, werden diese Angaben in die lokale Zeit konvertiert. Um die Differenz zwischen UTC und der Ortszeit zu ermitteln verwenden Sie die Registerkarte Zeitzone des Tools ? Datum und Uhrzeit in der Systemsteuerung.
   Date         Version    Size     File name
   ------------------------------------------------

   12-DEC-2001  8.00.552   7,442,513  Sqlservr.exe
				
Hinweis : aufgrund von Dateiabhängigkeiten das aktuellste Update oder Feature, das diese Dateien enthält auch enthält eventuell zusätzliche Dateien.


Status

Microsoft hat bestätigt, dass dies ein Problem in Microsoft-Produkten handelt, die im Abschnitt "Gilt für" aufgeführt sind. Dieses Problem wurde erstmals im Microsoft SQL Server 2000 Service Pack 4.

Weitere Informationen

Um die Zugriffsverletzung zu reproduzieren, führen Sie eine SQL Profiler-Ablaufverfolgung, die mindestens eine der RPC-Ereignisse enthält ( RPC: Starten oder RPC: Completed ), und führen Sie den folgenden C-Code:
	long int myBitStatus=0xff; //Invalid value

	SQLRETURN   retcode;
	SQLHENV     henv = NULL;
	SQLHDBC     hdbc = NULL;
	SQLHSTMT    hstmt = NULL;

	PTSTR       szDataSource = _T("localserver");
	PTSTR       szUID = _T("sa");
	PTSTR       szPWD = _T("sa_password");

	if (SQLAllocHandle(SQL_HANDLE_ENV, NULL, &henv) == SQL_ERROR)
		return 1;
	SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*) SQL_OV_ODBC3,
	SQL_IS_INTEGER);

	if (SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc) == SQL_ERROR)
		return 1;

	if (SQLConnect(hdbc, (SQLTCHAR*) szDataSource, SQL_NTS,
	(SQLTCHAR*) szUID, SQL_NTS, (SQLTCHAR*) szPWD, SQL_NTS) == SQL_ERROR)
		return 1;

	if (SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt) == SQL_ERROR)
		return 1;

	retcode = SQLAllocHandle(hstmt, hdbc, &hstmt);
	retcode=SQLBindParameter(hstmt, 
				 1, 
				 SQL_PARAM_INPUT, 
				 SQL_C_BIT,
				 SQL_BIT, 
				 1, 
				 0, 
				 &myBitStatus, 
				 0, 
				 &myBitStatus);

	if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
	{
		retcode = SQLExecDirect (hstmt, "SELECT au_id FROM pubs.dbo.authors WHERE contract = ?", SQL_NTS);
	}
				
Diese Zugriffsverletzung tritt auf, wenn der Server mit SQL Server 2000 SP2 ausgeführt wird, die SQL Profiler-Tool-Version dieses Problem nicht betroffen.

Eigenschaften

Artikel-ID: 314128 - Geändert am: Freitag, 7. Februar 2014 - Version: 5.4
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 2000 Service Pack 2
Keywords: 
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbqfe kbbug kbfix kbsqlserv2000presp3fix KB314128 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 314128
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com