Start no SQLSERVER via comandos C Sharp

SQL Server

C#

04/07/2017

Olá,

Estou precisando de um comando c# para "Startar" o Sql Server Express quando ele estiver parado.

Estou fazendo assim:

ServiceController scExpress = new ServiceController("MSSQLSERVER");

if (scExpress.Status.Equals(ServiceControllerStatus.Stopped) || scExpress.Status.Equals(ServiceControllerStatus.StopPending) ||
scExpress.Status.Equals(ServiceControllerStatus.Paused) || scExpress.Status.Equals(ServiceControllerStatus.PausePending))
{
scExpress.Start(); //Starta o processo
scExpress.WaitForStatus(ServiceControllerStatus.Running); //Aguarda até que o processo fique startado definitivamente
}

Porem quanto Starta aconte o seguinte erro: Additional information: Não é possível abrir o serviço MSSQLSERVER no computador '.'.


Agradeço desde a já quem puder ajudar.
Mario Jr

Mario Jr

Curtidas 0

Respostas

Fabiano Carvalho

Fabiano Carvalho

04/07/2017

Normalmente o nome do serviço é SQLEXPRESS quando a versão é express.
GOSTEI 0
Mario Jr

Mario Jr

04/07/2017

Fabiano, obrigado por responder!

Creio que o nome da instancia está certa, porque no ela carregar o Status do serviço. Eu também fiz o teste desta que vc mencionou mas não foi encontrada.

Tem mais alguma ideia do que pode ser?
GOSTEI 0
Lincon Silva

Lincon Silva

04/07/2017

Mario, mesmo com teu código funcional, ele tá parando nas permissões dobre o processo do SQL Server. Se você criar a aplicação e todar como administrador ele vai conseguir levantar ou derrubar o processo.

Com o código abaixo eu consegui levantar e até derrubar, mas tive que criar um app desktop e rodar ele como administrador pra funcionar

            
System.Diagnostics.Process process = new System.Diagnostics.Process();
            process.StartInfo.FileName = "net start \\"Sql Server (SQLEXPRESS)\\"";
            process.Start();



Tenta verificar as permissões do usuário que executa, porém alerto pra segurança, a melhor forma é deixar ele levantar Automaticamente.

abraços
GOSTEI 0
Mario Jr

Mario Jr

04/07/2017

Ademir, obrigado por responder!

O seu código também não funcionou pra mim, creio que possa ser algum tipo de permissão do SQL Server.

Você saber me direcionar onde e qual permissão possa estar causando isso?
GOSTEI 0
POSTAR