Usuário com melhor resposta
To com um problema invisivel no sql server...

Pergunta
-
Possuo um sistema, e esse sistema é fornecido informações de um servidor somente para banco de dados(sql server 2008). Logo tenho um outro servidor tambem somente para banco de dados, ele é uma copia identica do primeiro servidor, a instalação, as tabelas, bases, etc...
os dois servidores funcionavam perfeitamente, do nada um para de funcionar dando o erro:
operação ole db de varias etapas gerou erros. verifique cada valor de estatus ole db.
numero de erro: -2,147218E+09,
-------------------
o fonte do programa não é, porque funciona no outro servidor perfeitamente
ja reinstalei o sql
ja restaurei as bases.
peguei um servidor zerado e instalei o sql e joguei as bases e da o mesmo erro.
--------
tenho quase certeza de que possa ser algum arquivo corrompido, ou uma configuração pos instalação.. mas nao faço ideia de qual ou do que pode ser...
preciso de um help
- Movido Gustavo Maia Aguiar terça-feira, 29 de junho de 2010 17:05 (De:Programação avançada com o SQL Server)
Respostas
-
MK,
Fiz um teste em nosso ambiente de testes mudando o language para Portugues... Notei que soh funciona se vc também alterar o default languade dos usuários...
que no seu caso sería:
EXEC sp_configure 'default language', 0 go EXEC sp_defaultlanguage 'sa', 'us_english' go reconfigure
Rafael- Marcado como Resposta Maico_MK quinta-feira, 1 de julho de 2010 18:55
Todas as Respostas
-
MK,
Veja este link falando sobre esse assunto: http://support.microsoft.com/kb/269495/pt-br
Mas, por curiosidade, qual é o tipo de operação executado para que o erro ocorra??? Jah tentou restaurar essa base para teste e inserir registros em sua tabela manualmente (pelo client, por exemplo)?... Para checar a integridade de seu db, use o DBCC CHECKDB('Seu DB'). Caso tenha dúvida sobre esse comando, verifique o BOL para mais informações...
att.
Rafael
-
qualquer tipo de operação que ele venha a consultar a tabela...
são varios tipos de operações e erro, mas sempre o mesmo numero e mesmo sentido de erro...
a questão é, porque ta dando erro com mais dois servidores somente com o sql server 2008, so funciona em um, mas antes funcionava nos dois...
instalei um outro servidor zerado como falei acima e tambem deu erro, então... kkk ... entao... realmente, ja tem 4 dias que to nessa briga....
--------------------------------------------------------
verifiquei o link que me passou...
criei crie o valor OLEDB_SERVICES nas chaves do Registro, e nada... o erro continua...
bom eu tentei, mas ja sabia que nao iria funcionar... porque... questao...
Meu sistema é usado em rede por varios pcs... entao... ja sabreia que somente um regedit não resoveria....
----------------------------------------------------------
tenho certeza que o problema ta no sql... so pode...
não me resta outra opção. tem que ta no sql... mas onde... ?????
-
MK,
Desculpe insistir...rssrsrsrsr, mas vc jah tentou simular as operações pelo qual seu sistema apresenta erro diretamento no seu DB, tipo pelo management studio... pq se vc conseguir simular, descobrirá com certeza se o problema está no DB ou não...
Quanto as configurações, é válido verificar se o collation do servidor 2008 está igual aos demais...
Ah... outra pergunta... vc consegue conectar a esta base pelo management studio? Consegue testar operações de Select, insert e update??
att.
Rafael
-
Bom ja tinha tentado mas acredito que não chegei a comentar...
realmente, comando simples consigo, básico...
mas comandos mais complexos, nao vai da erro...
ex.:
um where em somente uma linha =ok - Funciona
---------
um update, set, e where = falha - Não Funciona
erro: Mensagem 242, Nível 16, Estado 3, Linha 2
A conversão de um tipo de dados varchar em um tipo de dados smalldatetime resultou em um valor fora do intervalo.------------------------------------------------------------
Conclusão,
o problema ta no Banco de Dados, mas como reparar???
Faz ideia por onde posso comessar ???
- será que desinstalando e instalando o sql funcionaria ???
mas deve ter alguma outra maneira, mais qual???
-
MK,
Reparei que a mensagem do seu server está em portugues.... e os demais (que estão funcionando) também estão em Portugues (o default language)??? Pq com certeza este fator geraría exatamente o erro que vc está tendo, porque os formatos de datas são diferentes...
Teste esse exemplo, e veja qual formato de data está sendo usado pelo seu server... Um dos dois "set" não conseguirá ser executado e retornará o erro que vc postou acima. Então, verifique se o formato de data que sua aplicação está enviando para o server, é a mesma que ele aceita...
DECLARE
@DATA SMALLDATETIMESET @DATA = '2010-06-30'
SET @DATA = '30-06-2010'Atenciosamente,
Rafael
-
Kara, Bigo!!!!
Realmente o erro é o formato de data... karaka.....
testei nos 3 servidores, e o problema realmente nos dois é a configuração do sql com a data... mas... sempre tem um mas ... kkk
o server le a data 18-01-2010 (d/m/a)
e eu preciso que ele leia 2010-18-01 (a/m/d)
-------
não sei se vc ja usou
usei o comando SET DATEFORMAT YMD
dei boot no server e nada.. não funcionou... o formato da data continua d/m/a
conhece algum outro comando. ou algum tipo de configuração no proprio sql ???
-
MK,
Legal, que chagamos em pelo menos o causador...heheheheh. O SET DATEFORMAT soh vale para a conexão atual.... Olha, eu vou te dizer algo que eu não testei. Voce poderá trocar o Default language do seu server (propriedades do servidor+advanced+default language) para English . Depois ainda é válido verificar o usuário utilizado na sua aplicação, se o default language dele também está ingles...
Outra coisa que pode ter acontecido é que seu sistema operacional está em portugues , ai o sql server procedeu a instalação para o idioma portugues...
Então.... caso vc alterando o default language do sql server e dos usuários (para ingles) ainda não der certo, e este server for ambiente de teste, experimente trocar o idioma (no regional) do seu servidor windows para English (United States)... Tem que funcionar...r.rsrsrsrs
att.
Rafael
-
Rafael,
heheh,, vc não imagina...
Bom fiz quase todos os procedimentos... mas não funcionou...
--------------------------------------
Não consegui, ou melhor não conhecço essa opção de trocar o Default language do server, no proprio sql seria, correto???
Mas no Usuário, como??? se poder me explicar... agradeço, mas vou tentando...
-
MK,
veja
SELECT @@language, @@langid (Verifique a language atual do seu servidor)
Se os servidores que estão funcionando estão em ingles, deixe o "2008" com o padrão ingles também...
EXEC sp_configure 'default language', 0 --Muda o language do servidor para ingles
EXEC sp_defaultlanguage 'usuario da sua aplicacao', 'us_english' --Muda o language do usuário para ingles ...
RECONFIGURE --Procedimento que aplica as alterações...Mk, tenha certeza de estar fazendo estas alterações em um ambiente de teste , ok???
att.
Rafael
-
-
-
Realizei o comando perfeitamente... kk
dei boot no servidor... e ja to realizando um outro comando...
so estou aguardando o resultado,
jaja, te aviso o que deu.... ou mehor , skkkk , se deu ____... kkkkkkk
to lendo um artigo, no forum legal... da uma olhada....
http://translate.google.com.br/translate?hl=pt-BR&sl=en&u=http://www.sqlteam.com/forums/topic.asp%3FTOPIC_ID%3D62891&ei=U9UsTKONI8GC8gb31rWhDg&sa=X&oi=translate&ct=result&resnum=1&ved=0CBsQ7gEwAA&prev=/search%3Fq%3DEXEC%2Bsp_configure%2B%2527default%2Blanguage%26hl%3Dpt-BR%26client%3Dfirefox-a%26hs%3DcYO%26rls%3Dorg.mozilla:pt-BR:official
-
kkkkkkkkkkkkkkkkkkkkkkkkkk
Rafael, meu caro.....
fiz esse comando abaixo... kkkk, ele continua lendo o formato de data por (d/m/a), mas mudou toda interface para britanico... kkkkkkk
tudo errado.....
Sa ALTER LOGIN COM DEFAULT_LANGUAGE = britânicos;
kkkkkkkk
GO -
MK,
Fiz um teste em nosso ambiente de testes mudando o language para Portugues... Notei que soh funciona se vc também alterar o default languade dos usuários...
que no seu caso sería:
EXEC sp_configure 'default language', 0 go EXEC sp_defaultlanguage 'sa', 'us_english' go reconfigure
Rafael- Marcado como Resposta Maico_MK quinta-feira, 1 de julho de 2010 18:55
-
Rafael,
Meu caro
FUNCIONOUUUUUUUU.....
-----------------Realmente, alterei o usuário para inglês e tudo voltou a funcionar....
Maravilha....
Rafael, agradeço muito pela paciência e pela força...
Se precisar tambem... to sempre aqui...
---------------------------------
Abraços.....
- Editado Maico_MK quinta-feira, 1 de julho de 2010 19:59
-