CORRECÇÃO: SELECT INTO comportamento de bloqueio

Traduções de Artigos Traduções de Artigos
Artigo: 153441 - 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: 14818 (DCR, 6.50)
Expandir tudo | Reduzir tudo

Sumário

No SQL Server 6.5, SELECT INTO é moldado dentro de uma transacção. Mantenha premida a tabelas criadas através da utilização de SELECT INTO para propriedades da transacção ACID (atomicidade, consistência, isolamento, durabilidade). Isto também significa que os recursos do sistema, tais como páginas, extensões e bloqueios, são mantidos para a duração da instrução SELECT INTO. Com objectos de sistema maiores, Isto origina a condição onde muitas tarefas internas podem estar bloqueadas por outros utilizadores que executam instruções SELECT INTO. Por exemplo, nos servidores de grande actividade, muitos utilizadores a executar a ferramenta de SQL Enterprise Manager para monitorizar processos de sistema podem bloquear uns dos outros, que conduz a uma condição onde a aplicação SEM parece deixar de responder.

Mais Informação

Quando actualizar para o SQL Server 6.5 Service Pack 1, SELECT INTO características de bloqueio é uma funcionalidade definível do sistema. O SELECT INTO com uma transacção de moldagem permanece o comportamento predefinido. Para os utilizadores que não mantenha bloqueios de catálogo de sistema na actividade, foi adicionado um sinalizador de rastreio para permitir essas operações. Para aplicar o sinalizador de rastreio, iniciar o servidor com o parâmetro da linha de comandos-T5302 ou de numa janela consulta, utilize os seguintes comandos:
dbcc traceon (3604)
go
dbcc traceon (5302)
go
				

Quando o sinalizador de rastreamento 5302 é aplicado e um SELECT INTO falhar, a tabela ainda é criada. Tenha em atenção que é aplicado o comportamento de bloqueio que selecciona para todas as bases de dados no servidor.



É importante compreender que, mesmo com rastreio sinalizar 5302 activada, se for um SELECT INTO é executado no SQL Server 6.5 no contexto de uma transacção explícita (i.e. TRAN BEGIN), as tabelas de sistema ainda serão bloqueadas até que a transacção é concluída. Isto acontece porque, mesmo que o sinalizador de rastreamento permite ao servidor efectuar o SELECT INTO 2 operações, a criação da fase de tabela de destino está em vigor uma instrução DDL numa transacção.

Qualquer instrução CREATE TABLE numa transacção vai conter EX_PAGE bloqueios sysobjects, sysindexes e syscolumns. SQL Server 6.0 não permitiu SELECT INTO a ser executado como parte de uma transacção explícita definidos pelo utilizador. Tentar efectuar este procedimento resultaria 226 de erro, "SELECT INTO comandos não permitido no âmbito de transacção multi-statement".

NOTA: Este problema não se aplica para o SQL Server 7.0 e posteriores.

Propriedades

Artigo: 153441 - Última revisão: 28 de janeiro de 2014 - Revisão: 3.1
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 6.5 Standard Edition
Palavras-chave: 
kbnosurvey kbarchive kbmt kbfix kbnetwork KB153441 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: 153441

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