Start no SQLSERVER via comandos C Sharp
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.
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
Curtidas 0
Respostas
Fabiano Carvalho
04/07/2017
Normalmente o nome do serviço é SQLEXPRESS quando a versão é express.
GOSTEI 0
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?
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
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
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
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
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?
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