8

私は Web アプリケーションのバックエンドとして SQL Express 2008 を使用しています。問題は、Web アプリケーションが営業時間中に使用されるため、20 分間ログインしているユーザーがいない昼食時または休憩時間に、SQL Express がアイドル状態になることがあります。モードにしてキャッシュを解放します。

次のようなログが記録されるため、これを認識しています。

サーバーは 9709 秒間アイドル状態になった後、実行を再開しました

また

イベント ログでデータベース 'xxxxxxx' を起動しています

このアイドル動作は避けたいと思います。アイドリングを停止するか、少なくとも時間枠を 20 分以上に広げるように SQL Express を構成する方法はありますか? それとも、データベースを 15 分ごとにポーリングしてスプールを維持するサービスを作成する唯一のオプションですか?

このような記事を読んだ後、それは有望に見えませんが、誰かが知っているハックまたはレジストリ設定があるかもしれません.

4

4 に答える 4

8

その動作は構成できません。

データベースを頻繁にポーリングするメソッドを実装する必要があります。また、リンク先の記事と同様に、AUTOCLOSEプロパティをfalseに設定します。

于 2009-02-23T21:07:11.640 に答える
3

数分ごとにこのような短い SQL クエリを実行すると、SQL サーバーがアイドル状態になるのを防ぐことができます。

SELECT TOP 0 NULL
  FROM [master].[dbo].[MSreplication_options]
GO
于 2015-02-25T17:02:00.580 に答える
2

数分ごとに簡単なクエリを実行するスレッドを作成します。global.asax Application_Startでスレッドを開始すると、完了です。

于 2009-02-23T21:08:03.120 に答える
1

ここに良い説明があります:

sqlなんでも: Express がアイドル状態になってからの時間がわかりません。以下のスクリプトを 10 分ごとに実行することをお勧めします (おそらくタスク スケジューラ)。SQLこれにより、 Server Express がアイドル状態になるのを防ぎます。

SELECT TOP 0 NULL FROM [master].[dbo].[MSreplication_options] GO

また、すべてのデータベースのプロパティがに設定されていることを確認してくださいAUTO_CLOSE = FALSE

于 2016-07-26T15:39:38.320 に答える