A partir deste artigo , eu sei que a barra (/) é usada em vez de um hífen (-) quando um net start é usado com a opção de inicialização,
net start mssqlserver /m
Mas se eu quiser ter que usar com limite de opção de inicialização para um aplicativo, por exemplo sqlcmd (-m"SQLCMD"), como faço isso com NET START?
Para o artigo que você vinculou, ele faz referência às opções de inicialização específicas usadas pelo Mecanismo de Banco de Dados ("sqlservr.exe"). Portanto, o traço "-" é usado conforme indicado no artigo. Este artigo aponta para o método usado em um prompt do DOS para iniciar o SQL Server no modo de usuário único. Acredito que usar
/m"SQLCMD"
funcionaria da mesma maneira, mas normalmente uso os comandos indicados abaixo.Portanto, a partir de um prompt do DOS, o comando para iniciar a instância padrão do SQL Server no modo de usuário único e permitir apenas a conexão do SQLCMD seria:
sqlservr.exe -m"SQLCMD"
Se você tiver uma instância nomeada, seria:
sqlservr.exe -m"SQLCMD" -s MyServer\MyInstance
NET START iniciará um serviço. Você não pode limitar a conexão ao SQLCMD. O que você pode fazer é limitar a conexão usando outra maneira. Você pode usar o SQL Server Configuration Manager para bloquear todas as conexões de rede desabilitando o protocolo TCP-IP e Named-Pipes. Desta forma, apenas alguém conectado à máquina local (Memória Compartilhada) conseguiria se conectar.