DataServer Não Conecta no SQL: Como Corrigir no MU Online Passo a Passo
Seu DataServer do MU Online não conecta no SQL Server? Aprenda como verificar usuário, senha, database, instância, ODBC, permissões, autenticação, TCP/IP e os principais erros que impedem o DataServer de iniciar corretamente.
Quando o DataServer não conecta no SQL Server, grande parte da estrutura de um servidor de MU Online pode deixar de funcionar corretamente.
Dependendo da versão e da source utilizada, o DataServer participa diretamente da comunicação com informações de personagens, contas, inventários, warehouses, guilds e outros dados armazenados na database.
Por isso, mensagens como SQL Connect Fail, ODBC Connect Fail, Login failed, Cannot open database ou simplesmente um DataServer que fecha sozinho precisam ser investigadas antes mesmo de abrir o GameServer.
Neste guia do Aprendiz MU Online, você aprenderá uma sequência completa para diagnosticar e corrigir DataServer que não conecta no SQL.
Como o DataServer se conecta ao SQL Server?
Em muitos servidores MU Online, o DataServer atua como uma camada entre alguns componentes do servidor e o banco de dados.
De forma simplificada:
GameServer
|
v
DataServer
|
v
ODBC / Driver SQL
|
v
SQL Server
|
v
Database MuOnline
Se uma dessas etapas falhar, a conexão poderá não ser concluída.
Por que o DataServer não conecta no SQL?
As causas mais comuns são:
- SQL Server desligado;
- nome do servidor SQL incorreto;
- nome da instância incorreto;
- usuário SQL inválido;
- senha incorreta;
- login SA desabilitado;
- autenticação SQL desativada;
- database inexistente;
- nome da database diferente;
- usuário sem acesso à database;
- ODBC não configurado;
- ODBC criado em 64 bits para aplicativo de 32 bits;
- DSN com nome incorreto;
- driver SQL ausente;
- TCP/IP desabilitado;
- firewall bloqueando a conexão;
- database incompatível com a source.
1. Verifique se o SQL Server está iniciado
O primeiro passo é simples: confirmar que o serviço do Microsoft SQL Server está realmente funcionando.
Pressione:
Windows + R
Digite:
services.msc
Procure um serviço semelhante a:
SQL Server (MSSQLSERVER)
ou:
SQL Server (SQLEXPRESS)
O serviço precisa estar com status:
Em execução
Caso esteja parado, inicie o serviço e teste novamente.
2. Teste a conexão pelo SQL Server Management Studio
Antes de abrir novamente o DataServer, tente entrar no SQL usando o SQL Server Management Studio.
Utilize exatamente os dados que o DataServer está usando.
Por exemplo:
Servidor:
WIN-SERVIDOR
Autenticação:
SQL Server Authentication
Login:
sa
Senha:
SUA_SENHA
Se você não consegue entrar no próprio Management Studio, o DataServer também provavelmente não conseguirá.
3. Confira o nome do servidor e da instância SQL
Este é um dos erros mais frequentes em instalações novas.
Imagine que o computador seja chamado:
WIN-L7SFH0IEM39
Se o SQL estiver instalado como instância padrão, você poderá encontrar configurações semelhantes a:
WIN-L7SFH0IEM39
ou, quando tudo está na mesma máquina:
127.0.0.1
ou:
localhost
Entretanto, se a instalação possuir uma instância chamada
SQLEXPRESS, poderá ser necessário utilizar:
WIN-L7SFH0IEM39\SQLEXPRESS
Como descobrir o nome da instância?
Abra o:
SQL Server Configuration Manager
Observe os serviços do SQL Server.
Se aparecer:
SQL Server (MSSQLSERVER)
normalmente estamos falando da instância padrão.
Se aparecer:
SQL Server (SQLEXPRESS)
temos uma instância nomeada chamada:
SQLEXPRESS
4. Verifique usuário e senha configurados no DataServer
Abra o arquivo de configuração utilizado pela sua source.
Dependendo do projeto, você poderá encontrar algo semelhante a:
SQLServer = 127.0.0.1
SQLUser = sa
SQLPassword = SUA_SENHA
Database = MuOnline
Os nomes das opções variam bastante entre diferentes server files.
Outras configurações podem aparecer como:
ServerName
SQLHost
SQLServerName
SQLLogin
SQLPass
DBName
DatabaseName
MuOnlineDB
A senha deve ser exatamente igual
Verifique especialmente:
- letras maiúsculas e minúsculas;
- caracteres especiais;
- espaços acidentais;
- arquivo de configuração errado;
- senha antiga ainda gravada no DataServer.
5. Verifique a autenticação do SQL Server
Muitos servidores MU Online utilizam um login SQL,
tradicionalmente o usuário sa ou outro login
criado especificamente para o servidor.
Nesse cenário, o SQL Server precisa aceitar SQL Server Authentication.
Caso contrário, poderá aparecer uma mensagem semelhante a:
Login failed for user 'sa'
Como verificar no SQL Server
No SQL Server Management Studio:
- clique com o botão direito no servidor;
- abra Properties;
- acesse Security;
- verifique o modo de autenticação utilizado.
Depois de determinadas alterações no modo de autenticação, poderá ser necessário reiniciar o serviço SQL Server.
6. Verifique se a database MuOnline existe
O DataServer pode conseguir entrar no SQL Server e mesmo assim falhar ao tentar acessar a database.
Dentro do SQL Server Management Studio, confira:
Databases
|
+-- MuOnline
O nome pode variar conforme a source.
Outros exemplos encontrados em diferentes projetos podem incluir:
MuOnline
MuOnlineDB
MuOnlineS6
MuOnline99z
Ranking
Event
Mu2003_Event_Data
Portanto, utilize sempre a estrutura original correspondente aos seus server files.
Teste básico da database
Se a database principal for MuOnline, uma consulta
simples poderá confirmar que o banco está acessível:
USE MuOnline;
SELECT TOP 10 *
FROM Character;
Essa consulta só funcionará se a sua database possuir a tabela
Character, comum em muitas estruturas tradicionais
de MU Online.
7. SQL conecta, mas não abre a database
Este cenário merece atenção porque a conexão com o SQL aparentemente funciona.
Porém surge algo semelhante a:
Cannot open database "MuOnline"
requested by the login.
Isso significa que você precisa verificar:
- se o banco existe;
- se está online;
- se o login possui usuário mapeado;
- se possui permissões suficientes;
- se a database padrão do login existe.
Erro com NT AUTHORITY\SYSTEM
Algumas aplicações ou serviços podem tentar conectar utilizando o contexto do Windows.
Nesse cenário, pode aparecer uma mensagem semelhante a:
The server principal "NT AUTHORITY\SYSTEM"
is not able to access the database "MuOnline"
under the current security context.
Essa mensagem indica que a identidade utilizada conseguiu chegar ao SQL Server, porém não possui o acesso necessário à database naquele contexto.
8. Verifique o ODBC do DataServer
Algumas versões de MU Online dependem de uma fonte de dados ODBC para acessar o banco.
Nesse caso, mesmo que usuário, senha e database estejam corretos, você ainda poderá receber:
ODBC Connect Fail
Verifique:
- se o DSN existe;
- se o nome está correto;
- se o driver existe;
- se o servidor SQL está correto;
- se o DSN consegue completar o teste de conexão.
9. ODBC 32 bits e 64 bits
Este detalhe provoca muitos erros em servidores antigos.
Grande parte dos executáveis clássicos de MU Online foi construída como aplicação 32 bits.
Em um Windows de 64 bits existem administradores ODBC separados.
ODBC 32 bits
C:\Windows\SysWOW64\odbcad32.exe
ODBC 64 bits
C:\Windows\System32\odbcad32.exe
SysWOW64 gerencia as fontes ODBC de aplicações
32 bits.
Portanto, se o DataServer é 32 bits, criar o DSN somente no administrador ODBC de 64 bits pode fazer com que a aplicação simplesmente não encontre a fonte de dados.
10. Verifique o nome exato do DSN
O DSN pode funcionar perfeitamente e ainda assim o DataServer apresentar falha.
Exemplo:
O DataServer procura:
MuOnline
Mas você criou:
MuOnlineDB
Dependendo da implementação, o resultado será:
Data source name not found
ou simplesmente:
ODBC Connect Fail
11. Verifique TCP/IP no SQL Server
Se o SQL e o DataServer estão em máquinas diferentes, verifique a configuração de rede do SQL Server.
Abra:
SQL Server Configuration Manager
Localize:
SQL Server Network Configuration
Depois:
Protocols for MSSQLSERVER
ou o nome correspondente à sua instância.
Verifique o protocolo:
TCP/IP
Depois de alterar algumas configurações de rede, reinicie o serviço do SQL Server.
12. Firewall pode impedir o DataServer de conectar?
Sim, principalmente quando o DataServer e o SQL Server estão em computadores diferentes.
Em uma instalação local onde tudo roda no mesmo Windows, o problema tende a ser menos frequente.
Em VPS, dedicado ou arquitetura distribuída, confira:
- Windows Firewall;
- firewall da hospedagem;
- regras de rede;
- IP do servidor autorizado;
- porta realmente utilizada pela instância SQL.
Principais erros do DataServer ao conectar no SQL
| Mensagem | O que verificar primeiro |
|---|---|
| ODBC Connect Fail | DSN, ODBC 32/64 bits, driver e autenticação. |
| SQL Connect Fail | Servidor SQL, instância, usuário e senha. |
| Login failed for user | Usuário, senha e modo de autenticação. |
| Cannot open database | Database e permissões. |
| Data source name not found | DSN inexistente ou criado na arquitetura errada. |
| SQL Server does not exist | Hostname, instância, rede e protocolos. |
| Connection timeout | Rede, firewall, instância ou SQL indisponível. |
| Invalid object name | Database incorreta ou estrutura incompatível. |
| Invalid column name | Database incompatível com a source. |
DataServer conecta no SQL, mas aparece Invalid Column Name
Nesse caso, o problema de conexão foi praticamente superado.
O DataServer conseguiu chegar ao SQL Server e executar uma consulta, porém a estrutura encontrada não corresponde ao que o executável espera.
Exemplo:
Invalid column name 'ResetCount'
Isso pode acontecer quando:
- você restaurou a database de outra source;
- faltou executar um script SQL;
- o executável é de outra versão;
- o código foi customizado para utilizar campos adicionais.
DataServer conecta, mas não encontra Stored Procedure
Outro erro possível é:
Could not find stored procedure
Isso significa que a aplicação conseguiu acessar o SQL, mas tentou executar uma procedure que não existe naquela database.
Procure nos arquivos do servidor por scripts:
SQL
Database
Query
Procedure
Update
Install
Compare os scripts com a database instalada.
DataServer fecha imediatamente ao abrir
Se o DataServer abre e fecha em poucos segundos, tente executá-lo manualmente pelo Prompt de Comando ou observe os arquivos de log.
Possíveis causas:
- falha de conexão SQL;
- configuração ausente;
- DLL faltando;
- driver SQL ausente;
- database incompatível;
- porta em uso;
- dependência do Visual C++ ausente;
- erro interno da própria source.
DataServer local: configuração recomendada
Em um ambiente de testes onde SQL Server e DataServer estão na mesma máquina, uma configuração conceitual pode ser:
SQL Server:
127.0.0.1
Usuário:
usuario_sql
Senha:
********
Database:
MuOnline
O nome exato dos campos depende dos arquivos da source.
O importante é confirmar que esses mesmos dados conseguem autenticar diretamente no SQL Server.
Ordem correta para diagnosticar DataServer sem SQL
Checklist: DataServer não conecta no SQL
| Item | Resultado esperado |
|---|---|
| Serviço SQL Server | Iniciado. |
| SQL Management Studio | Conecta normalmente. |
| Servidor SQL | Hostname ou IP correto. |
| Instância | Nome correto. |
| Usuário SQL | Login habilitado. |
| Senha | Correta. |
| Autenticação SQL | Compatível com a configuração. |
| Database | Existe e está online. |
| Permissão | Login consegue abrir o banco. |
| ODBC | Configurado quando necessário. |
| DSN | Nome correto. |
| ODBC 32/64 | Compatível com o DataServer. |
| TCP/IP | Configurado quando necessário. |
| Firewall | Não bloqueia conexão necessária. |
| Database/source | Mesma versão e estrutura. |
Perguntas frequentes
Por que meu DataServer não conecta no SQL?
Os motivos mais comuns são usuário ou senha incorretos, servidor ou instância SQL errados, database indisponível, ODBC mal configurado, falta de permissões ou incompatibilidade entre database e source.
Posso usar 127.0.0.1 no DataServer?
Quando SQL Server e DataServer estão na mesma máquina, muitas aplicações aceitam 127.0.0.1. Uma instância nomeada ou implementação específica pode exigir outro formato.
Por que aparece Login failed for user SA?
Normalmente significa senha incorreta, login desabilitado ou modo de autenticação incompatível com a conexão utilizada.
SQL conecta mas MuOnline não abre. O que fazer?
Confirme se a database está online e se o login utilizado possui acesso e permissões suficientes para abrir o banco.
ODBC Connect Fail é problema no SQL?
Pode ser, mas não obrigatoriamente. O erro também pode ser causado por DSN inexistente, driver incorreto, ODBC na arquitetura errada ou nome de fonte de dados diferente do esperado pela aplicação.
Qual ODBC usar no DataServer MU Online?
Depende da arquitetura do executável. Muitos DataServers antigos são aplicações de 32 bits e utilizam fontes configuradas no administrador ODBC de 32 bits.
DataServer precisa de ODBC?
Depende da source. Algumas versões utilizam ODBC, enquanto outras implementam conexão ao SQL de outra forma.
Invalid Column Name significa problema de conexão?
Geralmente não. Essa mensagem indica que a conexão foi estabelecida, mas a estrutura da database não contém a coluna esperada pela aplicação.
DataServer fecha sozinho por causa do SQL?
Pode acontecer. Algumas aplicações encerram quando não conseguem carregar configurações, acessar o banco ou inicializar uma dependência obrigatória.
Conclusão
Quando o DataServer não conecta no SQL, o melhor caminho não é alterar configurações aleatoriamente.
Utilize uma sequência lógica: primeiro confirme o serviço SQL, depois faça login pelo SQL Server Management Studio, verifique usuário, senha, instância, database e permissões. Depois disso, investigue ODBC, DSN, arquitetura 32/64 bits, TCP/IP e firewall.
Quando o DataServer passa a apresentar mensagens como Invalid Column Name, Invalid Object Name ou Stored Procedure não encontrada, o diagnóstico muda: nesse ponto a conexão provavelmente já existe e você deve investigar a compatibilidade entre a database e os server files utilizados.
Dominar essa sequência facilita muito a instalação de servidores MU Online 97D, 99z, Season 2, Season 6 e projetos personalizados.