Quando utiliza um identificador de ficheiro para acesso de FileStream numa transacção do SQL Server 2008, a transacção aleatoriamente poderá falhar consolidar no Windows Server 2003 ou no Windows XP Professional x 64 Edition

Traduções de Artigos Traduções de Artigos
Artigo: 955280 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Num computador com o Windows Server 2003 ou Windows XP Professional x 64 Edition, quando utilizar a API OpenSqlFilestream ou a classe .NET SqlFilestream para obter um identificador de ficheiro para acesso de FileStream numa transacção do Microsoft SQL Server 2008, a transacção aleatoriamente poderão não ser consolidar. Quando este problema ocorre, um dos seguintes erros é registado no ficheiro Errorlog do SQL Server:
  • 3910 (Contexto de transacção utilizado por outra sessão)
  • 3981 (A transacção operação não pode ser executada porque existem pedidos trabalhar desta transação pendentes)
  • 3922 Efectuar a (não é possível inscrição na transacção porque a transacção não existe)
A causa deste problema não está relacionada com a funcionalidade FILESTREAM no SQL Server 2008. No entanto, normalmente encontrar este problema quando utiliza a funcionalidade FILESTREAM no SQL Server 2008.

Causa

Este problema ocorre devido a um erro no serviço de servidor. O serviço de servidor incorrectamente atrasos de fechar o ficheiro processam. Por conseguinte, SQL Server 2008 não é possível efectuar operações de consolidação.

Resolução

Informações sobre a correcção

Windows Server 2003

Uma correcção suportada está agora disponível da Microsoft. Contudo, destina-se a corrigir o problema descrito neste artigo. Aplique-a apenas em sistemas que tenham este problema específico. Esta correcção poderá submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afectado por este problema, recomendamos que aguarde pela próxima actualização de software que contenha esta correcção.

Para resolver este problema imediatamente, contacte o suporte técnico da Microsoft para obter a correcção. Para obter uma lista completa dos números de telefone de suporte técnico da Microsoft e informações sobre os custos de suporte, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota Em casos especiais, os custos normalmente inerentes às chamadas de suporte poderão ser anulados, se um técnico de suporte da Microsoft determinar que uma actualização específica resolverá o problema. Os custos normais do suporte serão aplicados a problemas adicionais e questões de suporte que não se enquadrem na atualização específica em questão.
Pré-requisitos
Para aplicar esta correcção, tem de ter 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.
Requisito de reinício
Terá de reiniciar o computador depois de aplicar esta correcção.
Informações sobre substituição de correcções
Esta correcção não substitui uma correcção disponibilizada anteriormente.
Informações do ficheiro
A versão inglesa desta correcção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas na hora universal coordenada (UTC). Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador fuso horário no item data e hora no painel de controlo.

Windows Server 2003 com Service Pack 1, versões em x 86
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
SRV.sys5.2.3790.3177361,47218-Jul-200810: 15x 86

Windows Server 2003 com Service Pack 1 , x 64-com versões
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
SRV.sys5.2.3790.3177674,81621-Jul-200807: 32x 64
Windows Server 2003 com Service Pack 1, versões baseadas em Itanium
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
SRV.sys5.2.3790.31771,110,52821-Jul-200807: 32IA-64

Windows Server 2003 com Service Pack 2, x 86 versões
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
SRV.sys5.2.3790.4337358,40018-Jul-200812: 04x 86

Windows Server 2003 com Service Pack 2, versões baseadas em 64 x
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
SRV.sys5.2.3790.4337648,19221-Jul-200814: 57x 64

Windows Server 2003 com Service Pack 2, versões baseadas em Itanium
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
SRV.sys5.2.3790.43371,111,55221-Jul-200814: 54IA-64

Windows XP Professional x 64 Edition

Uma correcção suportada está agora disponível da Microsoft. Contudo, destina-se a corrigir o problema descrito neste artigo. Aplique-a apenas em sistemas que tenham este problema específico. Esta correcção poderá submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afectado por este problema, recomendamos que aguarde pela próxima actualização de software que contenha esta correcção.

Para resolver este problema imediatamente, contacte o suporte técnico da Microsoft para obter a correcção. Para obter uma lista completa dos números de telefone de suporte técnico da Microsoft e informações sobre os custos de suporte, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota Em casos especiais, os custos normalmente inerentes às chamadas de suporte poderão ser anulados, se um técnico de suporte da Microsoft determinar que uma actualização específica resolverá o problema. Os custos normais do suporte serão aplicados a problemas adicionais e questões de suporte que não se enquadrem na atualização específica em questão.
Pré-requisitos
Para aplicar esta correcção, tem de ter Windows XP Professional x 64 Edition ou Windows XP Professional x 64 Edition Service Pack 2 no computador.
Requisito de reinício
Terá de reiniciar o computador depois de aplicar esta correcção.
Informações sobre substituição de correcções
Esta correcção não substitui uma correcção disponibilizada anteriormente.
Informações do ficheiro
A versão inglesa desta correcção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas na hora universal coordenada (UTC). Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador fuso horário no item data e hora no painel de controlo.

Windows XP Professional x 64 Edition
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
SRV.sys5.2.3790.3177674,81621-Jul-200807: 32x 64

Windows XP Professional x 64 Edition com Service Pack 2
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
SRV.sys5.2.3790.4337648,19221-Jul-200814: 57x 64

Como contornar

importante Esta secção, método ou tarefa contém passos que indicam como modificar o registo. No entanto, poderão ocorrer problemas graves se modificar o registo de forma incorrecta. Por conseguinte, certifique-se de que segue estes passos cuidadosamente. Criar uma para protecção adicional, cópia de segurança do registo antes de o modificar. Em seguida, pode restaurar o registo se ocorrer um problema. Para obter mais informações sobre como efectuar uma cópia de segurança e restaurar o registo, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
322756Como efectuar uma cópia de segurança e restaurar o registo no Windows
aviso Esta solução alternativa irá causar um problema de desempenho quando a funcionar com ficheiros partilhados no sistema.


Para contornar este problema, defina o valor da entrada de registo Cachedopenlimit como 0 e, em seguida, reinicie o serviço do servidor. Para o fazer, siga estes passos:
  1. No Editor de registo, localize a seguinte subchave do registo:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Lanmanserver\Parameters
  2. Na subchave de registo de parâmetros , clique em Editar , clique em Novo , clique em Valor DWORD (DWORD Value) , escreva Cachedopenlimit e, em seguida, prima ENTER.
  3. Defina o valor decimal da entrada de registo Cachedopenlimit para 0 .
  4. Reinicie o serviço do servidor.
Nota Por predefinição, o valor da entrada de registo Cachedopenlimit é 5 , apesar de não tiver definido.

aviso Quando define o valor para 0 , não são armazenados pelo sistema de em cache identificadores de ficheiros de todos os ficheiros partilhados. Isto pode causar um problema de desempenho quando são aceder a ficheiros partilhados no sistema.

Ponto Da Situação

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

Mais Informação

Este problema também ocorre no Windows Server 2008 e no Windows XP x 86 versões. Para obter mais informações sobre este problema no Windows Server 2008, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
953263Quando utiliza uma instrução Transact-SQL para funcionar numa coluna FILESTREAM do SQL Server 2008, a instrução aleatoriamente poderá falhar consolidar e causar danos nos dados no Windows Server 2008
Para obter mais informações sobre este problema no Windows XP x 86 versões, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
955567Danos nos dados poderão ocorrer quando tentar anexar dados a uma variável binária FILESTREAM (máx.) coluna do SQL Server 2008 num computador com o Windows XP
Para mais informações sobre a terminologia de actualização de software, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft:-
824684Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

Quando utilizar o armazenamento FILESTREAM

No SQL Server 2008, dados de objectos grandes binários (BLOB) podem ser dados do tipo VARBINARY(MAX) que armazena dados em tabelas da base de dados. Dados do BLOB também podem ser dados do tipo VARBINARY(MAX) FILESTREAM que armazena os dados no sistema de ficheiros. O tamanho dos dados e a utilização de dados determinam se deve utilizar o armazenamento da base de dados ou o armazenamento FILESTREAM . Deverá considerar utilizar o armazenamento FILESTREAM quando se verificam as seguintes condições:
  • Em média, os dados BLOB que armazenar são superiores a 1 megabyte (MB).
  • Acesso de leitura rápida é importante.
  • Está a desenvolver aplicações que utilizem uma camada para a lógica da aplicação.
Se os dados BLOB são menos de 1 MB, deve considerar utilizar o armazenamento da base de dados. O armazenamento da base de dados frequentemente fornece transmissão em sequência melhor desempenho.

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

Propriedades

Artigo: 955280 - Última revisão: 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
  • 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
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003, Standard x64 Edition
  • Microsoft Windows Server 2003 Standard Edition
  • 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 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: 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