2017-10-17 16 views
0

net stopを使用してサービスを停止しようとしていますが、これはデータベース経由です。 OSQLでデータベースを接続し、net stopコマンドを実行してサービスを停止します。サービスを停止するOSQLコマンド

サービス名にスペースがあるため、サービス名を二重引用符で囲む必要があります。そうでない場合は、サービス名の各単語を名前ではなくパラメータとして扱います。

二重引用符を使用すると、OSQLコマンドが機能しません。

私にこれを手伝ってください。以下はサンプルクエリです。クエリ以下

osql -U mpsappuser -P password -S %servername% -d DBName -Q "execute xp_cmdshell 'net STOP "MPS AS2 Service"'" 
+2

このコマンドを動作します。 * shell *コマンドを実行して* shell *コマンドを実行する*ストアドプロシージャ*を実行するosqlコマンドを実行するには、* shell *を開きますか? 'net stop 'MPS AS2サービスを直接実行しないのはなぜですか?少なくともこの方法では、SQL Serverのセキュリティを無効にすることはありません –

答えて

0

* *意味がありません

osql -U mpsappuser -P password -S %servername% -d DBname -Q "DECLARE @cmd VARCHAR(100) SELECT @CMD = 'net STOP ' + CHAR(34) + 'MPS AS2 Service' + CHAR(34) + '' execute xp_cmdshell @CMD" 
関連する問題