Procédure : démarrer une instance de SQL Server (sqlservr.exe)

Si le moteur de base de données SQL Server ne démarre pas, une étape de dépannage consiste à essayer de démarrer le moteur de base de données à partir de l'invite de commandes. Cette rubrique explique comment démarrer une instance du moteur de base de données.

[!REMARQUE]

SQL Server ne doit être démarré à partir de l'invite de commandes qu'à des fins de dépannage. Pour démarrer le moteur de base de données SQL Server pour une utilisation courante, consultez Procédure : démarrer une instance de SQL Server (Gestionnaire de configuration SQL Server).

Le processus de démarrage normal de SQL Server est une opération complexe, qui exige que les fichiers SQL Server soient au bon emplacement, que les paramètres de Registre soient configurés pour SQL Server et les services Microsoft Windows, et que le service SQL Server utilise les autorisations de fichiers et de Registre appropriées pour le compte de domaine. Par conséquent, une étape de dépannage courante est celle qui vise à déterminer si SQL Server peut démarrer dans des conditions idéales en simplifiant son environnement. En règle générale, la personne chargée d'un dépannage commence par se poser la question suivante : « SQL Server peut-il démarrer sans utiliser le Gestionnaire de contrôle des services Windows, sous un compte compris dans le groupe local Administrateurs  » ? Une réponse affirmative indique que le problème peut être lié au Gestionnaire de contrôle des services Windows ou aux autorisations attribuées au compte que le service SQL Server tente d'utiliser. Une réponse négative peut être le signe qu'un message d'erreur n'a pas été affiché via le Gestionnaire de contrôle des services, ce qui peut indiquer des problèmes au niveau des fichiers SQL Server ou des paramètres de Registre.

AttentionAttention

N'exécutez pas SQL Server à partir de la ligne de commande si ce n'est pour vérifier si SQL Server peut être lancé. Les opérations de maintenance exécutées après que SQL Server ait été démarré à partir de la ligne de commande pourraient par la suite entraîner des erreurs. Par exemple, si vous êtes connecté en tant qu'administrateur et que vous créez une nouvelle base de données ou que vous modifiez l'emplacement d'un fichier de données, SQL Server ne pourra peut-être pas y accéder pour le service SQL Server lors d'une exécution ultérieure sous le compte normal.

Lorsque vous exécutez SQL Server à partir de la ligne de commande, tenez compte les limitations suivantes :

  • Si vous réduisez la fenêtre d'invite de commandes, Windows supprime presque toutes les ressources de SQL Server. Ceci est normal dans la mesure où SQL Server n'est pas conçu pour fonctionner de cette manière.

  • SQL Server s'exécute dans le contexte de sécurité de l'utilisateur, et non dans celui du compte désigné pour exécuter SQL Server pendant l'installation.

  • Tous les messages du système s'affichent dans la fenêtre utilisée pour démarrer une instance de SQL Server.

  • Vous ne pouvez pas suspendre, arrêter ou redémarrer une instance de SQL Server en tant que service Microsoft Windows en utilisant SQL Server Management Studio, le Gestionnaire de configuration SQL Server, l'application Services du Panneau de configuration ou une commande net (par exemple, net start, net pause, net continue et net stop).

  • Vous devez arrêter l'instance de SQL Server avant de vous déconnecter de Windows.

  • Les options d'invite de commandes que vous tapez ont priorité sur les options d'invite de commandes par défaut écrites dans le Registre de Windows par le programme d'installation de SQL Server.

  • Le Gestionnaire de configuration SQL Server et SQL Server Management Studio indiquent que le service est arrêté.

Démarrage de l'instance appropriée de SQL Server

Par défaut, sqlservr.exe se trouve dans C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn. Si une instance nommée de SQL Server est installée, une deuxième copie de sqlservr.exe est située dans un répertoire tel que C:\Program Files\Microsoft SQL Server\MSSQL10.<nom_instance>\MSSQL\binn. Vous pouvez démarrer une instance de SQL Server en utilisant le fichier sqlservr.exe d'une autre instance, mais SQL Server démarrera également la version de l'instance incorrecte, y compris les Service Packs associés, ce qui risque de produire des résultats inattendus. Pour éviter cela, utilisez la commande de changement de répertoire MS-DOS (cd) pour passer au répertoire approprié avant de démarrer sqlservr.exe, comme l'illustre l'exemple suivant :

cd \Program Files\Microsoft SQL Server\MSSQL.MSSQLSERVER\MSSQL\Binn

Pour démarrer l'instance par défaut de SQL Server depuis une invite de commandes

  • À partir d'une invite de commandes, tapez la commande suivante :

    sqlservr.exe
    

Pour démarrer une instance nommée de SQL Server à partir d'une invite de commandes

  • À partir d'une invite de commandes, entrez la commande suivante en remplaçant <instancename> par le nom de l'instance que vous souhaitez démarrer :

    sqlservr.exe -s <instancename>
    

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

  • À partir d'une invite de commandes, tapez la commande suivante :

    sqlservr.exe -m
    

    Le mode mono-utilisateur peut s'avérer utile pour effectuer une opération de maintenance d'urgence lorsque vous ne voulez pas que les autres utilisateurs se connectent à SQL Server. Toutefois, n'importe quel utilisateur peut devenir l'utilisateur unique, y compris le service SQL Server Agent.

Pour démarrer une instance nommée de SQL Server en mode mono-utilisateur à partir d'une invite de commandes

  • À partir d'une invite de commandes, tapez la commande suivante :

    sqlservr.exe -m -s <instancename>
    

Pour démarrer l'instance par défaut de SQL Server avec une configuration minimale

  • À partir d'une invite de commandes, tapez la commande suivante :

    sqlservr.exe -f
    

Pour démarrer une instance nommée de SQL Server avec une configuration minimale

  • À partir d'une invite de commandes, tapez la commande suivante :

    sqlservr.exe -f -s <instancename>