FIX: TextData 資料行的 SP:StmtStarting 事件和 SP:StmtCompleted 事件顯示動態的 Transact-SQL 陳述式,即使已加密預存程序

文章翻譯 文章翻譯
文章編號: 825883 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

徵狀

您在執行未加密的預存程序所執行動態的 Transact-SQL 陳述式時您可能會發現 SP:StmtStarting 事件和 SP:StmtCompleted 事件 SQL Profiler 工具中的 [TextData] 欄會顯示動態 Transact-SQL 陳述式。

解決方案

服務套件資訊

如果要解決這個問題,取得最新的 Service Pack,Microsoft SQL Server 2000。如需詳細資訊按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
290211如何取得最新的 SQL Server 2000 Service Pack

Hotfix 資訊

此 Hotfix 的英文版具有檔案屬性 (或更新) 中如下表所列。這些檔案的日期和時間為 Coordinated Universal Time (UTC)。當您檢視檔案資訊時,會將它轉換為當地時間。若要到 UTC 與當地時間差異使用 [中日期] 和 [時間] 工具,在 [控制台] 中的 [時區] 索引標籤]。
   Date         Time   Version        Size        File name
   -------------------------------------------------------------------
   31-May-2003  18:45  2000.80.818.0      78,400  Console.exe
   25-Jun-2003  01:01  2000.80.818.0      33,340  Dbmslpcn.dll
   25-Apr-2003  02:12                    786,432  Distmdl.ldf
   25-Apr-2003  02:12                  2,359,296  Distmdl.mdf
   30-Jan-2003  01:55                        180  Drop_repl_hotfix.sql
   23-Jun-2003  22:40  2000.80.837.0   1,557,052  Dtsui.dll
   23-Jun-2003  22:40  2000.80.837.0     639,552  Dtswiz.dll
   24-Apr-2003  02:51                    747,927  Instdist.sql
   03-May-2003  01:56                      1,581  Inst_repl_hotfix.sql
   08-Feb-2003  06:40  2000.80.765.0      90,692  Msgprox.dll
   01-Apr-2003  02:07                      1,873  Odsole.sql
   05-Apr-2003  01:46  2000.80.800.0      62,024  Odsole70.dll
   07-May-2003  20:41  2000.80.819.0      25,144  Opends60.dll
   07-May-2003  18:47                    132,096  Opends60.pdb
   02-Apr-2003  21:48  2000.80.796.0      57,904  Osql.exe
   02-Apr-2003  23:15  2000.80.797.0     279,104  Pfutil80.dll
   22-May-2003  22:57                     19,195  Qfe469571.sql
   12-Jun-2003  16:37                  1,083,989  Replmerg.sql
   04-Apr-2003  21:53  2000.80.798.0     221,768  Replprov.dll
   08-Feb-2003  06:40  2000.80.765.0     307,784  Replrec.dll
   05-May-2003  00:05                  1,085,874  Replsys.sql
   01-Jun-2003  01:01  2000.80.818.0     492,096  Semobj.dll
   31-May-2003  18:27  2000.80.818.0     172,032  Semobj.rll
   29-May-2003  00:29                    115,944  Sp3_serv_uni.sql
   01-Jun-2003  01:01  2000.80.818.0   4,215,360  Sqldmo.dll
   07-Apr-2003  17:44                     25,172  Sqldumper.exe
   19-Mar-2003  18:20  2000.80.789.0      28,672  Sqlevn70.rll
   02-Jul-2003  00:18  2000.80.834.0     180,736  Sqlmap70.dll
   08-Feb-2003  06:40  2000.80.765.0      57,920  Sqlrepss.dll
   23-Jun-2003  22:40  2000.80.837.0   7,553,105  Sqlservr.exe
   23-Jun-2003  22:40                 12,747,776  Sqlservr.pdb
   08-Feb-2003  06:40  2000.80.765.0      45,644  Sqlvdi.dll
   25-Jun-2003  01:01  2000.80.818.0      33,340  Ssmslpcn.dll
   01-Jun-2003  01:01  2000.80.818.0      82,492  Ssnetlib.dll
   01-Jun-2003  01:01  2000.80.818.0      25,148  Ssnmpn70.dll
   01-Jun-2003  01:01  2000.80.818.0     158,240  Svrnetcn.dll
   31-May-2003  18:59  2000.80.818.0      76,416  Svrnetcn.exe
   30-Apr-2003  23:52  2000.80.816.0      45,132  Ums.dll
   30-Apr-2003  23:52                    132,096  Ums.pdb
   02-Jul-2003  00:19  2000.80.834.0      98,816  Xpweb70.dll

				
附註由於檔案相依性最新版 Hotfix 或包含這些檔案的功能也可能包含其他檔案。

狀況說明

Microsoft 已確認這是本文 < 適用於 > 一節中所列的 Microsoft 產品中的問題。這個問題,首先已經在 Microsoft SQL Server 2000 服務套件 4 中獲得修正。

其他相關資訊

重現這個問題的步驟

  1. 啟動 「 SQL 查詢分析精靈 」,然後連線到執行 Microsoft SQL Server 的電腦。
  2. 執行下列的 Transact-SQL 陳述式來建立 sp_MytestencryptionWithExecsp_MytestencryptionNoExec 儲存程序:
    use northwind
    go
    drop proc sp_MytestencryptionWithExec
    go
    CREATE PROCEDURE [dbo].[sp_MytestencryptionWithExec]
    WITH ENCRYPTION
    AS
    DECLARE @MySQL varchar(100)
    BEGIN
    -- SET @MySQL = 'select @@version'
    -- EXEC(@MySql)
    EXEC('select @@version')
    END
    GO
    drop proc sp_MytestencryptionNoExec
    go
    CREATE PROCEDURE [dbo].[sp_MytestencryptionNoExec]
    WITH ENCRYPTION
    AS
    DECLARE @MySQL varchar(100)
    BEGIN
    select @@version
    END
    GO
    
    筆記sp_MytestencryptionWithExec 預存程序具有動態的 Transact-SQL 陳述式。sp_MytestencryptionNoExec 預存程序並沒有任何動態 Transact-SQL 陳述式。
  3. 啟動 SQL Profiler 擷取 SP:StmtStarting 事件和 SP:StmtCompleted 事件。要這麼做,請您執行下列步驟:
    1. 啟動 SQL Profiler。
    2. 在 [檔案] 功能表上指向 [新增],然後按一下 [追蹤]。
    3. 連線到 SQL Server] 對話方塊提供驗證資訊連線到執行 SQL Server 的電腦],再按 [確定]
    4. 在 [追蹤屬性] 對話方塊按一下 [事件] 頁籤。
    5. 可用的事件類別] 清單中展開 [預存程序]。
    6. 在 [預存程序,展開 SP:StmtCompleted,] 然後按一下 [新增]。同樣地加入 SP:StmtStarting 事件。
    7. 按一下 [執行]。
  4. 在 Query Analyzer 中執行下列的 Transact-SQL 陳述式:
    Use northwind
    go
    Exec sp_MytestencryptionWithExec
    go
    Exec sp_MytestencryptionNoExec
    Go
    
  5. 在 SQL Profiler 中按一下 [檔案] 功能表上的 [停止追蹤]。

    附註您可能會注意到 SP:StmtStartingSP:StmtCompleted 事件在 TextData 欄會顯示動態的 Transact-SQL 陳述式,雖然加密預存程序 sp_MytestencryptionWithExec

屬性

文章編號: 825883 - 上次校閱: 2007年11月2日 - 版次: 3.2
這篇文章中的資訊適用於:
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
  • Microsoft SQL Server 2000 Enterprise Edition 64-bit
關鍵字:?
kbmt kbstoredproc kbqfe kbsqlserv2000presp4fix kbfix kbbug KB825883 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:825883
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

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