Impossible de se connecter à localhost sur SQL Server Express 2012/2016

97

Je viens de télécharger la dernière version de SQL Express 2012 mais je ne parviens pas à me connecter à localhost. J'ai essayé l'authentification localhost \ SQLExpress et Windows mais cela me donne un message d'erreur indiquant que je ne peux pas me connecter. Est-ce que j'ai râté quelque chose? J'ai déjà utilisé SQL Server 2008 et je n'ai jamais eu de problèmes de connexion à localhost. Il semble qu'il ne puisse même pas le trouver. Également dans les services, je ne vois qu'un rédacteur SQL Server VSS. Est-ce que cela devrait être ainsi? Ou est-ce que je manque quelque chose? Merci

dido
la source
1
Il semble que l'installation ne s'est pas bien déroulée. Avez-vous essayé de le réparer / de le réinstaller?
Vikdor
1
Êtes-vous sûr d'avoir trouvé le programme d'installation du serveur, par opposition, par exemple, à un programme d'installation de Management Studio?
Damien_The_Unbeliever

Réponses:

183

Selon Aaron Bertand :

  1. Vous devez vérifier que le service SQL Server est en cours d'exécution. Vous pouvez le faire en accédant à Start > Control Panel > Administrative Tools > Serviceset en vérifiant que le service SQL Server ( SQLEXPRESS) est en cours d'exécution. Sinon, démarrez-le.

  2. Lorsque vous êtes dans l'applet de services, assurez-vous également que le service SQL Browser est démarré. Sinon, démarrez-le .

  3. Vous devez vous assurer que SQL Server est autorisé à utiliser TCP / IP ou des canaux nommés. Vous pouvez les activer en ouvrant le Gestionnaire de configuration SQL Server dans Start > Programs > Microsoft SQL Server 2012 > Configuration Tools(ou SQL Server Configuration Manager) et en vous assurant que TCP / IP et les canaux nommés sont activés . Si vous ne trouvez pas le Gestionnaire de configuration SQL Server dans le menu Démarrer, vous pouvez lancer le composant logiciel enfichable MMC manuellement. Vérifiez SQL Server Configuration Manager pour le chemin d'accès au composant logiciel enfichable selon votre version.

    Gestionnaire de configuration SQL Server

  4. Vérifiez que le mode d'authentification de votre connexion SQL Server correspond à votre chaîne de connexion:

    • Si vous vous connectez à l'aide d'un nom d'utilisateur et d'un mot de passe, vous devez configurer SQL Server pour accepter le «mode d'authentification SQL Server»:

      -- YOU MUST RESTART YOUR SQL SERVER AFTER RUNNING THIS!
      USE [master]
      GO
      DECLARE @SqlServerAndWindowsAuthenticationMode INT = 2;
      EXEC xp_instance_regwrite
        N'HKEY_LOCAL_MACHINE',
        N'Software\Microsoft\MSSQLServer\MSSQLServer',
        N'LoginMode',
        REG_DWORD,
        @SqlServerAndWindowsAuthenticationMode;
      GO
      
    • Si vous vous connectez à l'aide de "Integrated Security = true" (mode Windows) et que cette erreur ne survient que lors du débogage dans les applications Web, vous devez ajouter ApplicationPoolIdentity en tant que connexion SQL Server :
  5. sinon, exécutez Start -> Run -> Services.mscSi oui, est-il en cours d'exécution?

Si ça ne marche pas alors

Il semble que vous n'avez pas tout installé. Lancez le fichier d'installation et choisissez l'option "Nouvelle installation ou ajouter des fonctionnalités à une installation existante". À partir de là, vous devriez être en mesure de vous assurer que le service du moteur de base de données est installé.

Ravindra Bagale
la source
2
@dido: Démarrer-> Run-> Services.msc
Ravindra Bagale
3
Une autre chose à vérifier est le nom de l'instance. Selon la façon dont SQL Server a été installé, vous pouvez ou non avoir besoin de fournir un nom d'instance après l'hôte.
Arvo Bowen
"TCP / IP et les canaux nommés sont activés" semble être nécessaire après la première installation
James A Mohler
3
C'était stupide mais pour moi, le problème était d'utiliser "localhost" comme nom de serveur et non "localhost \ SQLEXPRESS01" comme cela a été défini dans l'installation
Guy
1
Dans mon cas, SQLBrowser a été désactivé et l'outil de configuration n'était pas répertorié dans le dossier des outils sql. Pour démarrer l'outil de configuration via cmd https://docs.microsoft.com/en-us/sql/relational-databases/sql-server-configuration-manager?view=sql-server-2017 Pour démarrer le SQLBrowser automatiquement si la configuration L'outil échoue /programming/21375014/i-cannot-start-sql-server-browser
steven87vt
124

Allez dans Démarrer -> Programmes -> Microsoft SQL ServerYYYY -> Outils de configuration -> SQL Server YYYY Configuration Manager ou exécutez "SQLServerManager12.msc".

Assurez-vous que TCP / IP est activé sous Protocoles clients.

Ensuite, allez dans "Configuration réseau SQL Server" et double-cliquez sur TCP / IP. Cliquez sur l'onglet "Adresses IP" et faites défiler vers le bas. Sous «IP tout», supprimez les ports dynamiques TCP s'il est présent et définissez le port TCP sur 1433. Cliquez sur OK, puis revenez à «Services SQL Server» et redémarrez l'instance SQL Server. Maintenant, vous pouvez vous connecter via localhost, au moins je pourrais.

entrez la description de l'image ici

Notez que cette erreur peut bien sûr se produire lors de la connexion à partir d'autres applications. Exemple pour une Web.configchaîne de connexion d' application Web C # normale :

<connectionStrings>
    <add name="DefaultConnection" connectionString="server=localhost;database=myDb;uid=myUser;password=myPass;" />
</connectionStrings>
Ogglas
la source
4
Enfin, cela a fonctionné pour moi! J'avais changé le port en IP1, IP2, ... mais pas en IPAll. Cela l'a fait, merci!
George
2
@George exactement comme vous. J'avais même désactivé le pare-feu et rien ne fonctionnait. Il y avait un port 40xxx dans les ports dynamiques TCP. Je l'ai supprimé et mis 1433 dans le port TCP pour IPAll, cela l'a également fait. Merci!
Alisson
C'était aussi la clé pour moi.
Erik Olson
1
Après de nombreuses heures à me claquer la tête contre le mur, cela a finalement fonctionné. Je vous remercie.
Top Cat
Excellente solution. Cela me sauve la journée. Merci beaucoup!
Lavande
13

dans SQL SERVER EXPRESS 2012, vous devez utiliser "(localdb) \ MSSQLLocalDB" comme nom de source de données, par exemple, vous pouvez utiliser une chaîne de connexion comme celle-ci

Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=master;Integrated Security=True;
CENDRE
la source
10

J'ai eu un problème similaire - peut-être que ma solution aidera. Je viens d'installer MSSQL EX 2012 (installation par défaut) et j'ai essayé de me connecter avec VS2012 EX. Pas de joie. J'ai ensuite regardé les services, confirmé que SQL Server (SQLEXPRESS) fonctionnait effectivement.

Cependant, j'ai vu un autre service intéressant appelé SQL Server Browser qui était désactivé. Je l'ai activé, déclenché et j'ai ensuite pu récupérer le nom du serveur dans une nouvelle connexion dans VS2012 EX et me connecter.

Bizarre qu'ils désactivent un service requis pour que VS se connecte.

Michael Lawrence
la source
Il n'est pas nécessaire de se connecter; Je l'ai désactivé et je peux bien me connecter. Cela facilite simplement les choses lorsque vous ne connaissez pas le nom précis de l'hôte / de l'instance auquel vous connecter, car cela permet à d'autres logiciels d'interroger ces éléments.
Simon Morgan
8

Essayez d'abord la solution la plus populaire fournie par Ravindra Bagale .

Si votre connexion de localhost à la base de données échoue toujours avec une erreur similaire à la suivante:

Impossible de se connecter à la base de données SQL Server. Erreur: la connexion TCP / IP à l'hôte [adresse IP], port 1433, a échoué. Erreur: "Connexion refusée: connexion. Vérifiez les propriétés de connexion. Assurez-vous qu'une instance de SQL Server est en cours d'exécution sur l'hôte et accepte les connexions TCP / IP sur le port. Assurez-vous que les connexions TCP au port ne sont pas bloquées par un pare-feu . "

  1. Ouvrez le Gestionnaire de configuration SQL Server.
  2. Développez Configuration réseau SQL Server pour l'instance de serveur en question.
  3. Double-cliquez sur "TCP / IP".
  4. Dans la section «Protocole», définissez «Activé» sur «Oui».
  5. Dans la section "Adresses IP", définissez le port TCP sous "IP All" (qui est 1433 par défaut).
  6. Dans la section "Adresses IP", recherchez les sous-sections avec l'adresse IP 127.0.0.1 (pour IPv4) et :: 1 (pour IPv6) et définissez à la fois "Activé" et "Actif" sur "Oui" et le port TCP sur 1433.

    Propriétés TCP / IP

  7. Accédez à Start > Control Panel > Administrative Tools > Serviceset redémarrez le service SQL Server ( SQLEXPRESS).

naXa
la source
J'ai essayé les autres solutions ci-dessus avant d'arriver ici. Celui-ci l'a corrigé pour moi! De plus, j'ai trouvé que le téléchargement d'une chose appelée psping m'a aidé à tester la connexion. Exemple: psping 127.0.0.1:1433
JMI MADISON
7

Vérifiez d'abord que le service SQL Server est en cours d'exécution ou arrêté, s'il est arrêté, démarrez-le, pour ce faire ... suivez simplement les étapes ci-dessous.

1.Démarrer -> Exécuter -> Services.msc

entrez la description de l'image ici

  1. Accédez à l'onglet Standard dans le panneau des services, puis recherchez SQl Server (SQL2014)

"SQL2014" est donné par moi, il peut s'agir d'un autre nom dans votre cas

entrez la description de l'image ici

c'est tout une fois que vous démarrez le service SQL, vous pouvez vous connecter à la base de données locale.

j'espère que cela aidera quelqu'un.

PK-1825
la source
4

Tous mes services fonctionnaient comme prévu et je ne pouvais toujours pas me connecter.

J'ai dû mettre à jour la section des propriétés TCP / IP dans le Gestionnaire de configuration SQL Server pour mes protocoles SQL Server Express et définir le port IPALL sur 1433 afin de me connecter au serveur comme prévu.

entrez la description de l'image ici

contactmatt
la source
3

Essayez de passer de l'authentification Windows au mode mixte

Guru1
la source
1

C'est étrange, j'ai un problème similaire. J'ai téléchargé le package pour SQL 2012 Express avec outils mais le moteur de base de données n'a pas été installé.

J'ai déchargé l'autre du site MS et celui-ci a installé le moteur de base de données. Après un redémarrage, les services ont été répertoriés et prêts à fonctionner.

user2832504
la source
1

Ma situation

  • Nom d'instance vide dans SQL Server Management Studio> sélectionnez votre moteur de base de données> Bouton droit de la souris> Propriétés (Propriétés du serveur)> Propriétés de connexion de la vue de lien> Produit> Le nom de l'instance est vide

  • Source de données =. \ SQLEXPRESS n'a pas fonctionné => utilisez localhost dans web.config (voir ci-dessous)

Solution : dans web.config

xxxxxx = nom de ma base de données sans .mdf yyyyyy = nom de ma base de données dans l'explorateur de base de données VS2012

Vous pouvez forcer l'utilisation de TCP au lieu de la mémoire partagée, soit en préfixant tcp: au nom du serveur dans la chaîne de connexion, soit en utilisant localhost.

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring%28v=vs.110%29.aspx

Marc Van Rumste
la source
1

J'ai eu le même problème et j'ai trouvé que cela s'est produit après avoir installé une mise à jour pour mon SQL 2012. Ce qui l'a résolu pour moi était d'entrer dans les programmes et les fonctionnalités et d'exécuter une réparation.

Mur
la source
1

Le problème pour moi était que je ne spécifiais pas .\. Je spécifiais uniquement le nom de l'instance:

  • n'a pas marché: SQL2016
  • travaillé: .\SQL2016
Cosmin
la source
1

Après avoir suivi les étapes mentionnées par @ Ravindra Bagale , essayez cette étape. Server name: localhost\{Instance name you were gave}

entrez la description de l'image ici

Mohamed Musthaque
la source
0

Essayez de changer l'utilisateur propriétaire du service en système local ou utilisez votre compte administrateur.

Sous services, j'ai changé la connexion de Service SQL Server (MSSQLSERVER) de NT Service \ Sql ... au système local. Cliquez avec le bouton droit sur le service et accédez à l'onglet Connexion et sélectionnez le bouton radio Compte système local. Vous pouvez également forcer un autre utilisateur à l'exécuter également si cela vous convient mieux.

DavidTheDev
la source