Can SQL Server 2000 ser feita para preencher um catálogo de texto completo sem bloquear as tabelas É leitura?

StackOverflow https://stackoverflow.com/questions/577306

Pergunta

Eu tenho um servidor de banco de dados em SQL Server 2000 (sim eu sei ...) com catálogos de texto completo sobre algumas de suas tabelas. Atualmente estou fazendo uma população cheia durante a noite em tempo de silêncio, e eu gostaria de ser capaz de atualizar os catálogos durante o dia para que os novos dados podem ser considerados nas pesquisas.

O problema que eu notei é que quando uma população incremental é executado há uma quantidade considerável de bloqueio, causado pelo processo população. As demais operações nesta base de dados está usando "ler não confirmadas", ou sujo lê, para minimizar os atrasos (eu não especialmente se preocupam com up-to-the-segundo dados precisos) para que eu não sei exatamente por que a população, que si só é a leitura de dados, os bloqueia.

Qualquer pistas, sugestões?

Foi útil?

Solução

Conto: não, e que a situação não é muito melhor até que as atualizações recentes do SQL Server 2008. A versão RTM do 2008 tinha esses mesmos problemas, como documentado aqui:

http: // www. brentozar.com/archive/2008/11/stackoverflows-sql-2008-fts-issue-solved/

A solução é usar os subsistemas de armazenamento mais rápidos que fazem sentido para o seu orçamento e suas cargas de trabalho. Os catálogos de texto completo precisa estar em matrizes separadas de seus dados e logs, e de que maneira eles podem terminar população mais rápido.

Você também mencionou que você está surpreso que a leitura provoca bloqueios. Temos artigos sobre SQLServerPedia explicando processo de bloqueio do SQL Server, como este:

http://sqlserverpedia.com/wiki/SQL_Server_Locking_Mechanism

Se você quer respostas mais específicas, ver o seu servidor durante a população. Executar um sp_who2, olhar no qual as consultas estão sendo bloqueados, e executar um comando DBCC INPUTBUFFER (spid) para descobrir o que seu T-SQL é. Dessa forma, você pode ver exatamente o que tipos de consultas estão causando isso. Se você tem certeza que ele está usando ler não confirmadas, fazer upload de uma cópia de seu plano de execução da consulta, e nós podemos ajudar a interpretá-lo para descobrir o que está acontecendo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top