FIX: Chiamata remota stored procedure in stored procedure locale durante il passaggio di parametri di testo causa AV

Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell’utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell’utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.

299366
Questo articolo è stato archiviato. L’articolo, quindi, viene offerto “così come è” e non verrà più aggiornato.
BUG #: 351307 (RIFERIMENTO)
Sintomi
La chiamata una stored procedure remote in una stored procedure locale passando un parametro di testo può generare una violazione di accesso (AV) sul server locale.

Questo problema è stato isolato alle seguenti condizioni:
  • Nel server di destinazione è presente una stored procedure che accetta un parametro TEXT (o NTEXT).
  • Nel server di origine è disponibile un locale di un stored procedure che chiama la stored procedure remote nel server di destinazione dal nome completo passando un parametro di testo (o NTEXT).
Risoluzione
Per risolvere il problema, ottenere il service pack più recente per SQL Server 2000. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
290211INF: Come ottenere il Service Pack più recente per SQL Server 2000
Workaround
Consente di modificare il campo TEXT o NTEXT direttamente, invece di chiamate di stored procedure.
Status
Microsoft ha confermato che questo problema riguarda SQL Server 2000. Il problema è stato risolto nel Service Pack 1 per SQL Server 2000.
Informazioni

Procedura per riprodurre il problema

I seguenti passaggi riprodurre il problema in SQL Server 2000 8.00.194 generazione:
  1. Nel server di origine, creare un server collegato per il server di destinazione.
  2. Connettersi a server di origine utilizzando Query Analyzer ed eseguirla la query riportata di seguito:
    use pubsgoCREATE procedure sp_local@ptxtText TEXTasexec destination_servername here.pubs.dbo.sp_remote  @ptxtTextGO					
  3. Nel server di destinazione, creare una stored procedure come indicato di seguito:
    use pubsgocreate procedure sp_remote@ptxtTest TEXTasgo					
  4. Eseguire la seguente query sul server di origine:
    sp_local 'mytest'					
    si verifica una violazione di accesso nel server di origine.
-------------------------------------------------------------------------------Short Stack Dump00000000 Module(sqlservr+FFC00000)006D6FF9 Module(sqlservr+002D6FF9) (CXVariant::ClearDeep(void)+00000047)0040A849 Module(sqlservr+0000A849) (CXVariant::Clear(void)+0000000D)006134D6 Module(sqlservr+002134D6)(CExecParamTbl::ResetTextParams(void)+00000046)0079726F Module(sqlservr+0039726F) (CRuleCollection::LoadRules(class IMemObj *)+00004B19)-------------------------------------------------------------------------------				
AV; Remote Procedure Call

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 299366 - Ultima revisione: 01/16/2015 22:40:18 - Revisione: 3.2

  • Microsoft SQL Server 2000 Standard Edition
  • kbnosurvey kbarchive kbmt kbbug kbfix kbsqlserv2000sp1fix KB299366 KbMtit
Feedback