Un seul administrateur peut se connecter à ce moment (erreur MS SQL Server 18461)

14

J'expérimentais l'effet de donner à SQL Server une petite quantité de mémoire que je pensais qu'il allait récupérer.

J'ai configuré SQL Server pour utiliser 200 Mo de mémoire maintenant qu'il ne veut pas démarrer, j'ai fait quelques recherches sur Internet et on m'a conseillé de démarrer SQL Server en mode mono-utilisateur. cependant, je reçois l'erreur

Échec de la connexion pour l'utilisateur A. Motif: le serveur est en mode mono-utilisateur. Un seul administrateur peut se connecter à ce moment (Microsoft SQL Server, erreur: 18461)

entrez la description de l'image ici

J'ai arrêté l'Agent SQL Server.

CodeWi
la source
2
Pourquoi seulement 200 Mo de mémoire?, Vous avez besoin d'au moins 512 Mo pour l'édition express. msdn.microsoft.com/en-us/library/ms143506(v=sql.120).aspx#pmosr
McNets

Réponses:

23

Si vous démarrez SQL Server en mode mono-utilisateur, un seul administrateur peut se connecter en même temps.

Ce qui se passe probablement ici, c'est qu'un service utilise une connexion sysadmin pour se connecter, comme Reporting Services ou l'agent SQL Server.

Lorsque vous démarrez SQL Server en mode mono-utilisateur, vous avez la possibilité de spécifier une application cliente afin que seule cette application puisse se connecter.

Jetez un œil aux options de ligne de commande où il répertorie:

-m "Nom de l'application client"

Lorsque vous utilisez l'option -m avec SQLCMD ou SQL Server Management Studio, vous pouvez limiter les connexions à une application cliente spécifiée. Par exemple, -m "SQLCMD" limite les connexions à une seule connexion et cette connexion doit s'identifier comme programme client SQLCMD. Utilisez cette option lorsque vous démarrez SQL Server en mode mono-utilisateur et qu'une application cliente inconnue utilise la seule connexion disponible. Pour vous connecter via l'éditeur de requête dans Management Studio, utilisez -m "Microsoft SQL Server Management Studio - Requête".

Le nom de l'application client est sensible à la casse.

Si vous êtes en mesure de vous connecter de cette façon, modifiez la mémoire maximale du serveur en quelque chose de raisonnable. Je suppose que vous pourrez vous connecter car sinon vous recevriez probablement quelque chose car "il n'y a pas de processus à l'autre bout du tuyau" donc je suppose que votre serveur fonctionne.

Si toutefois vous ne pouvez pas vous connecter à SQL Server parce que votre configuration de mémoire ne vous le permet pas, vous pouvez démarrer SQL Server dans une configuration minimale en utilisant l' -foption.

-F

Démarre une instance de SQL Server avec une configuration minimale. Ceci est utile si le réglage d'une valeur de configuration (par exemple, une surcharge de mémoire) a empêché le démarrage du serveur. Le démarrage de SQL Server en mode de configuration minimale place SQL Server en mode mono-utilisateur. Pour plus d'informations, consultez la description de -m qui suit.

Pour référence: SQL Server ne peut pas démarrer après avoir accidentellement défini la «mémoire maximale du serveur» sur 0

Tom V - essayez topanswers.xyz
la source
7
  • Démarrer l'instance SQL en mode de configuration minimale

    NET START MSSQLSERVER /f
  • Connectez-vous à l'instance à partir de la même fenêtre cmd et modifiez le paramètre de mémoire Max:

    SQLCMD -S Server/Instance -E

    Vous devriez voir une invite qui ressemble à ceci:

    1> 

Par défaut, le paramètre de mémoire maximale peut ne pas être disponible pour l'affichage et la modification. Pour modifier ce comportement, utilisez la requête ci-dessous:

sp_configure 'show advanced options', 1;  
GO  
RECONFIGURE;  
GO  
sp_configure 'max server memory', 4096;  
GO  
RECONFIGURE;  
GO  

Redémarrez l'instance à partir de Configuration Manager.

Ramakant Dadhichi
la source
la meilleure solution pour <SQL Server ne peut pas démarrer après avoir accidentellement défini la "mémoire du serveur max" sur 0> et "il n'y a pas de processus à l'autre bout du canal"
faza
-1

J'ai fait face à un problème similaire. J'ai réussi à le résoudre en arrêtant «SQL Server (MSSQLSERVER)» puis en le redémarrant. Après avoir redémarré le processus, j'ai pu me connecter sans problème.

Neil
la source
-1

A pu ouvrir la fenêtre de l'éditeur de requêtes dans SSMS après le démarrage de SQL Server en mode mono-utilisateur. Voir: https://www.sqlservercentral.com/forums/topic/unable-to-open-ssms-in-single-user-mode

temps infini'
la source
Le lien avec la source est bon, mais pensez à ajouter au moins le résumé de la solution proposée à votre réponse. De cette façon, la réponse restera valable même si le lien devient mort.
Andriy M