現在オフラインです。再接続するためにインターネットの接続を待っています

FIX にはアクセス違反が発生するは、RPC 呼び出しが行われたときにビット有効でないパラメーター値が含まれています

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

英語版 KB:314128
# をバグ: 356323 (SHILOH_BUGS)
現象
SQL Server 2000年サービス パック 2 (SP2) は、SQL を実行すると、RPC イベント (を含むプロファイラーのトレースRPC: 開始 または RPC: 完了) を含むステートメントは、 ビット 9 の原因よりも大きい値を持つパラメーターは、アクセス違反 CNetInputBuffer::Init.

SQL Server 2000年サービス パック 1 (SP1)、トレースのです。切り捨て、SQL のプロファイラーがアクセス許可なしのエラー メッセージが表示されます。SQL Server の違反を発生します。データの種類、 テーブル カラムとは無関係です。パラメーターのデータ型のみこの問題に関連します。

メモ: テーブル 列別の種類の異なる可能性があります。 ビット.

SQL Server 2000 SP2 (8.00.534)、次を生成します。スタック ダンプ:
   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)				
解決方法

サービス パックの情報

この問題を解決するには、Microsoft SQL Server 2000年用の最新の service pack を入手します。詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
290211 SQL Server 2000年の最新の service pack を入手する方法

修正プログラムの情報

メモ: 次の修正プログラムがマイクロソフトのリリースより前に作成されました。SQL Server 2000 Service Pack 3。

この修正プログラムの日本語版します。ファイル属性 (またはそれ以降) 次の表に記載されています。は、日付および時刻これらのファイルを世界協定時刻 (UTC) が表示されます。ファイル情報を表示すると、ローカル時刻に変換します。検索するのにはUTC および現地時間、使用の違いを タイム ゾーン タブ コントロール パネルの日付と時刻ツールでします。
   Date         Version    Size     File name   ------------------------------------------------   12-DEC-2001  8.00.552   7,442,513  Sqlservr.exe				
メモ: ファイルの依存関係、最新の修正プログラムまたは機能のためこれらを含むファイルにはその他ファイルです。


状況
マイクロソフトでは、この「対象」に記載されているマイクロソフト製品の問題として認識しています。 この問題は、最初 Microsoft SQL Server 2000 Service Pack 4 で修正済みです。
詳細
アクセス違反を再現するには、SQL のプロファイラー トレースを実行します。少なくとも 1 つの RPC イベント (を含むRPC: 開始 または RPC: 完了)、し、次の C コードを実行します。
	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);	}				
このアクセス違反が発生するのサーバーで SQL が実行されている場合Server 2000 SP2 です。SQL プロファイラー ツールのバージョンはこの問題には影響しません。
プロファイラーのアクセス違反

警告: この記事は自動翻訳されています

プロパティ

文書番号:314128 - 最終更新日: 07/14/2011 20:48:00 - リビジョン: 7.0

  • kbbug kbfix kbsqlserv2000presp3fix kbqfe kbhotfixserver kbmt KB314128 KbMtja
フィードバック
/html>