Como se conectar à instância local do SQL Server 2008 Express

222

Acabei de instalar o SQL Server 2008 Express na minha máquina Vista SP1. Eu já tinha 2005 aqui e usei muito bem com o antigo SQL Server Management Studio Express. Consegui conectar-me sem problemas à minha instância PC-NAME \ SQLEXPRESS (não, PC-NAME não é o nome do meu computador ;-).

Eu desinstalei o 2005 e o SQL Server Management Studio Express. Em seguida, instalei o SQL Server 2008 Express na minha máquina e optei por instalar o SQL Server Management Studio Basic.

Agora, quando tento conectar-me ao PC-NAME \ SQLEXPRESS (com autenticação do Windows, como sempre fazia), recebo a seguinte mensagem:

Não é possível conectar ao PC-NAME \ SQLEXPRESS. Ocorreu um erro relacionado à rede ou à instância ao estabelecer uma conexão com o SQL Server. O servidor não foi encontrado ou não estava acessível. Verifique se o nome da instância está correto e se o SQL Server está configurado para permitir conexões remotas. (provedor: SQL Network Interfaces, erro: 26 - Erro ao localizar servidor / instância especificado) (Microsoft SQL Server, erro: -1) Para obter ajuda, clique em: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL + Servidor & EvtSrc = MSSQLServer & EvtID = -1 & LinkId = 20476

Quando instalei o SQL Server 2008, usei SQLEXPRESS como o nome da instância local. Pelo que sei, através do SQL Server Configuration Manager, o SQL Server está configurado para permitir conexões remotas.

Quando fui ao link de ajuda mencionado, a página de ajuda sugere o seguinte:

  • Verifique se o serviço Navegador do SQL Server foi iniciado no servidor.
  • Use a ferramenta Configuração da área de superfície do SQL Server para permitir que o SQL Server aceite conexões remotas. Para obter mais informações sobre a Ferramenta de configuração da área de superfície do SQL Server, consulte Configuração da área de superfície para serviços e conexões.

Bem, até onde sei, não há serviço Navegador do SQL Server no meu sistema (procurei no MMC por um, não encontrei).

E a ferramenta Configuração da área de superfície do SQL Server não existe no SQL Server 2008. Bom trabalho com a documentação de ajuda, Microsoft ;-).

Estou sem saber o que fazer agora. Eu tinha muito trabalho que esperava concluir hoje após a atualização para 2008 (a pessoa com quem estou trabalhando o colocou em funcionamento sem problemas e me disse que seria fácil - ele também é muito melhor com o banco de dados que eu sou). Alguém tem alguma idéia do que pode estar errado? Eu realmente aprecio isso. Se não conseguir fazer isso funcionar em algumas horas, voltarei ao SQL Server 2005 (se isso funcionar, gah ...).

Editar: Tentei desativar o Firewall do Windows e isso não ajudou. Além disso, notei que não tenho um diretório "Dados" na minha árvore de diretórios de instalação do SQL Server 2008 - eu poderia ter configurado algo errado quando o instalei?

Roubar
fonte

Respostas:

328

Por favor, verifique o ServerName que você forneceu. Ele deve corresponder ao nome mostrado abaixo na caixa de texto Nome do usuário e esse nome deve ser seguido por \SQLEXPRESS:

Caixa de diálogo Conectar

Govardhana Reddy
fonte
30
Esta pergunta tem 2 anos, mas foi isso que me ajudou. Eu não sabia que precisava do nome do computador antes do\SQLEXPRESS
RoLYroLLs
6
Entendo que essa pergunta é bastante antiga, mas achei isso depois de muita frustração. Sinto-me a mensagem de erro deve fazer esta sugestão em vez de dar informações inúteis :(
mob1lejunkie
Te agradece! O nome de domínio era o que eu realmente precisava.
Rubens Mariuzzo
Não posso acreditar que a caixa suspensa é preenchida previamente com apenas SQLEXPRESS whtn isso não funcionar
Nicolas78
Obrigado, certifique-se de observar que é feito por "Nome do seu computador" \ SQLEXPRESS
windound
106

Inicie seu serviço local do SQL Server

  • Inicie o SQL Config Manager: Clique em Iniciar -> Microsoft SQL Server 2008 R2 -> SQL Server Configuration Manager
  • Iniciar serviços do SQL: defina os serviços do SQL Server (SQLEXPRESS) e do SQL Server Browser para o modo de inicialização automática. Clique com o botão direito do mouse em cada serviço -> Propriedades -> Vá para a guia Serviço

Isso garantirá que eles sejam reiniciados se você reiniciar o computador. Verifique se o estado está "Em execução" para os dois serviços.

Iniciando o serviço local do SQL Server 2008

Faça o login e autentique com o SQL Server local

  • Agora abra o SQL Server Management Studio e clique em "Conectar-se ao Pesquisador de Objetos" e selecione Nome do Servidor:

[Nome do seu PC] \ SQLEXPRESS

Exemplo: 8540P-KL \ SQLEXPRESS ou (localhost) \ SQLEXPRESS

  • Para localizar o nome do seu PC: Clique com o botão direito do mouse em Meu Computador -> Propriedades -> guia Nome do Computador

  • Alternativa: Faça login usando autenticação do Windows: Usando o nome de usuário [Seu domínio] / [Seu nome de usuário]

Configurações de conta de usuário do SQL Server 2008

Configurar conta de usuário

  • Crie uma nova conta de login: No SQL Mgmt Studio -> Expanda seu servidor local -> Segurança -> Clique com o botão direito do mouse em Logins -> Novo login

  • Defina as configurações de senha na nova conta de usuário: desmarque a opção Aplicar política de senha, a expiração de senha e o usuário deve alterar a senha (como local) Banco de dados padrão -> Seu banco de dados

  • Conceda funções à Nova Conta de Usuário: Página de Mapeamento do Usuário -> Mapeie para seu db e conceda a função db_owner Página de Status -> Conceda Permissão para conectar-se e Ativar Login

Banco de Dados Local das Configurações do Usuário do SQL Server 2008

Configurar permissões de acesso / configurações para o usuário

  • Habilitar todos os modos de autenticação: Clique com o botão direito do mouse em Servidor Local -> Propriedades -> Guia Segurança -> Habilitar o Modo de Autenticação do SQL Server e Windows
  • Habilitar TCP / IP: Abra o SQL Server Configuration Manager -> Configuração de Rede do SQL Server -> Protocolos para SQLEXPRESS -> Habilitar TCP / IP
  • Reinicie o serviço do SQL Server: você precisará reiniciar o SQL Server (SQLEXPRESS) depois de ativar o TCP / IP

Permissões do servidor SQL Server 2008

Arquivo de propriedades do banco de dados para o projeto Spring

  • database.url = jdbc: jtds: sqlserver: // [
    nome do computador PC local ]; instância = SQLEXPRESS; DatabaseName = [nome do banco de dados];

  • database.username = [Seu nome de usuário] database.password = [Sua senha]

  • database.driverClassName = net.sourceforge.jtds.jdbc.Driver

Se você deseja exibir capturas de tela maiores e melhor formatação da resposta com mais detalhes, consulte o artigo do blog abaixo: Configurando uma Instância Local da Postagem no Blog do SQL Server 2008:

anataliocs
fonte
3
Obrigado. Isso ajudou cachos
Alan Waage
1
Muito obrigado! Isso é realmente útil mesmo para a versão 2014 !!
powernit
Como essa resposta indica, se você não SQL Server 2014 Configuration Managervir (em qualquer ano) quando procurar por "gerenciador de configuração" na inicialização ... provavelmente não terá uma instância válida do SQL Server instalada.
Don Cheadle
40

Eu usei (LocalDB) \ MSSQLLocalDB como o nome do servidor e, em seguida, consegui ver todos os bancos de dados locais.

Eric Schneider
fonte
Funcionou bem com o VS 2015 no Windows 10 64Bit. Graças
pirata X
funcionou usando o SSMS 2014. Mas eu suspeito que isso depende de ter executado um aplicativo Web .NET que teria instalado / criado este servidor local.
Don Cheadle
Esse é o LocalDB instalado com o Visual Studio, não o SQL Server Express. Esta resposta é útil para pessoas que realmente estão procurando isso, mas a distinção é importante se você precisar acessar o SQL Express ou criar um banco de dados no SQL Express para usar os recursos que o LocalDB não suporta, como Pesquisa de Texto Completo
IronSean
Obrigado pelo esclarecimento IronSean
petrosmm
34

Haha, oh garoto, eu descobri. De alguma forma, de alguma maneira, eu não instalei o Mecanismo de Banco de Dados quando instalei o SQL Server 2008. Não faço ideia de como perdi isso, mas foi o que aconteceu.

Roubar
fonte
como posso verificar se o mecanismo de banco de dados está instalado? não seria instalado automaticamente?
precisa saber é o seguinte
No meu caso, esqueci de instalar o Client Tools Connectivity , mas é apenas mais uma caixa de seleção na página "Recursos" durante a instalação. Enfim, você me apontou na direção certa. Obrigado.
Radek Stromský
No meu caso, durante a instalação do servidor sql, não recebi o serviço do mecanismo de banco de dados. Ao instalar, tenho 3 opções 1.Instane Fetaure (sem qualquer caixa de seleção) 2. Recurso Shred (com 2 cehckboxes) 3.Redistribute Features. Deixe-me saber por que eu recebi o Database Engine Serivce.
Kavitha
Eu tive esse problema também. a página de download é um tanto enigmática. certifique-se de baixar o programa do servidor real em vez da interface de gerenciamento ou de uma das outras opções que não possui componentes de servidor.
Anthony
22

Sei que essa pergunta é antiga, mas, caso ajude alguém, verifique se o Navegador do SQL Server está sendo executado no Services MSC. Instalei o SQL Server Express 2008 R2 e o Serviço de Navegador do SQL Server foi definido como Desativado.

  1. Iniciar-> Executar-> Serviços.msc
  2. Encontre "SQL Server Browser" -> Clique com o Botão Direito-> Propriedades
  3. Defina o Tipo de inicialização como Automático-> Clique em Aplicar
  4. Repita sua conexão.
capn
fonte
foi isso pelos meus problemas de conexão. Eu era capaz de usar no estúdio de gerenciamento, mas no servidor de aplicativos era invisível :) obrigado!
Slav
Foi isso para mim, exceto que foi o SQL Server Agent que não foi iniciado - eu o havia desativado porque consome muitos recursos quando não o estou usando.
JTech
15

Acabei de resolver um problema relacionado a isso que pode ajudar outras pessoas.

Inicialmente, quando o carregamento de MSSMSE tinha o servidor como PC_NAME\SQLEXPRESSe quando eu tentei ligar ele me deu Error: 26 - Error Locating Server/Instance Specified, então eu fui para o SQL Server Configuration Manager para verificar se meus SQL Server Browsere SQL Serverserviços foram correndo e definido como automático, apenas para descobrir que em vez de dizer SQL Server (SQLEXPRESS)que dizSQL Server(MSSQLSERVER) .

Então tentei me conectar PC-NAME\MSSQLSERVERe, dessa vez, obtive, SQL Network Interfaces, error: 25 - Connection string is not valid) (MicrosoftSQL Server, Error: 87) The parameter is incorrectentão pesquisei esse erro e descobri que alguém havia sugerido isso em vez de usar PC-NAME\MSSQLSERVERapenas o usoPC-NAME o nome do servidor na interface de conexão do servidor, e isso parece funcionar.

Existe um link aqui http://learningsqlserver.wordpress.com/2011/01/21/what-version-of-sql-server-do-i-haha/ que explica que MSSQLSERVER é a instância padrão e pode ser conectado por usando apenas o seu nome de host.

Eu acho que isso pode ter surgido porque eu já tinha o SQL Server 2008 instalado em algum momento no passado.

Que maldade
fonte
Você está correto: "basta usar PC-NAME (coloque o nome do seu PC aqui) como o nome do servidor na interface de conexão do servidor". Funciona.
Developer Marius Žilėnas
9

Em Gerenciador de configuração e Configuração de rede e protocolos para sua instância, o TCP / IP está ativado? Esse poderia ser o problema.

MkUltra
fonte
1
você também precisa habilitar a conta "sa" e atribuir uma senha, porque está desativada por padrão. Além disso, você provavelmente precisará habilitar a autenticação SQL porque é "nt auth only" por padrão.
djangofan
8
var.connectionstring = "server=localhost; database=dbname; integrated security=yes"

ou

var.connectionstring = "server=localhost; database=dbname; login=yourlogin; pwd=yourpass"
SQLSERV
fonte
6

Para mim, eu só consegui fazê-lo funcionar usando "." no campo nome do servidor; por um tempo tentando combinações diferentes do nome de usuário e do servidor. Observe que durante a instalação do servidor (ou seja, este arquivo: SQLEXPR_x64_ENU.exe), verifiquei a instância padrão que padroniza o nome para MSSQLSERVER; as respostas mais votadas acima podem ser melhor usadas para instâncias de servidor nomeadas separadas (ou seja, quando você precisar de mais de 1) servidor.

esses dois vídeos me ajudaram:

gbartusk
fonte
3

Uma das primeiras coisas que você deve verificar é que o SQL Server (MSSQLSERVER) foi iniciado. Você pode acessar o console de serviços (services.msc) e procurar o SQL Server (MSSQLSERVER) para ver se ele foi iniciado. Caso contrário, inicie o serviço.

Você também pode fazer isso através de um prompt de comando elevado, digitando net start mssqlserver.

Artyom Pranovich
fonte
1

Para mim, foi um problema de firewall do Windows. Permitir conexões de entrada. A porta de abertura não funcionou, mas os programas permitiram.

Ligação

Link2

Manish Jain
fonte