Artikel-ID: 912426 - Geändert am: Freitag, 11. Mai 2007 - Version: 1.2

Wie Ermitteln des Status des SQL Server Express-Diensts oder Starten des SQL Server Express-Diensts unter Verwendung von Visual Basic oder Visual C#

SystemtippDieser Artikel bezieht sich auf ein anderes Betriebssystem als das von Ihnen verwendete. Für Sie möglicherweise nicht relevante Artikelinhalte wurden deaktiviert.
Alles erweitern | Alles schließen

Zusammenfassung

Microsoft SQL Server 2005 Express Edition ist ein service-based Produkt. Wenn Sie Anwendungen von Microsoft Visual Studio 2005 auf SQL Server 2005 Express Edition erstellen, können Sie den Status des SQL Server Express-Diensts erkennen, wenn Sie die Anwendung starten. Für folgende Aufgaben können Sie die ServiceController Klasse verwenden:
  • Ermitteln Sie den Status des SQL Server Express-Diensts.
  • Starten Sie den SQL Server Express-Dienst, wenn es nicht ordnungsgemäß gestartet wird.
Hinweis: die Standardinstallation von SQL Server 2005 Express Edition verwendet einen Instanzenname von SQLEXPRESS. Dieser Instanzenname wird dem Dienstname von MSSQL-$-SQLEXPRESS zugeordnet.

Weitere Informationen

Gehen Sie folgendermaßen vor, um die ServiceController Klasse in einer Visual Studio-Konsole-Anwendung zu dem Erkennen und dem Starten des SQL Server Express-Diensts zu verwenden:
  1. Starten Sie Visual Studio 2005.
  2. Klicken Sie in dem Menü Datei auf Neu, und klicken Sie dann auf Projekt.
  3. Klicken Sie auf Visual Basic oder Visual C# unter Projekttypen, und klicken Sie dann auf Konsole-Anwendung unter Visual Studio installed templates.

    Hinweis: die Datei Module1.vb wird standardmäßig in dem Visual Basic-Projekt erstellt. Die Program.cs-Datei wird standardmäßig in dem Visual C#-Projekt erstellt.
  4. Verwenden Sie ConsoleApplication1 als den Name in dem Feld Name und klicken Sie dann auf OK.
  5. Fügen Sie einen Verweis auf den Namespace "System.ServiceProcess" hinzu. Gehen Sie hierzu folgendermaßen vor
    1. Klicken Sie in dem Menü Projekt auf Verweis hinzufügen.
    2. Klicken Sie auf die Registerkarte in .NET, klicken Sie auf System.ServiceProcess, und klicken Sie dann auf OK.
  6. Ersetzen Sie den dort vorhandenen Code durch den folgenden Code

    Hinweis: Ersetzen Sie den Code in der Datei Module1.vb in dem Visual Basic-Projekt. Ersetzen Sie den Code in der Program.cs-Datei in dem Visual C#-Projekt.

    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. Drücken Sie STRG + F5, um das Programm auszuführen.

Informationsquellen

Findet mehreres Weitere Informationen über das Namespace "System.ServiceProcess" auf der folgenden Microsoft Developer Network ( MSDN )-Website:
http://msdn2.microsoft.com/en-us/library/system.serviceprocess(vs.71).aspx (http://msdn2.microsoft.com/en-us/library/system.serviceprocess(vs.71).aspx)
Besuchen Sie für weitere Information zu Visual Studio .NET die folgenden Newsgroups MSDN Usenet:
http://msdn.microsoft.com/newsgroups/default.aspx (http://msdn.microsoft.com/newsgroups/default.aspx)

Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Visual Studio 2005 Standard Edition
  • Microsoft Visual Studio 2005 Professional Edition
  • Microsoft SQL Server 2005 Express Edition
Keywords: 
kbprb kbhowto KB912426 KbMtde kbmt
Maschinell übersetzter ArtikelMaschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 912426  (http://support.microsoft.com/kb/912426/en-us/ )
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.