Mostrando postagens com marcador sqlserver. Mostrar todas as postagens
Mostrando postagens com marcador sqlserver. Mostrar todas as postagens

quarta-feira, 27 de outubro de 2010

Como mudar (trocar) o nome da máquina e manter o Sql Server 2000 funcionando

Na última semana realizamos alteração do nome de um servidor Sql Server e os Jobs do Sql Server Agent pararam de funcionar.
Tentamos excluir os Jobs e ocorreu a mensagem abaixo.



Realizamos 2 alterações para que o serviço tivesse seu funcionamento normalizado:
1. Atualizamos nome do Servidor
SELECT @@servername
sp_dropserver <'name_returned'>
sp_addserver <'correct_servername'>, 'local'

2. Atualizamos o valor do campo "originating_server" da tabela de jobs
USE msdb
GO
DECLARE @server sysname
SET @server = CAST(SERVERPROPERTY('ServerName')AS sysname)
UPDATE sysjobs
SET originating_server = @server
WHERE originating_server = 'wrong_servername'

Após atualizar as configurações do Sql Server foi possível excluir os Jobs que não mais desejados

Link de referência:
http://blog.sqlauthority.com/2006/12/20/sql-server-fix-error-14274-cannot-add-update-or-delete-a-job-or-its-steps-or-schedules-that-originated-from-an-msx-server-the-job-was-not-saved/

sexta-feira, 5 de março de 2010

Could not synchronize database state with session

Quem trabalha com hibernate com certeza já passou pelo seguinte erro:

2010/01/11-12:37:24,538 ERROR [AbstractFlushingEventListener] Could not synchronize database state with session
org.hibernate.HibernateException: Unexpected row count: 0 expected: 1
at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:32)

O primeiro pensamento é: fiz algo errado em código e não estou persistindo meus objetos corretamente. Foi assim que pensei quando tive esse problema recentemente.
Após verificar o meu código várias... várias vezes, me certifiquei que não tinha nada incorreto. E agora, o que está causando esse erro? Claro que só acontece em um Cliente específico e no seu ambiente de Produção.

O Banco de Dados é SQL Server 2000 com o WASCE (WebSphere Application Server Community Edition 1.1.0.1.

Após um bom tempo de código... código... código, fui atrás de bugs relacionados ao WASCE com Hibernate e nada novamente.

Então tive o insigth de avaliar o SQL Server. Para isso utilizei o Profiler (ferramenta que exibe trace de tudo o que acontece dentro do SQL Server).

Pronto! Encontrei o problema.
Na nossa funcionalidade trabalhamos com anexos e o SQL Server não estava conseguindo alocar memória para gravá-los. Utilizamos o tipo "java.sql.Blob" do hibernate com o tipo "image" do SQL Server.
Erro: Failed do reserve contiguous memory of Size



Solução: alterar os parâmetros de memória do SQL Server, pois ele estava com limite de memória. E conscientização dos usuários para que coloque anexos muitos grandes (façam tratamento, por exemplo, das imagens a serem anexadas)