web-dev-qa-db-ja.com

32ビットのWindows ServerとSQL Serverを64ビットにアップグレードする利点は何ですか?

SQL Serverと共にいくつかのサーバーアプリケーションを操作する32ビットのWindows Serverボックスがあり、RAMピーク時に約2 GBを使用しているとします。

サーバーアプリケーションを32ビットのままにして、Windows Server OSとSQL Serverを対応する64ビットバージョンにアップグレードする利点は何ですか? 64ビットバージョンでは、4 GBを超えるRAMにアクセスできますが、4 GBが完全には利用されていないため、アップグレードが問題になりますか?

バージョン:Windows Server 2008 R2、SQL Server 2008 R2 Datacenter Edition

ありがとう

13
Someone

強く関連している: 2ビットのMicrosoft WindowsデスクトップOSを維持する十分な理由

あなたは64ビットOSを使用しています。 Server 2008 R2は、64ビットCPUのみをサポートする最初の製品です。

「新しい」バージョンのWindowsは、32ビット用に設計されていません。あなたは何も利用しないかもしれませんが、不利な点はありません。言われていること:サーバー2008 R2 SP1(私はあなたが使用していると思います)としてアップグレードします 2020-01-14からEOLになります

SQL Server 32ビット/ 64ビットについて:理解は正しいですが、>〜3,75 GBの> RAM(または> 2 GB /プロセス))が必要にならない場合は、 32ビットバージョンは問題なく使用できますが、新しいバージョンでは、Microsoftが64ビットのみに切り替えたため、インストールする32ビットバージョンはありません。

19
Lenniey

すでに述べたように、64ビットOSをすでに使用しています。 SQL Serverを64ビットバージョンに切り替えることには2つの利点があり、1つの欠点があります。

唯一の欠点は、64ビットバージョンのSQL Serverが64ビットポインターを使用することです。これは、ポインタが2倍のメモリを占有し、2倍のメモリ帯域幅を消費することを意味します。これはかなり無視できる可能性がありますが、欠点です。これは、64ビットアプリケーションに切り替えると、32ビットアプリが64ビットOSの機能にアクセスするために使用する必要がある互換性レイヤーのオーバーヘッドを取り除くことができるという事実によって部分的に補償されます。

主な利点は、時間の経過とともにCPU命令セットに多数の大幅な改善が加えられたことです。 64ビットへの変更に伴って作成されたものもあれば、以前に作成されたものもあります。

しかし、以前に作成されたものであっても、32ビットビルドはそれらの機能を持たないCPUを処理し、検出や複数のインスタンス間の切り替えの煩わしさを回避する必要があり、存在する場所でもそれらを使用しないだけです。たとえば、64ビットCPUにはSSE2が必要ですが、32ビットCPUにはない場合があります。そのため、ほとんどの32ビットコードはチェックを行わず、SSE2を想定していません。 64ビットコードはSSE2命令が存在することが保証されているため、最善のオプションであればそれを使用します。

最大のものは、名前付き汎用レジスターの数が8から16に増えたことです。128ビットXMMレジスターの数も8から16に倍増しました。

さらに、64ビットプロセスは大量の仮想メモリを使用できます。これは、ディスク上の大量の構造化データにアクセスするプロセスで特に重要です。そしてもちろん、64ビット整数演算を使用することもできます。これにより、暗号化、圧縮、さらには大きなファイルシステムでの一部のファイルシステム演算のパフォーマンスが向上する傾向があります。

11
David Schwartz

基本的に:はい。 4ビットのみの更新を行わないと仮定すると、IS 2008年よりも新しい32ビットのSQL Serverでさえあります。

あなたの質問の問題:「64ビットバージョンでは4 GBを超えるRAMへのアクセスが許可されます」-4ではなく3gbにする;)1gbは常に予約されています。

6
TomTom

潜在的な問題:DLL CLRユーザー定義関数(UDF)のライブラリには、64ビットバージョンが必要です。

CLRユーザー定義関数 のライブラリを使用している場合は、ビット互換性がなくなります。 32ビットDLLは一般に64ビットソフトウェアでは使用できず、その逆も同様です。使用している一部のUDFライブラリの64ビットバージョンを取得できない場合、その特定の拡張機能は失われます。

基本的には、32ビットソフトウェアをアドオンとともに64ビットバージョンにアップグレードするのと同じ問題です。また、すべてのアドオンを64ビットバージョンに切り替える必要があります。一般にそれは簡単ですが、問題は取り替えが利用できないところで中止されたものです。

6
miroxlav

パフォーマンス!

ここにはすでにいくつかの技術的な答えがありますが、あまり技術的になりすぎず、アプリケーションによっては、パフォーマンスのアップグレードが表示されるはずです。

主な部分は次のとおりです。

大容量メモリアドレッシング:64ビットアーキテクチャは、直接アドレス可能なより大きなメモリ空間を提供します。 SQL Server 2005(64ビット)は、32ビットシステムの4 GBのメモリ制限の制約を受けません。したがって、複雑なクエリを実行し、重要なデータベース操作をサポートするために、より多くのメモリを使用できます。このより大きな処理能力は、従来の32ビットシステムよりも多くのメモリを利用することにより、I/Oレイテンシのペナルティを軽減します。

強化された並列処理:64ビットアーキテクチャは、高度な並列処理とスレッド化を提供します。並列処理とバスアーキテクチャの改善により、64ビットプラットフォームはより多くのプロセッサ(最大64)をサポートしながら、追加のプロセッサごとにほぼ線形のスケーラビリティを提供します。 SQL Serverは、プロセッサの数が多いほど、単一のシステムでより多くのプロセス、アプリケーション、およびユーザーをサポートできます。

https://teratrax.com/sql-server-64-bit/

32ビットから64ビットのSQL Server(これはSQL Server 2005でした)への移行で私が見た最も劇的な結果は、クライアントの主要なアプリケーションの速度が約40%向上したことです。私たちが行ったのは64ビットのSQL Serverをインストールすることだけで、その他はすべて同じでした!これは、現実の世界でパフォーマンスを大幅に向上させました。

3