Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Microsoft SQL Server 2005 Express Edition é um produto baseado no serviço. Se criar aplicações do Microsoft Visual Studio 2005 no SQL Server 2005 Express Edition, poderá detectar o estado do serviço SQL Server Express quando inicia a aplicação. Pode utilizar a classe ServiceController para efectuar o seguinte:
Detecte o estado do serviço SQL Server Express.
Inicie o serviço SQL Server Express se não for iniciado correctamente.
Nota Instalação predefinida do SQL Server 2005 Express Edition utiliza um nome de instância de SQLEXPRESS. Este nome de instância mapeia para o nome de serviço do MSSQL $ SQLEXPRESS.
Para utilizar a classe ServiceController numa aplicação de consola Visual Studio para detectar e iniciar o serviço SQL Server Express, siga estes passos:
Inicie o Visual Studio 2005.
No menu ficheiro , aponte para Novo e, em seguida, clique em projecto .
Clique em Visual Basic ou Visual C# em tipos de projecto e clique em Consola aplicação em Visual Studio instalados modelos .
Nota Por predefinição, o ficheiro Module1.vb é criado no projecto do Visual Basic. Por predefinição, o ficheiro Program.cs é criado no projecto do Visual C#.
Utilize ConsoleApplication1 como o nome na caixa Nome e, em seguida, clique em OK .
Adicione uma referência ao espaço de nomes "System.ServiceProcess". Para o fazer, siga estes passos:
No menu projecto , clique em Adicionar referência .
Clique no separador .NET , clique em System.ServiceProcess e, em seguida, clique em OK .
Substitua o código existente com o seguinte código.
Nota Substitua o código no ficheiro Module1.vb no projecto do Visual Basic. Substituir o código de Program.cs ficheiro do projecto do 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;
}
}
}
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 912426
(http://support.microsoft.com/kb/912426/en-us/
)
Quanto esforço foi necessário para seguir os procedimentos deste artigo?
Muito baixo
Baixo
Moderado
Alto
Muito alto
O que podemos fazer para melhor estas informações?
Para proteger a sua privacidade, não inclua as informações de contacto nos comentários.
Obrigado! Os seus comentários serão utilizados para nos ajudar a melhorar o conteúdo do suporte. Para obter mais opções de assistência, visite a Home Page da Ajuda e Suporte.