Cómo detectar el estado del servicio de SQL Server Express o iniciar el servicio SQL Server Express mediante Visual Basic o Visual C#

Seleccione idioma Seleccione idioma
Id. de artículo: 912426 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

Resumen

Microsoft SQL Server 2005 Express Edition es un producto de servicio. Si genera Las aplicaciones de Microsoft Visual Studio 2005 en SQL Server 2005 Express Edition, puede detectar el estado del servicio de SQL Server Express al iniciar el aplicación. Puede utilizar la clase ServiceController para hacer lo siguiente:
  • Detectar el estado del servicio de SQL Server Express.
  • Inicie el servicio de SQL Server Express si no se inicia correctamente.
Nota Utiliza una instancia de la instalación predeterminada de SQL Server 2005 Express Edition nombre de SQLEXPRESS. Este nombre de instancia se asigna el nombre de servicio de MSSQL$ SQLEXPRESS.

Más información

Para utilizar la clase ServiceController en una aplicación de consola de Visual Studio para detectar e iniciar la versión de SQL Server Express de servicio, siga estos pasos:
  1. Inicie Visual Studio 2005.
  2. En el Archivo en el menú, señale aNuevoy, a continuación, haga clic en Proyecto.
  3. Haga clic en Visual Basic o Visual C# bajo Tipos de proyectoy, a continuación, haga clic enAplicación de consola bajo Visual Studio instalado plantillas.

    Nota De forma predeterminada, se crea el archivo Module1.vb en la Proyecto de Visual Basic. De forma predeterminada, se crea el archivo Program.cs en el objeto Visual C# proyecto.
  4. Uso ConsoleApplication1 como el nombre en el Nombre cuadro y, a continuación, haga clic enACEPTAR.
  5. Agregue una referencia al espacio de nombres "System.ServiceProcess". A hacer esto, siga estos pasos:
    1. En el Proyecto menú, haga clic en Agregar Referencia.
    2. Haga clic en el .NET ficha, haga clic en System.ServiceProcessy, a continuación, haga clic en ACEPTAR.
  6. Reemplace el código existente por el siguiente código.

    Nota Reemplace el código en el archivo Module1.vb en la Proyecto de Visual Basic. Reemplace el código en el Program.cs archivo de proyecto de Visual C#.

    Visual Basic
    Imports System
    Imports System.ServiceProcess
    
    Module Module1
    
        Sub Main()
    
            Dim myServiceName As String = "MSSQL$SQLEXPRESS" 'service name of SQL Server Express
            Dim status As String  'service status (For example, Running or Stopped)
            Dim mySC As ServiceController
    
            Console.WriteLine("Service: " & myServiceName)
    
            'display service status: For example, Running, Stopped, or Paused
            mySC = New ServiceController(myServiceName)
            Try
                status = mySC.Status.ToString
            Catch ex As Exception
                Console.WriteLine("Service not found. It is probably not installed. [exception=" & ex.Message & "]")
                Console.ReadLine()
                End
            End Try
            Console.WriteLine("Service status : " & status)
    
            'if service is Stopped or StopPending, you can run it with the following code.
            If mySC.Status.Equals(ServiceControllerStatus.Stopped) Or mySC.Status.Equals(ServiceControllerStatus.StopPending) Then
                Try
                    Console.WriteLine("Starting the service...")
                    mySC.Start()
                    mySC.WaitForStatus(ServiceControllerStatus.Running)
                    Console.WriteLine("The service is now " & mySC.Status.ToString)
    
                Catch ex As Exception
                    Console.WriteLine("Error in starting the service: " & ex.Message)
                End Try
            End If
    
            Console.WriteLine("Press a key to end the application...")
            Console.ReadLine()
            End
        End Sub
    End Module
    Visual C#
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.ServiceProcess;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main()
            {
    
                string myServiceName = "MSSQL$SQLEXPRESS"; //service name of SQL Server Express
                string status; //service status (For example, Running or Stopped)
    
                Console.WriteLine("Service: " + myServiceName);
    
                //display service status: For example, Running, Stopped, or Paused
                ServiceController mySC = new ServiceController(myServiceName);
    
                try
                {
                    status = mySC.Status.ToString();
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Service not found. It is probably not installed. [exception=" + ex.Message + "]");
                    Console.ReadLine();
    
                    return;
    
                }
    
                //display service status: For example, Running, Stopped, or Paused
                Console.WriteLine("Service status : " + status);
    
                //if service is Stopped or StopPending, you can run it with the following code.
                if (mySC.Status.Equals(ServiceControllerStatus.Stopped) | mySC.Status.Equals(ServiceControllerStatus.StopPending))
                {
                    try
                    {
                        Console.WriteLine("Starting the service...");
                        mySC.Start();
                        mySC.WaitForStatus(ServiceControllerStatus.Running);
                        Console.WriteLine("The service is now " + mySC.Status.ToString());
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine("Error in starting the service: " + ex.Message);
    
                    }
    
                }
    
                Console.WriteLine("Press a key to end the application...");
                Console.ReadLine();
    
                return;
    
            }
    
        }
    }
  7. Presione CTRL + F5 para ejecutar el programa.

Referencias

Para obtener más información sobre el espacio de nombres "System.ServiceProcess", visite el siguiente sitio Web de Microsoft Developer Network (MSDN):
http://msdn2.Microsoft.com/en-us/library/System.ServiceProcess (inglés) .aspx
 

Propiedades

Id. de artículo: 912426 - Última revisión: jueves, 30 de mayo de 2013 - Versión: 2.0
La información de este artículo se refiere a:
  • Microsoft Visual Studio 2005 Standard Edition
  • Microsoft Visual Studio 2005 Professional Edition
  • Microsoft SQL Server 2005 Express Edition
Palabras clave: 
kbprb kbhowto kbmt KB912426 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 912426

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com