CORRECÇÃO: SQLMail expandidos armazenados procedimentos poderão falha com uma violação de acesso no SQL Server 2000 SP2 quando do SQL Server está a executar como um Windows NT Service

Traduções de Artigos Traduções de Artigos
Artigo: 320407 - Ver produtos para os quais este artigo se aplica.
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
N.º DE BUGS: 356975 (SHILOH_BUGS)
Expandir tudo | Reduzir tudo

Sintomas

A utilização SQLMail expandido procedimentos, tais como xp_sendmail , pode resultar numa violação de acesso no SQL Server 2000 Service Pack 2 quando o SQL Server está em execução como um serviço do Microsoft Windows NT.

Resolução

Para resolver este problema, obtenha o service pack mais recente do Microsoft SQL Server 2000. Para obter informações adicionais, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
290211INF: How To Obtain the Latest SQL Server 2000 Service Pack
Nota : A correcção seguinte foi criada antes da disponibilização do Microsoft SQL Server 2000 Service Pack 3.

A versão inglesa desta correcção deverá ter os seguintes atributos de ficheiro ou posteriores:
   Version       File name
   --------------------------

   8.00.603      Sqlmap70.dll
				
Nota : devido a dependências de ficheiros, a correcção ou funcionalidade que contém os ficheiros mais recentes poderão também conter ficheiros adicionais.


Como contornar

Este problema não ocorre se o SQL Server for executado a partir de uma linha de comandos Microsoft Windows NT. Para mais informações sobre como executar o SQL Server a partir de uma linha de comandos do Windows NT, consulte o título da secção "sqlservr aplicações" na documentação do SQL Server.

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados no início deste artigo.
Este problema foi corrigido pela primeira vez no Microsoft SQL Server 2000 Service Pack 3.

Mais Informação

importante : Este artigo contém informações sobre como modificar o registo. Antes de modificar o registo, certifique-se de que efectua uma cópia de segurança e de que compreende como o restaurar o registo se ocorrer um problema. Para obter informações sobre como efectuar uma cópia de segurança, restaurar e editar o registo, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
256986Descrição do registo do Microsoft Windows


aviso : a utilização incorrecta do Editor de registo poderá provocar problemas graves que poderão forçar a reinstalação do sistema operativo. Microsoft não garante que os problemas resultantes da utilização incorrecta do Editor de registo possam ser resolvidos. As suas próprias risco da utilização do Editor de registo.


Se vir qualquer violação de acesso é específica para a utilização de SQLMail expandido procedimentos com o SQL Server 2000 Service Pack 2, primeiro tem de aplicar a correcção referenciada na secção "Resolução" antes de prosseguir com outros passos de resolução de problemas.

Quando ocorre esta violação de acesso, poderá ver uma cópia de pilha escrita no ficheiro registo de erro de SQL Server e fecha a ligação que está em execução SQLMail expandido procedimento. Execuções subsequentes procedimentos SQLMail parecer poderão deixar de responder (não reagir) enquanto do SQL Server for reiniciado.

As informações a informação de pilha no registo de erros podem variar dependendo da versão do Microsoft Outlook em execução no computador em que o SQL Server está instalado. As seguintes informações de estado pilha são exemplos que viu como parte deste problema:
* Short Stack Dump
* 62126156 Module(MSMAPI32+00026156) (HrGetOmiProvidersFlags+00003D0A)

* Short Stack Dump
* 77E857EA Module(KERNEL32+000057EA) (VerLanguageNameW+0000007E)
* 77E85819 Module(KERNEL32+00005819) (VerLanguageNameW+000000AD)
* 6213B73E Module(MSMAPI32+0003B73E) (MNLS_lstrcpyW+00001F03)

* Short Stack Dump
* 6212BAB6 Module(MSMAPI32+0002BAB6) (MAPIOpenFormMgr+00000F75)
				

Depois de aplicar esta correcção, se pretender utilizar SQLMail procedimentos durante a execução do SQL Server do Windows NT comandos linha de comandos (não em execução como um serviço do Windows NT), tem de adicionar o seguinte valor de chave de registo:

Para uma instância predefinida:
HKLM\Software\Microsoft\MSSQLSERVER\MSSQLSERVER\RunningAsService
Para uma instância nomeada:

HKLM\Software\Microsoft\Microsoft SQL Server\InstanceNameHere\MSSQLSERVER\RunningAsService
Se o valor da chave de registo anterior é em falta, utilize os seguintes passos para criar a chave de registo. Tem de criar este valor de chave se for para executar o SQL Server a partir da linha de comandos Windows NT e não como um serviço do Windows NT.
  1. Inicie o Regedt32.exe.
  2. Para uma instância predefinida, localize a esta chave:
    HKLM\Software\Microsoft\MSSQLSERVER\MSSQLSERVER
    Para uma instância nomeada, localize esta chave:
    HKLM\Software\Microsoft SQL Server\InstanceName\MSSQLSERVER
  3. Crie um novo valor e o nome RunningAsService .
  4. Defina o tipo do valor ( RunningAsService ) como REG_DWORD.
  5. Defina o valor para 0 se o SQL Server não estiver em execução como um serviço do Windows NT.
Pode utilizar um valor de 1 para indicar que o SQL Server está em execução como um serviço do Windows NT. Se o valor da chave de registo não existir, o comportamento predefinido é que SQL Server é considerado estar em execução como um serviço do Windows NT. Por conseguinte, se o SQL Server estiver em execução como um serviço do Windows NT, não é necessário que criar este valor de chave de registo.

Propriedades

Artigo: 320407 - Última revisão: 13 de fevereiro de 2014 - Revisão: 5.2
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Service Pack 2
Palavras-chave: 
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbsqlserv2000sp3fix kbbug kbfix kbsqlserv2000presp3fix KB320407 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 320407

Submeter comentários

 

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