Artikel-ID: 912426 - Geändert am: Freitag, 11. Mai 2007 - Version: 1.2
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.
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:
- Starten Sie Visual Studio 2005.
- Klicken Sie in dem Menü Datei auf Neu, und klicken Sie dann auf Projekt.
- 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.
- Verwenden Sie ConsoleApplication1 als den Name in dem Feld Name und klicken Sie dann auf OK.
- Fügen Sie einen Verweis auf den Namespace "System.ServiceProcess" hinzu. Gehen Sie hierzu folgendermaßen vor
- Klicken Sie in dem Menü Projekt auf Verweis hinzufügen.
- Klicken Sie auf die Registerkarte in .NET, klicken Sie auf System.ServiceProcess, und klicken Sie dann auf OK.
- 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 BasicImports 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;
}
}
} - Drücken Sie STRG + F5, um das Programm auszuführen.
Findet mehreres Weitere Informationen über das Namespace "System.ServiceProcess" auf der folgenden Microsoft Developer Network ( MSDN )-Website:
Besuchen Sie für weitere Information zu Visual Studio .NET die folgenden Newsgroups MSDN Usenet:
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
| kbprb kbhowto KB912426 KbMtde kbmt |
Maschinell übersetzter ArtikelWichtig: 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.