Quando você usar um identificador de arquivo para acesso de FileStream em uma transação do SQL Server 2008, a transação pode falhar aleatoriamente ao confirmar no Windows Server 2003 ou no Windows XP Professional x 64 Edition

Traduções deste artigo Traduções deste artigo
ID do artigo: 955280 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Em um computador que esteja executando o Windows Server 2003 ou Windows XP Professional x 64 Edition, quando você usa a API OpenSqlFilestream ou a classe .NET SqlFilestream para obter um identificador de arquivo para acesso de FileStream em uma transação no SQL Server 2008, a transação aleatoriamente pode falhar ao confirmar. Quando esse problema ocorre, um dos seguintes erros é registrado no arquivo Errorlog do SQL Server:
  • 3910 (Contexto de transação em uso por outra sessão)
  • 3981 (A operação de transação não pode ser executada porque há solicitações trabalhando esta transação pendentes)
  • 3922 Se (não é possível inscrever na transação porque a transação não existe)
A causa desse problema não está relacionada ao recurso de FILESTREAM no SQL Server 2008. No entanto, você normalmente encontrar esse problema ao usar o recurso FILESTREAM no SQL Server 2008.

Causa

Esse problema ocorre devido a um erro no serviço servidor. O serviço do servidor incorretamente atrasos fechando o arquivo manipulam. Portanto, o SQL Server 2008 não é possível executar operações de confirmação.

Resolução

Informações sobre o hotfix

Windows Server 2003

Um hotfix com suporte foi disponibilizada pela Microsoft. No entanto, destina-se a corrigir o problema descrito neste artigo. Aplique-o somente aos sistemas que apresentarem esse problema específico. Esta correcção poderá submetida a testes adicionais. Portanto, se você não tiver sido gravemente afetado por esse problema, recomendamos que você aguarde a próxima atualização de software que contém esse hotfix.

Para resolver esse problema imediatamente, contate o Microsoft Customer Atendimento para obter o hotfix. Para obter uma lista completa de telefones do serviço de suporte a clientes da Microsoft e informações sobre os custos de suporte, visite o seguinte site:
http://support.microsoft.com/contactus/?ws=support
Observação Em alguns casos, as taxas cobradas pelas ligações para chamadas de suporte podem ser canceladas se um profissional de suporte da Microsoft determinar que uma atualização específica resolverá o problema. Os custos normais de suporte serão aplicados a questões e problemas que não se qualificam à atualização específica em questão de suporte adicionais.
Pré-requisitos
Para aplicar esse hotfix, você deve estar executando o Windows Server 2003 Service Pack 1, Windows Server 2003 Service Pack 2, Windows XP Professional x 64 Edition ou Windows XP Professional x 64 Edition Service Pack 2 no computador.
Requisitos de reinicialização
Você precisa reiniciar o computador após aplicar esse hotfix.
Informações sobre a substituição do hotfix
Esse hotfix não substitui um hotfix lançado anteriormente.
Informações sobre o arquivo
A versão em inglês deste hotfix tem atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas no horário de universal coordenado (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para encontrar a diferença entre o UTC e a hora local, use a guia fuso horário no item Data e hora no painel de controle.

Windows Server 2003 com Service Pack 1, x 86-based versões
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
SRV.sys5.2.3790.3177361.47218 De julho de 200810: 15x 86

Windows Server 2003 com Service Pack 1 , x 64 -versões com base em
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
SRV.sys5.2.3790.3177674,81621 De julho de 200807: 32x 64
Windows Server 2003 com Service Pack 1, versões com base em Itanium
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
SRV.sys5.2.3790.31771,110,52821 De julho de 200807: 32IA-64

Windows Server 2003 com Service Pack 2, x 86-based versões
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
SRV.sys5.2.3790.4337358,40018 De julho de 200812: 04x 86

Windows Server 2003 com Service Pack 2, versões com base em 64 x
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
SRV.sys5.2.3790.4337648,19221 De julho de 200814: 57x 64

Windows Server 2003 com Service Pack 2, versões com base em Itanium
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
SRV.sys5.2.3790.43371,111,55221 De julho de 200814: 54IA-64

Windows XP Professional x 64 Edition

Um hotfix com suporte foi disponibilizada pela Microsoft. No entanto, destina-se a corrigir o problema descrito neste artigo. Aplique-o somente aos sistemas que apresentarem esse problema específico. Esta correcção poderá submetida a testes adicionais. Portanto, se você não tiver sido gravemente afetado por esse problema, recomendamos que você aguarde a próxima atualização de software que contém esse hotfix.

Para resolver esse problema imediatamente, contate o Microsoft Customer Atendimento para obter o hotfix. Para obter uma lista completa de telefones do serviço de suporte a clientes da Microsoft e informações sobre os custos de suporte, visite o seguinte site:
http://support.microsoft.com/contactus/?ws=support
Observação Em alguns casos, as taxas cobradas pelas ligações para chamadas de suporte podem ser canceladas se um profissional de suporte da Microsoft determinar que uma atualização específica resolverá o problema. Os custos normais de suporte serão aplicados a questões e problemas que não se qualificam à atualização específica em questão de suporte adicionais.
Pré-requisitos
Para aplicar esse hotfix, você deve estar executando Windows XP Professional x 64 Edition ou Windows XP Professional x 64 Edition Service Pack 2 no computador.
Requisitos de reinicialização
Você precisa reiniciar o computador após aplicar esse hotfix.
Informações sobre a substituição do hotfix
Esse hotfix não substitui um hotfix lançado anteriormente.
Informações sobre o arquivo
A versão em inglês deste hotfix tem atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas no horário de universal coordenado (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para encontrar a diferença entre o UTC e a hora local, use a guia fuso horário no item Data e hora no painel de controle.

Windows XP Professional x 64 Edition
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
SRV.sys5.2.3790.3177674,81621 De julho de 200807: 32x 64

Windows XP Professional x 64 Edition com Service Pack 2
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
SRV.sys5.2.3790.4337648,19221 De julho de 200814: 57x 64

Como Contornar

importante Esta seção, método ou tarefa contém etapas que informam sobre como modificar o registro. No entanto, sérios problemas poderão ocorrer se você modificar o registro incorretamente. Por isso, certifique-se que você execute essas etapas cuidadosamente. Para proteção adicional, fazer backup do registro antes de modificá-lo. Em seguida, você pode restaurar o registro se ocorrer um problema. Para obter mais informações sobre como fazer backup e restaurar o registro, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
322756Como fazer backup e restaurar o registro no Windows
Aviso Esta solução alternativa fará com que um problema de desempenho quando você operando em arquivos compartilhados no sistema.


Para contornar esse problema, defina o valor da entrada do Registro Cachedopenlimit como 0 e reinicie o serviço do servidor. Para fazer isso, execute as seguintes etapas:
  1. No Editor do Registro, localize a seguinte subchave do Registro:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Lanmanserver\Parameters
  2. Na subchave parâmetros do Registro, clique em Editar , clique em novo , clique em Valor DWORD , digite Cachedopenlimit e, em seguida, pressione ENTER.
  3. Defina o valor decimal da entrada do Registro Cachedopenlimit para 0 .
  4. Reinicie o serviço do servidor.
Observação Por padrão, o valor da entrada do Registro Cachedopenlimit é 5 , mesmo que ele não definido.

Aviso Quando você define o valor como 0 , identificadores de arquivo de todos os arquivos compartilhados não são armazenados em cache pelo sistema. Isso pode causar um problema de desempenho quando você está acessando arquivos compartilhados no sistema.

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Mais Informações

Esse problema também ocorre no Windows Server 2008 e no Windows XP versões com base em 86 x. Para obter mais informações sobre este problema no Windows Server 2008, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
953263Quando você usar uma instrução Transact-SQL para operar em uma coluna FILESTREAM no SQL Server 2008, a instrução pode falhar aleatoriamente confirmar e causar corrupção de dados no Windows Server 2008
Para obter mais informações sobre este problema no Windows XP, versões com base em 86 x, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
955567Corrupção de dados pode ocorrer quando você tenta acrescentar dados a uma FILESTREAM varbinary (max) coluna no SQL Server 2008 em um computador baseado no Windows XP
Para obter mais informações sobre terminologia de atualização de software, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:-
824684Descrição da terminologia padrão que é usada para descrever as atualizações de software

Quando usar o armazenamento FILESTREAM

No SQL Server 2008 (BLOB) grande objeto binário dados podem ser os dados do tipo VARBINARY(MAX) que armazena dados em tabelas do banco de dados. Dados BLOB também podem ser os dados do tipo VARBINARY(MAX) FILESTREAM que armazena os dados no sistema de arquivos. O tamanho dos dados e o uso de dados determinam se você deve usar o armazenamento de banco de dados ou o armazenamento FILESTREAM . Você deve considerar usar o armazenamento FILESTREAM quando as seguintes condições forem verdadeiras:
  • Em média, os dados BLOB que você armazene são maiores que 1 megabyte (MB).
  • Acesso de leitura rápida é importante.
  • Você está desenvolvendo aplicativos que usam uma camada intermediária para a lógica do aplicativo.
Se os dados BLOB for menor que 1 MB, você deve considerar usar o armazenamento de banco de dados. O armazenamento de banco de dados com freqüência fornece desempenho melhor fluxo.

Para obter mais informações, visite o seguinte site da Web Microsoft Developer Network (MSDN):
http://msdn.microsoft.com/en-us/library/bb933993.aspx

Propriedades

ID do artigo: 955280 - Última revisão: terça-feira, 13 de janeiro de 2009 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
  • Microsoft Windows Server 2003, Datacenter x64 Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003, Standard x64 Edition
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows XP Professional x64 Edition
Palavras-chave: 
kbmt kbexpertiseadvanced kbfix kbautohotfix kbsurveynew kbqfe kbhotfixserver KB955280 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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 955280

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