Update não atualizou
09/08/2011
0
Amigos, boa tarde. Fiz um update e demorou muito(mais de 20 horas) e o banco abortou, não atualizando nada. Gostaria de criar índices, mas nunca fiz usando o Management do Sql Server e se possível fazer o update em blocos, mas assim fica difícil, pois ele depende da leitura de outra tabela para fazer o update. Abaixo minha sql:
update
conhecimento_carga
set
data_emissao_conhecimento =
(select
convert(varchar(40),opera.data,21) from opera
where
opera.contrato = conhecimento_carga.numero_conhecimento and
(opera.data >= '11/01/2010' and opera.data <= '02/28/2011'))
where
data_emissao_conhecimento = '1899-12-30 00:00:00.000'
Pjava
Curtir tópico
+ 0
Responder
Posts
09/08/2011
Pjava
Esqueci, esse é o erro que deu após 20:00h
Msg 1105, Level 17, State 2, Line 1
Could not allocate space for object '<temporary system object: 423779197452288>' in database 'tempdb' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.
Could not allocate space for object '<temporary system object: 423779197452288>' in database 'tempdb' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.
Responder
09/08/2011
Marco Pinheiro
Tente criar os seguintes indices:
create index idx_conhecimento_carga on conhecimento_carga (data_emissao_conhecimento)
create index idx_conhecimento_carga on conhecimento_carga (numero_conhecimento)
create index idx_opera on opera (contrato, data)
create index idx_opera on opera (data)
Como o seu processo é de migração, pode ocorrer destes indices serem prejudicias ao realizar outros comandos (SELECT, UPDATE, INSERT), vai depender do seu programa. Então avalie se compensa mantê-los na base.
Att.,
Marco.
create index idx_conhecimento_carga on conhecimento_carga (data_emissao_conhecimento)
create index idx_conhecimento_carga on conhecimento_carga (numero_conhecimento)
create index idx_opera on opera (contrato, data)
create index idx_opera on opera (data)
Como o seu processo é de migração, pode ocorrer destes indices serem prejudicias ao realizar outros comandos (SELECT, UPDATE, INSERT), vai depender do seu programa. Então avalie se compensa mantê-los na base.
Att.,
Marco.
Responder
Clique aqui para fazer login e interagir na Comunidade :)