Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Não é possível conectar SQLEXPRESS com Laravel 5.6


Primeiro, encontre o número da porta da instância padrão:

  • Verifique o número da porta. Se você tiver o MS SQL Server Management Studio, execute:xp_readerrorlog 0, 1, N'Server is listening on' no banco de dados mestre

  • Com prompt de comando (haverá muitas linhas, mas você deve analisar):netstat -ano

Soluções possíveis:
  • Pare o serviço SQL Server Browser e teste novamente, sempre com o número da porta. Você pode se conectar à instância padrão do SQL Server com TCP/IP se estiver executando na porta 1433
  • Defina o SQL Server para não usar portas dinâmicas e defina o número da porta da instância padrão.
  • Altere config/database no Laravel para encontrar uma maneira de pular o número da porta. Não tenho experiência com Laravel, mas acho que você pode tentar com 'port' => env('DB_PORT', null),

Como configurar o servidor para escutar uma porta específica:
  • Abra "Gerenciamento do computador\Serviços\SQL Server Configuration Manager".
  • Expanda "Configuração de rede do SQL Server\Protocols for [nome da instância]" e clique duas vezes em "TCP/IP". Na caixa de diálogo "TCP/IP Properties", na guia IP Addresses, vá para IPAll. Deixe "porta TCP Dynamci" vazia. Defina "Porta TCP" para o número de porta desejado (pode ser o padrão 1433).
  • Nos "Serviços do SQL Server", clique duas vezes em Navegador do SQL Server. Na guia "Serviço", defina "Modo de início" como "Manual".
  • Nos "Serviços do SQL Server", clique duas vezes em Navegador do SQL Server. Em "Log On" pare o serviço.
  • Nos "Serviços do SQL Server", clique duas vezes em SQL Server ([nome da instância]). Em "Log On" reinicie o serviço.
  • Defina a string de conexão do cliente para o formato "servidor\instância, porta".

Bons pontos de partida são:Serviço de navegador do SQL Server e Configurar um servidor para escutar em uma porta TCP específica

Espero que isso possa ajudá-lo.