私たちのオフィスでは、Windows Server 2012にインストールされているSQL Server 2008R2 Expressを使用しています。SQLServerデータベースには、ネットワーク内の60人を超えるユーザーが同時にアクセスします。最近、SQL ServerとSQL Serverを利用するプログラムのパフォーマンスが低下しています。
ここ数年、SQL Server 2008 R2 ExpressでWindows Server 2003を使用していました。サーバーをWindows Server 2012に変更した数か月。
パフォーマンスカウンターなどを使用してSQL Serverのパフォーマンスを分析できますが、その前に、以下の詳細を知りたかったです
SQL Server 2008 R2 Expressには、CPUのコアを1つだけ使用するような制限はありますか?そして、それはパフォーマンスの低下の理由かもしれませんか?
Windows Server 2012で古いバージョン(SQL Server 2008 R2 Express)を使用するときに互換性の問題はありますか?
SQL Server 2014 Expressにアップグレードする必要はありますか?何かメリットがありますか?
Expressエディションは制限されています。 SQL Serverのエディションでサポートされている機能を参照してください :
- 単一インスタンスで使用される最大コンピューティング容量:1ソケットまたは4コアの小さい方に制限
- 最大使用メモリ:1 GB
- リレーショナルデータベースの最大サイズ:10GB
これらの制限は2008R2、2012および2014バージョンに適用され、2005および2008の最大データベースサイズはさらに小さく、4 GBです(CPUおよびメモリの制限は同じです)。
パフォーマンスの問題をトラブルシューティングするには、 SQL Serverのパフォーマンスを分析する方法 をお勧めします。 (可能性として)Express Editionの制限に達していることに気付いた場合は、有料ライセンスエディション(おそらくStandard)にアップグレードする必要があります。制限に達していることがわかります。
SOS_SCHEDULER_YIELD
アイドル時の待機時間と高CPUパフォーマンスカウンタは4つのコアのみで発生します。PAGEIOLATCH_XX
OSカウンターでの待機時間とディスク使用率が高い(メモリが少ないと、より多くのIOがトリガーされます)。Express Editionを2008R2から2012にアップグレードすることは、2014年と同じように簡単なことです。ExpressEditionで活用できる2014または2012の機能はないと思いますが、最新バージョンを選択する理由は常に存在します:T- SQL言語の機能強化、製品サポート。 SQL Server 2014の新機能 および SQL Server 2012の新機能 を参照してください。