web-dev-qa-db-fra.com

Je ne peux pas me connecter à mon serveur SQL Server 2008 local?

Je viens d'installer SQL Server 2008 et je ne peux pas me connecter avec SQL Server Management Studio. Mon intention est de laisser mon l'utilisateur Windows local être authentifié mais je ne sais pas trop comment faire .

Dans la boîte de dialogue de connexion que j'écris:

Server type: Database Engine
Server name: (local)
Authentication: Windows Authentication

Ma première question serait de savoir si c'est à cela que je dois me connecter? Lorsque j'essaie de me connecter, j'obtiens ce message d'erreur:

TITLE: Connect to Server
------------------------------

Cannot connect to (local).

------------------------------
ADDITIONAL INFORMATION:

A network-related or instance-specific error occurred while establishing a connection
to SQL Server. The server was not found or was not accessible. Verify that the instance 
name is correct and that SQL Server is configured to allow remote connections.
(provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
(Microsoft SQL Server, Error: 2)

For help, click: http://go.Microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=2&LinkId=20476

------------------------------
BUTTONS:

OK
------------------------------

Je suis allé à l'URL affichée et il dit simplement "assurez-vous que le serveur SQL fonctionne". Je pense que oui, mais je n'en suis pas totalement sûr.

J'ai désactivé le pare-feu Windows (il s'agit de Windows 7 7100 x86). J'ai également changé le système de connexion dans le Gestionnaire de configuration SQL Server, mais il semble que ce ne soit pas un problème de connexion, mais même pas en mesure d'ouvrir le socket. Sur ce même outil, j'ai activé tous les protocoles sur "Configuration réseau SQL Server" -> "Protocoles pour SQLEXPRESS" sans succès. Je manque d'idées. Que puis-je essayer d'autre?

18
pupeno

Ok, pouvez-vous ouvrir votre console de services et faire défiler jusqu'à S pour SQL Server. Vous devriez maintenant voir les services. Veuillez vous assurer que SQL Server (SQLEXPRESS) est en cours d'exécution, puis essayez.\SQLEXPRESS au lieu de (local).

Donc, selon votre exemple:

Server type: Database Engine
Server name: .\SQLEXPRESS
Authentication: Windows Authentication

J'espère que cela t'aides

Mise à jour: ces instructions sont parce que je suppose que vous exécutez l'édition Express et non l'édition Dev/Std/Ent de SQL Server


Essayez de vous assurer que les protocoles appropriés sont activés:

  1. Démarrez le Gestionnaire de configuration SQL (par exemple: Démarrer-> Programmes-> SQL Server-> Outils de configuration)
  2. Développez la configuration du client natif SQL
  3. Cliquez sur Protocoles client (vous pouvez avoir un 32 bits et un 64 bits, appliquer aux deux)
  4. Assurez-vous que la mémoire partagée, TCP/IP et les canaux nommés sont activés dans cet ordre
  5. Développer la configuration réseau de SQL Server
  6. Assurez-vous que la mémoire partagée pour SQLEXPRESS et/ou MSSQLSERVER est activée
  7. Cliquez sur SQL Server Services
  8. Redémarrez tous les services en cours d'exécution

Vous devriez maintenant pouvoir vous connecter à l'instance


Si vous constatez que vous ne pouvez pas vous connecter du tout, vous devrez peut-être suivre ces instructions pour mettre SQL Server en mode mono-utilisateur. Voir ici pour les instructions complètes de Microsoft.

Par défaut, sqlservr.exe se trouve dans C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn. Si une deuxième instance de SQL Server est installée, une deuxième copie de sqlservr.exe se trouve dans un répertoire tel que

C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\binn.

Vous pouvez démarrer une instance de SQL Server en utilisant sqlservr.exe à partir d'une autre instance, mais SQL Server démarrera également la version de l'instance incorrecte, y compris les service packs, ce qui peut conduire à des résultats inattendus.

Pour éviter cela, utilisez la commande MS-DOS change directory (cd) pour vous déplacer vers le répertoire approprié avant de démarrer sqlservr.exe, comme indiqué dans l'exemple suivant.

cd\Program Files\Microsoft SQL Server\MSSQL10_50.1\MSSQL\Binn

Pour démarrer l'instance par défaut de SQL Server en mode mono-utilisateur à partir d'une invite de commande

À partir d'une invite de commande, entrez la commande suivante:

sqlservr.exe -m

Le mode mono-utilisateur peut être utile pour effectuer une maintenance d'urgence lorsque vous ne souhaitez pas que d'autres utilisateurs se connectent à SQL Server, mais tout utilisateur peut devenir l'utilisateur unique, y compris le service SQL Server Agent.

Vous devriez maintenant pouvoir vous connecter à l'instance et vous ajouter à l'onglet sécurité et accorder un accès complet.

Autre méthode:

Il existe un script ici qui prétend ajouter l'utilisateur actuel au rôle d'administrateur système SQL Server. Cela peut fonctionner en mode mono-utilisateur mais je ne l'ai pas vérifié

23
Wayne

(local) se résout en 127.0.0.1 et fonctionne uniquement pour les valeurs par défaut. Les instances, comme la valeur par défaut pour SQL Server Express, ont besoin d'un vrai nom. Notez que vous pouvez consulter le journal des erreurs pour SQL Server (dossier d'installation SQL, puis journal) et l'une des premières entrées vous donnera l'IP, le port et le nom de l'instance.

Vous pouvez donc les utiliser à la place. Les noms d'instance sont bons à utiliser, car ils sont assez cohérents. Notez qu'ils utilisent également des ports dynamiques, il peut donc s'agir d'un port différent à chaque redémarrage. Le gestionnaire de configuration SQL Server peut définir un port spécifique. pas sûr des outils Express.

0
Steve Jones