你目前正处于脱机状态,正在等待 Internet 重新连接

如何检测到 SQL Server Express 服务的状态,或通过使用 Visual Basic 或 C# 开始 SQL Server Express 服务

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 912426
概要
Microsoft SQL Server 2005年速成版是一个基于服务的产品。如果生成在 SQL Server 2005 Express Edition Microsoft Visual Studio 2005年的应用程序,则可以检测到状态SQL Server Express 服务在启动时的应用程序。可以使用ServiceController类,请执行下列操作:
  • 检测到 SQL Server Express 服务的状态。
  • 如果未正确启动,则启动 SQL Server Express 服务。
注意默认安装 SQL Server 2005 Express Edition 的使用实例名为 SQLEXPRESS。此实例名称映射到的服务名称MSSQL$ SQLEXPRESS。
更多信息
若要在 Visual Studio 的控制台应用程序中使用ServiceController类,以检测并启动SQL Server Express 服务,请按照下列步骤操作:
  1. 开始 Visual Studio 2005。
  2. 在上 文件 菜单上指向然后单击 项目.
  3. 单击 Visual Basic可视化C# 在下 项目类型然后单击控制台应用程序 在下 Visual Studio 安装模板.

    注意默认情况下,在中创建的 Module1.vb 文件Visual Basic 项目中。在视觉效果中,默认情况下,创建 Program.cs 文件C# 项目。
  4. 使用 ConsoleApplication1 作为中的名称 Name 框中,然后再单击确定.
  5. 添加到"System.ServiceProcess"命名空间的引用。到执行此操作,请按照下列步骤操作:
    1. 在上 项目 菜单上,单击 添加引用.
    2. 单击 .NET 选项卡上单击 System.ServiceProcess然后单击 确定.
  6. 用以下内容替换现有的代码代码。

    注意中的 Module1.vb 文件中的代码替换Visual Basic 项目中。Program.cs 中的代码替换在 C# 项目中的文件。

    Visual Basic
    Imports SystemImports System.ServiceProcessModule 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 SubEnd Module
    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. 按 CTRL + F5 以运行程序。
参考
有关"System.ServiceProcess"名称空间的详细信息,请访问下面的 Microsoft 开发人员网络 (MSDN) Web 站点:  

警告:本文已自动翻译

属性

文章 ID:912426 - 上次审阅时间:05/30/2013 10:35:00 - 修订版本: 2.0

Microsoft Visual Studio 2005 Standard Edition, Microsoft Visual Studio 2005 Professional, Microsoft SQL Server 2005 Express Edition

  • kbprb kbhowto kbmt KB912426 KbMtzh
反馈