Как определить состояние службы SQL Server Express или запуска службы SQL Server Express с помощью Visual Basic или Visual C#

Код статьи: 912426 - Список продуктов, к которым относится данная статья.
Развернуть все | Свернуть все

Аннотация

Microsoft SQL Server 2005 Express Edition представляет собой продукт на основе службы. При построении приложения Microsoft Visual Studio 2005 в SQL Server 2005 Express Edition, можно определить состояние службы SQL Server Express, при запуске приложения. Чтобы снять с данного каталога атрибут «Только чтение», можно воспользоваться командойServiceControllerкласс, выполните следующие действия:
  • Определение состояния службы SQL Server Express.
  • Запуск службы SQL Server Express, если он не был запущен правильно.
Примечание.Установки по умолчанию SQL Server 2005 Express Edition использует имя экземпляра SQLEXPRESS. Это имя экземпляра сопоставляет имя службы MSSQL $ SQLEXPRESS.

Дополнительная информация

Для использованияServiceControllerкласс в консольном приложении Visual Studio для обнаружения и запуска службы SQL Server Express, выполните следующие действия:
  1. Запустите Visual Studio 2005.
  2. в менюФайл:Выберите пункт менюСОЗДАТЬ.и выберите командуProject.
  3. затем –Visual Basic-или-Visual C#Из спискаТипы проектови выберите командуПриложение консолиИз спискаУстановленные шаблоны Visual Studio..

    Примечание.По умолчанию в файл Module1.vb создается в проекте Visual Basic. По умолчанию в файле Program.CS создается в проекте Visual C#.
  4. ИспользуйтеConsoleApplication1от имениИМЯполя, а затем нажмите кнопкуOk..
  5. Добавьте ссылку на пространство имен "System.ServiceProcess". Выполните следующие действия::
    1. в менюProjectвыберите пунктДобавить ссылку.
    2. Перейдите на вкладку.netЩелкнитеSystem.ServiceProcessи выберите командуOk..
  6. Замените существующий код следующим кодом.

    Примечание.Замените код в файл Module1.vb проекта Visual Basic. Замените код в Program.CS файла в проекте 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. Нажмите клавиши CTRL + F5 для запуска программы.

Ссылки

Для получения дополнительных сведений о пространстве имен "System.ServiceProcess" посетите следующий веб-узел Microsoft Developer Network (MSDN):
.aspx HTTP://msdn2.Microsoft.com/en-us/library/System.ServiceProcess (vs.71)
Для получения дополнительных сведений о Visual Studio .NET посетите следующие группы новостей MSDN Usenet:
http://MSDN.Microsoft.com/Newsgroups/Default.aspx

Свойства

Код статьи: 912426 - Последнее изменение :: 27 ноября 2010 г. - Редакция: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Visual Studio 2005 Standard Edition
  • Microsoft Visual Studio 2005 Professional Edition
  • Microsoft SQL Server 2005 Express Edition
Ключевые слова: 
kbprb kbhowto kbmt KB912426 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:912426

Отправить отзыв