如何偵測 「 SQL Server Express 服務的狀態,或使用 Visual Basic 或 Visual C# 啟動 SQL Server Express 服務

文章翻譯 文章翻譯
文章編號: 912426 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

結論

Microsoft SQL Server 2005 Express 的版是以服務為基礎的產品。如果您要建置在 [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 做為中的名稱 名稱 方塊中,然後再按一下[確定].
  5. 加入到"System.ServiceProcess"命名空間的參考。若要執行這項操作,請依照下列步驟執行:
    1. 在上 專案 功能表中,按一下 新增參考.
    2. 按一下 .NET 索引標籤上按一下 System.ServiceProcess然後按一下 [確定].
  6. 以下列取代現有的程式碼程式碼。

    附註取代的 Module1.vb 檔案中的程式碼Visual Basic 專案中。取代 Program.cs 中的程式碼視覺 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
    視覺 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) 網站:
http://msdn2.microsoft.com/en-us/library/system.serviceprocess (vs.71).aspx
?

屬性

文章編號: 912426 - 上次校閱: 2013年5月30日 - 版次: 2.0
這篇文章中的資訊適用於:
  • Microsoft Visual Studio 2005 Standard Edition
  • Microsoft Visual Studio 2005 Professional Edition
  • Microsoft SQL Server 2005 Express Edition
關鍵字:?
kbprb kbhowto kbmt KB912426 KbMtzh
機器翻譯
請注意--重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,且可能由 Microsoft Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。Microsoft 同時提供使用者人為翻譯、機器翻譯及社群編修後的機器翻譯三種版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,所有翻譯文章都可能不盡完美,內容都可能出現詞彙、語意或文法上的錯誤。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,微軟不負擔任何責任。Microsoft將依合理的商業努力不斷地更新機器翻譯軟體和工具,以期能為使用者提供更好的服務。
按一下這裡查看此文章的英文版本:912426
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

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