Start no SQLSERVER via comandos C Sharp

04/07/2017

0

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

Responder

Posts

04/07/2017

Fabiano Carvalho

Normalmente o nome do serviço é SQLEXPRESS quando a versão é express.
Responder

05/07/2017

Mario Jr

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?
Responder

05/07/2017

Lincon Silva

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
Responder

06/07/2017

Mario Jr

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?
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar