web-dev-qa-db-fra.com

Avantages de la mise à niveau de Windows Server 32 bits et SQL Server vers 64 bits?

Supposons que j'ai une boîte Windows Server 32 bits qui exploite plusieurs applications serveur avec un serveur SQL, avec une utilisation RAM d'environ 2 Go aux heures de pointe).

Quels seraient les avantages de la mise à niveau du système d'exploitation Windows Server et de SQL Server vers les versions 64 bits correspondantes, les applications serveur restant en 32 bits? Les versions 64 bits permettent d'accéder à plus de 4 Go de RAM, mais comme 4 Go ne sont pas pleinement utilisés, est-ce que cela rendrait la mise à niveau inutile?

Versions: Windows Server 2008 R2, SQL Server 2008 R2 Datacenter Edition

Merci

13
Someone

Fortement lié: bonnes raisons de conserver les systèmes d'exploitation de bureau Microsoft Windows 32 bits

Vous utilisez un système d'exploitation 64 bits. Server 2008 R2 a été le premier à ne prendre en charge que les processeurs 64 bits.

Les versions "plus récentes" de Windows ne sont même pas conçues pour 32 bits. Vous ne profiterez peut-être de rien, mais il ne devrait y avoir aucun inconvénient. Cela étant dit: mettez quand même à niveau, comme Server 2008 R2 SP1 (que j'espère que vous utilisez) sera en fin de vie du 2020-01-14 .

En ce qui concerne SQL Server 32 bits/64 bits: votre compréhension est correcte, si vous n'avez jamais besoin de> ~ 3,75 Go de RAM (ou> 2 Go par processus), vous pouvez utiliser la version 32 bits sans problème, mais pour les versions plus récentes, il n'y aura pas de version 32 bits à installer, car Microsoft est passé au 64 bits uniquement.

19
Lenniey

Comme déjà indiqué, vous utilisez déjà un système d'exploitation 64 bits. Il y a deux avantages à passer à une version 64 bits de SQL Server et un inconvénient.

Le seul inconvénient est que la version 64 bits de SQL Server utilisera des pointeurs 64 bits. Cela signifie que les pointeurs occuperont deux fois plus de mémoire, consommeront deux fois plus de bande passante mémoire, etc. C'est probablement assez négligeable, mais c'est un inconvénient. Il est partiellement compensé par le fait que le passage à une application 64 bits vous permettra de vous débarrasser de la surcharge de la couche de compatibilité que les applications 32 bits doivent utiliser pour accéder aux fonctions d'un système d'exploitation 64 bits.

L'avantage majeur est que de nombreuses améliorations significatives ont été apportées dans le jeu d'instructions CPU au fil du temps. Certains d'entre eux ont été effectués avec le passage au 64 bits et certains ont été effectués précédemment.

Mais même pour celles faites précédemment, la version 32 bits doit gérer les processeurs qui n'ont pas ces fonctionnalités et pour éviter les tracas de détection et de basculement entre plusieurs instances, ne les utilise tout simplement pas là où ils sont présents. Par exemple, les processeurs 64 bits doivent avoir SSE2, mais pas les processeurs 32 bits. Ainsi, la plupart du code 32 bits ne dérange pas la vérification et ne suppose aucun SSE2. Le code 64 bits est assuré que les instructions SSE2 sont présentes et l'utiliseront donc si c'est la meilleure option.

Le plus important est l'augmentation du nombre de registres à usage général nommés de 8 à 16. Le nombre de registres XMM 128 bits a également été doublé, passant de 8 à 16.

De plus, un processus 64 bits peut utiliser de grandes quantités de mémoire virtuelle. Ceci est particulièrement important avec les processus qui accèdent à de grandes quantités de données structurées sur disque. Et, bien sûr, ils peuvent utiliser des opérations d'entier 64 bits qui ont tendance à améliorer les performances de chiffrement, de compression et même certaines opérations de système de fichiers sur les systèmes de fichiers volumineux.

11
David Schwartz

Fondamentalement: oui. En supposant que vous ne fassiez jamais de mises à jour qui ne sont alors que 4 bits - vous n'êtes pas sûr qu'il y ait même IS un SQL Server 32 bits plus récent que 2008.

Problèmes avec votre question: "Les versions 64 bits permettent d'accéder à plus de 4 Go de RAM", - faites que 3 Go;) pas 4. 1 Go est toujours réservé.

6
TomTom

Problème potentiel: DLL les bibliothèques de fonctions définies par l'utilisateur CLR (UDF) auront besoin de leurs versions 64 bits.

Si vous utilisez une bibliothèque de CLR User-Defined Functions , elle deviendra peu compatible. Les DLL 32 bits ne peuvent généralement pas être utilisées dans les logiciels 64 bits et vice versa. Si vous ne pouvez pas obtenir la version 64 bits d'une bibliothèque UDF que vous utilisez, vous perdrez cette extension spécifique.

Fondamentalement, c'est le même problème que la mise à niveau d'un logiciel 32 bits avec ses modules complémentaires vers sa version 64 bits. Vous devez également basculer tous les modules complémentaires vers leurs versions 64 bits. En général, c'est facile, mais les problèmes sont supprimés lorsque les remplacements ne sont pas disponibles.

6
miroxlav

Performance!

Il existe déjà plusieurs réponses techniques ici, mais sans devenir trop technique, et selon votre application, vous devriez voir une mise à niveau des performances.

Les pièces principales sont:

Grand adressage mémoire: L'architecture 64 bits offre un espace mémoire directement adressable plus important. SQL Server 2005 (64 bits) n'est pas lié par la limite de mémoire de 4 Go des systèmes 32 bits. Par conséquent, davantage de mémoire est disponible pour effectuer des requêtes complexes et prendre en charge les opérations de base de données essentielles. Cette plus grande capacité de traitement réduit les pénalités de latence d'E/S en utilisant plus de mémoire que les systèmes 32 bits traditionnels.

Parallélisme amélioré: L'architecture 64 bits fournit un parallélisme et un filetage avancés. Les améliorations apportées au traitement parallèle et aux architectures de bus permettent aux plates-formes 64 bits de prendre en charge un plus grand nombre de processeurs (jusqu'à 64) tout en offrant une évolutivité presque linéaire avec chaque processeur supplémentaire. Avec un plus grand nombre de processeurs, SQL Server peut prendre en charge plus de processus, d'applications et d'utilisateurs dans un seul système.

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

Les résultats les plus spectaculaires que j'ai vus en passant de SQL Server 32 bits à 64 bits (c'était SQL Server 2005) étaient une augmentation de vitesse d'environ 40% sur l'application principale d'un client. Tout ce que nous avons fait était d'installer le serveur SQL 64 bits, tout le reste était le même! Ce fut un coup de pouce majeur dans les performances du monde réel.

3
yourcomputergenius