Comment se connecter à une instance locale de SQL Server 2008 Express

222

Je viens d'installer SQL Server 2008 Express sur ma machine Vista SP1. J'avais précédemment 2005 ici et je l'ai utilisé très bien avec l'ancien SQL Server Management Studio Express. J'ai pu me connecter sans problème à mon instance PC-NAME \ SQLEXPRESS (non, PC-NAME n'est pas le nom de mon ordinateur ;-).

J'ai désinstallé 2005 et SQL Server Management Studio Express. J'ai ensuite installé SQL Server 2008 Express sur ma machine et choisi de l'installer SQL Server Management Studio Basic.

Maintenant, lorsque j'essaie de me connecter à PC-NAME \ SQLEXPRESS (avec l'authentification Windows, comme je l'ai toujours fait), j'obtiens le message suivant:

Impossible de se connecter à PC-NAME \ SQLEXPRESS. Une erreur liée au réseau ou spécifique à l'instance s'est produite lors de l'établissement d'une connexion à SQL Server. Le serveur est introuvable ou inaccessible. Vérifiez que le nom de l'instance est correct et que SQL Server est configuré pour autoriser les connexions à distance. (fournisseur: SQL Network Interfaces, erreur: 26 - Erreur de localisation du serveur / de l'instance spécifiée) (Microsoft SQL Server, erreur: -1) Pour obtenir de l'aide, cliquez sur: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL + Serveur & EvtSrc = MSSQLServer & EvtID = -1 & LinkId = 20476

Lorsque j'ai installé SQL Server 2008, je l'ai fait utiliser SQLEXPRESS comme nom d'instance locale. Pour autant que je sache, via SQL Server Configuration Manager, SQL Server est configuré pour autoriser les connexions à distance.

Lorsque je suis allé sur le lien d'aide qu'il mentionne, la page d'aide suggère ce qui suit:

  • Assurez-vous que le service SQL Server Browser est démarré sur le serveur.
  • Utilisez l'outil de configuration de la surface d'exposition de SQL Server pour permettre à SQL Server d'accepter les connexions à distance. Pour plus d'informations sur l'outil de configuration de la surface d'exposition de SQL Server, consultez Configuration de la surface d'exposition pour les services et les connexions.

Eh bien, pour autant que je sache, il n'y a pas de service SQL Server Browser sur mon système (recherché dans MMC, je n'ai pas pu en trouver un).

Et l'outil de configuration de la surface d'exposition de SQL Server n'existe pas dans SQL Server 2008. Alors bon travail avec votre documentation d'aide, Microsoft ;-).

Je ne sais pas quoi faire en ce moment. J'avais beaucoup de travail que j'espérais faire aujourd'hui après la mise à niveau vers 2008 (la personne avec qui je travaille l'a installé et a fonctionné sans problème et m'a dit que ce serait facile - il est également bien meilleur avec les bases de données que je un m). Quelqu'un a-t-il une idée de ce qui pourrait mal se passer? Je l'apprécierais vraiment. Si je n'arrive pas à faire fonctionner cela dans quelques heures, je reviens à SQL Server 2005 (si cela fonctionne même, gah ...).

Edit: J'ai essayé de désactiver le pare-feu Windows, et cela n'a pas aidé. De plus, j'ai remarqué que je n'ai pas de répertoire «Data» sous mon arborescence de répertoires d'installation de SQL Server 2008 - aurais-je pu configurer quelque chose de mal lorsque je l'ai installé?

Rob
la source

Réponses:

328

Veuillez vérifier le ServerName que vous avez fourni. Il doit correspondre au nom ci-dessous dans la zone de texte UserName, et ce nom doit être suivi de \SQLEXPRESS:

Boîte de dialogue de connexion

Govardhana Reddy
la source
30
Cette question a 2 ans, mais c'est ce qui m'a aidé. Je ne savais pas que j'avais besoin du nom de l'ordinateur avant le\SQLEXPRESS
RoLYroLLs
6
Je comprends que cette question est assez ancienne mais je l'ai trouvée après beaucoup de frustration. Je pense que le message d'erreur devrait faire cette suggestion au lieu de donner des informations inutiles :(
mob1lejunkie
Merci! Le nom de domaine était ce dont j'avais vraiment besoin.
Rubens Mariuzzo
ne peut pas croire que la liste déroulante est préremplie avec seulement SQLEXPRESS whtn qui ne fonctionne pas
Nicolas78
Merci, assurez-vous de remarquer que c'est fait par "le nom de votre ordinateur" \ SQLEXPRESS
windound
106

Démarrez votre service SQL Server local

  • Démarrez le gestionnaire de configuration SQL: cliquez sur Démarrer -> Microsoft SQL Server 2008 R2 -> Gestionnaire de configuration SQL Server
  • Démarrer les services SQL: définissez les services SQL Server (SQLEXPRESS) et SQL Server Browser en mode de démarrage automatique. Cliquez avec le bouton droit sur chaque service -> Propriétés -> Allez dans l'onglet Service

Cela garantira leur redémarrage si vous redémarrez votre ordinateur. Veuillez vérifier que l'état est "en cours d'exécution" pour les deux services.

Démarrage de votre service local SQL Server 2008

Connectez-vous et authentifiez-vous avec votre serveur SQL local

  • Ouvrez maintenant SQL Server Management Studio et cliquez sur "Se connecter à l'Explorateur d'objets" et sélectionnez Nom du serveur:

[Nom de votre PC] \ SQLEXPRESS

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

  • Pour trouver le nom de votre PC: Cliquez avec le bouton droit sur Poste de travail -> Propriétés -> onglet Nom de l'ordinateur

  • Alternative: connexion à l'aide de l'authentification Windows: à l'aide du nom d'utilisateur [Votre domaine] / [Votre nom d'utilisateur]

Paramètres de compte d'utilisateur SQL Server 2008

Configurer le compte utilisateur

  • Créez un nouveau compte de connexion: Dans SQL Mgmt Studio -> Développez votre serveur local -> Sécurité -> Cliquez avec le bouton droit sur Connexions -> Nouvelle connexion

  • Définissez les paramètres de mot de passe sur le nouveau compte utilisateur: décochez Appliquer la stratégie de mot de passe, l'expiration du mot de passe et l'utilisateur doit changer pw (car c'est local) Base de données par défaut -> Votre base de données

  • Accorder des rôles au nouveau compte d'utilisateur: page de mappage des utilisateurs -> Mapper à votre base de données et accorder la page d'état du rôle db_owner -> Accorder l'autorisation de se connecter et d'activer la connexion

Base de données locale des paramètres utilisateur SQL Server 2008

Configurer les autorisations / paramètres d'accès pour l'utilisateur

  • Activez tous les modes d'authentification: cliquez avec le bouton droit sur votre serveur local -> Propriétés -> onglet Sécurité -> Activer le mode d'authentification SQL Server et Windows
  • Activer TCP / IP: Ouvrez le Gestionnaire de configuration SQL Server -> Configuration réseau SQL Server -> Protocoles pour SQLEXPRESS -> Activez TCP / IP
  • Redémarrez le service SQL Server: vous devrez redémarrer SQL Server (SQLEXPRESS) après avoir activé TCP / IP

Autorisations de serveur SQL Server 2008

Fichier de propriétés de base de données pour le projet Spring

  • database.url = jdbc: jtds: sqlserver: // [
    nom de l' ordinateur PC local ]; instance = SQLEXPRESS; DatabaseName = [nom de la base de données];

  • database.username = [Votre nom d'utilisateur] database.password = [Votre mot de passe]

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

Si vous souhaitez afficher des captures d'écran plus grandes et un meilleur formatage de la réponse avec plus de détails, veuillez consulter l'article de blog ci-dessous: Configuration d'une instance locale de SQL Server 2008 Blog Post:

anataliocs
la source
3
Je vous remercie. Cela a aidé les grappes
Alan Waage
1
Merci beaucoup! C'est vraiment utile même pour la version 2014 !!
powernit
Comme cette réponse l'indique, si vous ne voyez pas SQL Server 2014 Configuration Manager(quelle que soit l'année) lorsque vous recherchez "gestionnaire de configuration" au démarrage ... alors vous n'avez probablement pas installé une instance SQL Server valide.
Don Cheadle
40

J'ai utilisé (LocalDB) \ MSSQLLocalDB comme nom de serveur, j'ai ensuite pu voir toutes les bases de données locales.

Eric Schneider
la source
Fonctionne bien avec VS 2015 sur Windows 10 64Bit. Merci
Pirate X
travaillé avec SSMS 2014. Mais je suppose que cela dépend de l'exécution d'une application Web .NET qui aurait installé / créé ce serveur local.
Don Cheadle
C'est le LocalDB qui est installé avec Visual Studio, pas SQL Server Express. Cette réponse est utile pour les personnes qui le recherchent, mais la distinction est importante si vous devez accéder à SQL Express à la place, ou créer une base de données sur SQL Express pour utiliser des fonctionnalités que LocalDB ne prend pas en charge comme la recherche de texte intégral
IronSean
Merci pour la clarification IronSean
petrosmm
34

Haha, oh mon garçon, je l'ai compris. D'une manière ou d'une autre, je n'ai pas installé le moteur de base de données lorsque j'ai installé SQL Server 2008. Je ne sais pas comment j'ai manqué cela, mais c'est ce qui s'est produit.

Rob
la source
comment puis-je vérifier si le moteur de base de données est installé? ne serait-il pas installé automatiquement?
eran otzap
Dans mon cas, j'ai oublié d'installer Client Tools Connectivity , mais ce n'est qu'une autre case à cocher sur la page "Fonctionnalités" lors de l'installation. De toute façon, tu m'as pointé dans la bonne direction. Merci.
Radek Stromský
Dans mon cas, lors de l'installation du serveur SQL, je n'ai pas obtenu de servie du moteur de base de données. Faites-moi savoir pourquoi j'ai obtenu Database Engine Serivce.
Kavitha
j'ai aussi eu ce problème. la page de téléchargement est quelque peu cryptique. assurez-vous que vous téléchargez le programme serveur réel au lieu de l'interface de gestion ou l'un des autres choix qui n'a pas de composants serveur.
Anthony
22

Je sais que cette question est ancienne, mais au cas où cela aiderait quelqu'un à s'assurer que le navigateur SQL Server est en cours d'exécution dans les services MSC. J'ai installé SQL Server Express 2008 R2 et le service de navigation SQL Server a été défini sur Désactivé.

  1. Démarrer-> Exécuter-> Services.msc
  2. Rechercher «Navigateur SQL Server» -> Clic droit -> Propriétés
  3. Définissez le type de démarrage sur Automatique-> Cliquez sur Appliquer
  4. Réessayez votre connexion.
capn
la source
c'était pour mes problèmes de connexion. J'ai pu porter sur le studio de gestion, mais depuis le serveur d'application était invisible :) merci!
Slav
C'était tout pour moi, sauf que c'était l'Agent SQL Server qui n'avait pas été démarré - je l'avais désactivé car il consomme trop de ressources lorsque je ne l'utilise pas.
JTech
15

Je viens de résoudre un problème lié à cela qui peut aider d'autres personnes.

Initialement, lors du chargement de MSSMSE, il avait le serveur au fur PC_NAME\SQLEXPRESSet à mesure que j'essayais de me connecter Error: 26 - Error Locating Server/Instance Specified, je suis donc allé dans SQL Server Configuration Manager pour vérifier si mes services SQL Server Browseret SQL Serverétaient en cours d'exécution et définis sur automatique, seulement pour trouver qu'au lieu de dire SQL Server (SQLEXPRESS)qu'il dit SQL Server(MSSQLSERVER).

J'ai ensuite essayé de me connecter à PC-NAME\MSSQLSERVERet cette fois, j'ai SQL Network Interfaces, error: 25 - Connection string is not valid) (MicrosoftSQL Server, Error: 87) The parameter is incorrectdonc recherché cette erreur sur Google et j'ai découvert que quelqu'un avait suggéré qu'au lieu d'utiliser PC-NAME\MSSQLSERVERsimplementPC-NAME nom du serveur à l'interface de connexion au serveur, et cela semble fonctionner.

Il y a un lien ici http://learningsqlserver.wordpress.com/2011/01/21/what-version-of-sql-server-do-i-have/ qui explique que MSSQLSERVER est l'instance par défaut et peut être connecté à par en utilisant uniquement votre nom d'hôte.

Je pense que cela peut avoir surgi parce que j'ai déjà installé SQL Server 2008 dans le passé.

WhatEvil
la source
Vous avez raison: "utilisez simplement PC-NAME (mettez le nom de votre ordinateur ici) comme nom de serveur sur l'interface de connexion au serveur". Ça marche.
Développeur Marius Žilėnas
9

Sous Configuration Manager et Configuration réseau et protocoles pour votre instance, TCP / IP est-il activé? Ça pourrait être le problème.

MkUltra
la source
1
vous devez également activer le compte "sa" et lui donner un mot de passe car il est désactivé par défaut. vous devez également probablement activer l'authentification SQL car son "nt auth uniquement" par défaut.
djangofan
8
var.connectionstring = "server=localhost; database=dbname; integrated security=yes"

ou

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

Pour moi, je n'ai pu le faire fonctionner qu'en utilisant "." dans le champ du nom du serveur; était en train de cogner pendant un certain temps en essayant différents combos du nom d'utilisateur et du nom du serveur. Notez que lors de l'installation du serveur (c'est-à-dire ce fichier: SQLEXPR_x64_ENU.exe) j'ai vérifié l'instance par défaut qui définit le nom par défaut sur MSSQLSERVER; les réponses au vote élevé ci-dessus pourraient être mieux utilisées pour des instances de serveur nommées distinctes (c'est-à-dire lorsque vous avez besoin de plus de 1) serveur.

ces deux vidéos m'ont aidé:

gbartusk
la source
3

Une des premières choses que vous devez vérifier est que SQL Server (MSSQLSERVER) est démarré. Vous pouvez accéder à la console des services (services.msc) et rechercher SQL Server (MSSQLSERVER) pour voir qu'il est démarré. Sinon, démarrez le service.

Vous pouvez également le faire via une invite de commande élevée en tapant net start mssqlserver.

Artyom Pranovich
la source
1

Pour moi, c'était un problème de pare-feu Windows. Autorisez les connexions entrantes. L'ouverture du port n'a pas fonctionné mais les programmes autoriser l'ont fait.

Lien

Link2

Manish Jain
la source