.NET アプリケーションと共に SQL Server Express を展開しています。つまり、独自の SQL Server Express インスタンスは、アプリケーションのセットアップ プロセス中に自動的にインストールされます。
無人インストール中に、SQL Server エージェントに使用するユーザー アカウントを指定できます (/AGTSVCACCOUNT
オプションではないコマンド ライン パラメーターを使用)。ただし、すべてのオプションは (a) 実行不可能であるか、(b) Microsoft によって推奨されていないようです。
NT AUTHORITY\NetworkService
およびNT AUTHORITY\LocalService
: これらのオプションは、ドメイン コントローラーではサポートされていません。(ターミナル サーバー環境では、ビジネス アプリケーションがドメイン コントローラにインストールされることがあります。これがベスト プラクティスではないことは承知していますが、これは顧客が時々行うことです。)NT AUTHORITY\System
: Microsoft は次のように述べています。「ローカル システム アカウント オプションは、下位互換性のためにのみ提供されています。ローカル システム アカウントには、SQL Server エージェントが必要としないアクセス許可があります。ローカル システム アカウントとして SQL Server エージェントを実行することは避けてください。」新しいローカル Windows またはドメイン ユーザーを自動的に作成する: これは実行可能なオプションではないと思います。ユーザーとして、自分のマシンにインストールした単純なビジネス アプリケーションが新しいユーザー アカウントを自動的に作成する場合、非常に煩わしいと考えます。とにかく、どのパスワードを使用する必要がありますか? 事前定義されたハードコードされた値 (= セキュリティの悪夢)? 新しいランダム パスワード (= 管理者の悪夢)?
ユーザーにアカウントの提供または作成を依頼する: 多くの場合、自宅のコンピューターにソフトウェアをインストールする「単純なユーザー」は、その「ユーザー アカウント」が何であるかを知らず、気にも留めていないため、これもオプションではありません。とにかく、なぜユーザーは、インストールするビジネス アプリケーションの内部実装の詳細 (SQL Server エージェント サービス) に煩わされる必要があるのでしょうか?
明らかなことを見逃しましたか?この問題を解決するための確立されたベスト プラクティスはありますか?