<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Cap Data Team SGBD Blog : Oracle, SQL Server, MySQL, Sybase... &#187; installation</title>
	<atom:link href="http://blog.capdata.fr/index.php/tag/installation/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.capdata.fr</link>
	<description>Le blog technique sur les bases de données de CAP DATA Consulting</description>
	<lastBuildDate>Wed, 01 Feb 2012 17:21:53 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Règles d&#8217;installation de base (épisode 2)</title>
		<link>http://blog.capdata.fr/index.php/regles-d%e2%80%99installation-de-base-episode-2/</link>
		<comments>http://blog.capdata.fr/index.php/regles-d%e2%80%99installation-de-base-episode-2/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 09:24:15 +0000</pubDate>
		<dc:creator>David BAFFALEUF</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[installation]]></category>

		<guid isPermaLink="false">https://www.alldb.fr/blogs/?p=223</guid>
		<description><![CDATA[Suite de l&#8217;épisode précédent.
Une fois le matériel commandé, livré, déballé, racké, etc&#8230;, il va falloir installer Windows et SQL Server. Là encore il va falloir regarder certains détails de près :
Paramétrage de Windows Server:
Préparation des disques:
On l&#8217;a dit dans l&#8217;épisode 1, le disque c&#8217;est le nerf de la guerre. Je vais donc apporter un soin [...]]]></description>
			<content:encoded><![CDATA[<p>Suite de l&#8217;épisode <a href="http://blog.capdata.fr/?p=130">précédent</a>.</p>
<p>Une fois le matériel commandé, livré, déballé, racké, etc&#8230;, il va falloir installer Windows et SQL Server. Là encore il va falloir regarder certains détails de près :</p>
<h2>Paramétrage de Windows Server:</h2>
<h3><strong>Préparation des disques</strong>:</h3>
<p>On l&#8217;a dit dans l&#8217;épisode 1, le disque c&#8217;est le nerf de la guerre. Je vais donc apporter un soin particulier à la configuration de mes axes.</p>
<p><strong>Pour placer sur disque une base de données transactionnelle, on essaie de considérer deux règles de base:</strong></p>
<ul>
<li><strong> Toujours séparer physiquement le fichier de données du journal de transactions</strong>: pour deux raisons. La première pour la sécurité des données: si je perds mon disque de données, j&#8217;ai besoin d&#8217;avoir accès au journal pour récupérer les dernières transactions validées mais pas encore prises par le backup log. La seconde pour des raisons de performances: le critère qui pèse le plus dans le temps de service d&#8217;un disque, c&#8217;est le déplacement de la tête au dessus de la bonne piste (<em>seek time</em>). Les accès aux données sont de nature aléatoire et donc augmentent cette latence de recherche. En revanche, les accès sur le journal sont séquentiels, donc limitent le seek time car une fois la tête positionnée sur la bonne piste / bon secteur, elle glisse tranquillement pour lire (recovery) ou écrire (commit / checkpoints) sur les secteurs adjacents. Mélanger les deux, ça plombe les accès au journal, et sur une instance OLTP, on sait que l&#8217;accès en écriture sur le journal est critique car il conditionne le temps de réponse du commit.</li>
</ul>
<ul>
<li><strong>Toujours séparer </strong><strong>physiquement </strong><strong>les données des sauvegardes</strong>: pour une raison évidente de sécurité des données, mais il faut y penser avant d&#8217;avoir un problème. Et par défaut jusqu&#8217;en SQL Server 2005, tout allait dans ~MSSQL\Data et ~MSSQL\Backup.</li>
</ul>
<p><strong>Séparer physiquement</strong>, ça veut dire <strong>PAS</strong> sur les mêmes disques. Ce n&#8217;est pas parce que j&#8217;ai trois lecteurs E:\, F:\ et G:\ que j&#8217;ai trois disques, il faudra le vérifier avec la console de gestion des volumes (diskmgmt.msc) et avec votre ami l&#8217;administrateur système en charge du stockage pour vérifier s&#8217;il ne vous a pas refilé 3 LUNs découpées dans le même diskgroup. Si je reprends mon Proliant DL 580 G5  avec ses 16 slots:</p>
<p style="text-align: center;"><img class="size-full wp-image-326 aligncenter" src="http://blog.capdata.fr/wp-content/uploads/2010/01/proliant4.png" alt="proliant" width="633" height="393" /></p>
<p>Je me paye même le luxe d&#8217;avoir un RAID10 pour placer mes filegroups d&#8217;indexes, comme sur Oracle. Cela dit, la bagarre va être rude parce que tout le monde pense que l&#8217;espace disque est gâché, surtout pour ce qui concerne les journaux de transactions, où on va utiliser peut être 20% de l&#8217;espace alloué. Mais il faut le voir comme un investissement. Vous aurez des temps de service garantis de moins de 4 ms en écriture sur le commit, et le nombre de transactions par seconde va en bénéficier. C&#8217;est une réalité, on voit des exemples de ce type régulièrement chez nos clients. <em> </em></p>
<p>Une fois les axes définis et montrés à la machine, la première chose va être de partitionner le disque en alignant sur le 128ième secteur (=64K), sous diskpart:</p>
<pre><span style="color: #0000ff;">diskpart&gt; create partition primary align=64</span></pre>
<p>Globalement, il faut savoir que jusqu&#8217;en version 2003 incluse, Windows continue de préréserver les 63 premiers secteurs d&#8217;un disque pour y stocker son MBR (master boot record). Lorsque l&#8217;on va formater ensuite le file system en 64K, le premier offset va commencer réellement sur le 63ième secteur et décaler les clusters NTFS de 512 octets (1 secteur). il faut que les écritures de SQL Server (64K) soient alignées avec le début de la partition. Pour davantage d&#8217;infos, voir l&#8217;<a href="http://mikedavem.developpez.com/sqlserver/tutoriels/architecture/">article</a> de David BARBARIN sur le sujet.</p>
<p><strong>En deux étapes:</strong></p>
<ul>
<li>Partitionner le disque en alignant sur le 128ième secteur.</li>
<li>Puis créer un FS en NTFS avec un cluster size de 64K pour les disques de données et de journaux.</li>
</ul>
<p>Il faudra aussi aller vérifier que la politique d&#8217;écriture est bien en write-through au niveau du cache du contrôleur disque. Cet exemple sous OpenManage:</p>
<p style="text-align: center;"><img class="size-full wp-image-333 aligncenter" src="http://blog.capdata.fr/wp-content/uploads/2010/01/openManage_WriteThrough1.jpg" alt="openManage_WriteThrough1" width="427" height="145" /></p>
<h3><strong>Paramètres noyau de Windows pour SQL Server:</strong></h3>
<p>Pas grand chose à faire dans 99% des cas. Il faut valider que le bail (<em>quantum</em> en anglais) par thread est bien de type &#8216;long&#8217; dans les performances avancées de la machine (<em>Poste de Travail -&gt; Properties -&gt; Advanced -&gt; Performance -&gt; Advanced</em>):</p>
<p style="text-align: center;"><img class="size-full wp-image-295 aligncenter" src="http://blog.capdata.fr/wp-content/uploads/2010/01/processsched.png" alt="processsched" width="331" height="111" /></p>
<p>Background services =&gt; chaque thread a le droit de s&#8217;exécuter pendant 12 ticks d&#8217;horloge avant d&#8217;être interrompu par le Dispatcher.  Par défaut sur la gamme Server, le radiobutton doit être sur background services (quantum = 12 ticks d&#8217;horloge) et sur la gamme workstation, sur Programs (quantum = 2 ticks d&#8217;horloge). En général pour tous les SGBD, le quantum doit être plus long pour limiter le nombre de changements de contexte opérés par le système d&#8217;exploitation. Pour plus de détails, voir cet <a href="http://blog.capdata.fr/?p=159">article</a>.</p>
<p>Il faudra aussi aller vérifier que les ressources allouées seront en priorité sur les programmes générant beaucoup d&#8217;IOs comme SQL Server (<em>Connexions réseau, clic-droit sur l&#8217;interface réseau -&gt; Properties-&gt; File and Printer Sharing (et oui !) -&gt; Properties</em>):</p>
<p style="text-align: center;"><img class="size-full wp-image-298 aligncenter" src="http://blog.capdata.fr/wp-content/uploads/2010/01/maximizethroughput.jpg" alt="maximizethroughput" width="381" height="191" /></p>
<p>Maximize throughput for network applications: sous entendu on n&#8217;est pas là pour faire du partage de fichiers.</p>
<p>Et éviter l&#8217;utilisation des antivirus autant que possible.</p>
<h3>Compte de service pour SQL Server et l&#8217;agent:<em> </em></h3>
<p>Le compte de service est le compte déclaré au niveau de la machine ou du domaine pour supporter l&#8217;exécution de SQL Server et l&#8217;ensemble de ses interactions avec le système: poster des IOs, atteindre des machines sur le réseau, écrire dans un fichier de sauvegarde, etc&#8230; Toutes ces actions seront donc exécutées sous le contexte de droits du compte de service.  Dans la plupart des cas, les SQL  Server sont démarrés sous le contrôle des comptes systèmes locaux (LOCAL SYSTEM) avec lesquels sont lancés la plupart des modules de windows exécutés en mode user (smss.exe, crss.exe, lsass.exe, winlogon.exe, etc&#8230;). Et négligence du  DBA, on trouve aussi des SQL Server démarrés sous le compte Administrateur local voire de domaine, ce qui du point de vue sécurité  n&#8217;est pas vraiment l&#8217;idéal.</p>
<p>Et bien depuis la version SQL Server 2005, il n&#8217;y a plus d&#8217;excuse: on créé simplement des comptes utilisateurs locaux ou de domaine sans privilège *** pour SQL Server et SQL Agent (je ne parle pas de SQL Browser puisque du point de vue sécurité, on ne doit pas l&#8217;utiliser **), on les passe ensuite à l&#8217;assistant d&#8217;installation qui créé des groupes avec les droits appropriés, et y intègre les comptes qui héritent du coup des droits strictement nécessaires.</p>
<h2>Éléments à définir avant l&#8217;installation de SQL Server :</h2>
<p>Avant de lancer le setup,il faut réfléchir à quelques éléments caractéristiques de l&#8217;instance que l&#8217;on souhaite installer:</p>
<h3>Instance locale / instance nommée:</h3>
<p>L&#8217;instance locale est l&#8217;instance que l&#8217;on créé par défaut sur une machine. Elle prend par défaut le nom de la machine et le port 1433 attribué par l&#8217;IANA. On ne peut donc en créer qu&#8217;une seule par machine. Ma chaîne de connexion ressemblera à :</p>
<pre><span style="color: #0000ff;">sqlcmd -Udba_exploit -w1000 -S PIXIES </span></pre>
<p>Où PIXIES est le nom de ma machine, et donc le nom de mon instance locale par la même occasion. Maintenant, lorsqu&#8217;on souhaite en installer plus d&#8217;une par machine, on pourra utiliser les instances nommées, dont le nom sera constitué d&#8217;un préfixe (nom de la machine hôte) et d&#8217;un suffixe (nom de l&#8217;instance à choisir) séparés par un backslash (&#8216;\&#8217;). Dans ce cas, ma chaîne de connexion ressemblera à :</p>
<pre><span style="color: #0000ff;">sqlcmd -Udba_exploit -w1000 -S PIXIES\SQL1 </span></pre>
<p>Où SQL1 sera le nom de nom instance nommée. Autre différence majeure, le port de démarrage sera défini dynamiquement. Ce qui signifie qu&#8217;il peut changer entre deux redémarrages, donc problème de firewall à l&#8217;horizon. Pour l&#8217;éviter, il faudra fixer le port de démarrage de l&#8217;instance dans les propriétés TCP, et redémarrer SQL Server. **</p>
<h3>Collation:</h3>
<p>La collation va définir la manière de coder les caractères dans ma base de données. Là aussi le sujet est vaste et largement débattu sur le net. Il faut simplement réfléchir aux types de champs texte que mon application va devoir stocker et choisir le codepage approprié. Il faut essayer de prendre le codepage le plus large possible. Lors de l&#8217;installation en SQL Server 2005, deux types de collations sont proposées: les collations windows et les collations SQL Server. En fait la seconde est incluse pour compatibilité vers les versions précédentes, et ne doit donc être utilisée que pour assurer la compatibilité lors d&#8217;une migration. Il vaut mieux essayer de partir avec une collation Windows dès le départ, elles sont plus riches et plus précises, notamment lorsqu&#8217;on utilise à la fois des colonnes UNICODE et NON-UNICODE, car la collation windows sait convertir du NON-UNICODE à la volée.  Changer la collation à tous niveaux n&#8217;est pas une opération de routine: au niveau de l&#8217;instance, il faudra la reconstruire, au niveau de la base c&#8217;est plus <a title="Changer la collation d'une base" href="http://blog.capdata.fr/?p=222">épique encore.<br />
</a></p>
<h3>Mode d&#8217;authentification:</h3>
<p>Deux solutions:</p>
<ul>
<li><em><strong>Le mode intégré</strong></em>: l&#8217;authentification se fait par une autorité telle qu&#8217;un contrôleur de domaine ou la machine locale. Avantage, SQL Server ne stocke pas de mot de passe, côté sécurité c&#8217;est la meilleure option. Inconvénient, lorsqu&#8217;on souhaite atteindre depuis son application cliente une instance qui n&#8217;est pas dans le même domaine, ou simplement une machine en workgroup, l&#8217;authentification intégrée ne fonctionnera pas.</li>
<li><em><strong>Le mode mixte:</strong></em> donc on sera obligé de permettre aussi de créer et d&#8217;utiliser  des comptes et des mots de passe dans SQL Server. En mode mixte, on se connecte soit avec un compte windows, soit avec un compte SQL Server.</li>
</ul>
<p>Les bonnes pratiques de sécurité préconisent de rester en mode intégré, mais ce n&#8217;est n&#8217;est bien souvent pas très pratique, et donc pas appliqué. Il vaut mieux autoriser le mode mixte mais désactiver le compte sa, et faire appliquer la politique de mots de passe de Windows.</p>
<p>Une fois ces étapes validées, l&#8217;installation peut commencer. Le travail de préparation est terminé.</p>
<p>A bientôt !</p>
<p><em><strong>* </strong>Dans cet exemple, on choisit de faire les backups sur un partage CIFS</em><br />
<em><strong>** </strong>Je ne parle pas de sécurité dans cet article, le sujet est vaste et fera l&#8217;objet d&#8217;un prochain post.<br />
<strong>*** </strong>Penser à cocher le compte n&#8217;expire jamais pour les comptes de service. </em></p>
<p>[ David B. ]</p>
<p><script type="text/javascript" src="http://tcr.tynt.com/javascripts/Tracer.js?user=d4FlbGI04r35lZadbi-bpO"></script><strong>Continuez votre lecture sur le blog :</strong>
<ul class="similar-posts">
<li><a href="http://blog.capdata.fr/index.php/modes-de-recuperation-et-journal-de-transactions-episode-2/" rel="bookmark" title="11 décembre 2008">Modes de récupération et journal de transactions, épisode 2</a> (David BAFFALEUF) [SQL Server]</li>
<li><a href="http://blog.capdata.fr/index.php/scripting-et-smo-suite-scripter-les-objets-directement-en-t-sql/" rel="bookmark" title="3 août 2010">Scripting et SMO (suite): scripter les objets directement en T-SQL</a> (David BAFFALEUF) [SQL Server]</li>
<li><a href="http://blog.capdata.fr/index.php/formation-optimisation-de-requetes/" rel="bookmark" title="22 septembre 2010">Formation Optimisation de requêtes</a> (David BAFFALEUF) [SQL Server]</li>
<li><a href="http://blog.capdata.fr/index.php/insert-et-update-en-une-seule-fois-cest-possible-merge/" rel="bookmark" title="26 mars 2010">Insert et Update en une seule fois avec MERGE</a> (Guillaume DEFENDINI) [SQL Server]</li>
<li><a href="http://blog.capdata.fr/index.php/openrowset-episode-1/" rel="bookmark" title="13 juillet 2011">OPENROWSET, épisode 1</a> (David BAFFALEUF) [SQL Server]</li>
</ul>
<p><!-- Similar Posts took 3.084 ms -->
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fregles-d%25e2%2580%2599installation-de-base-episode-2%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fregles-d%25e2%2580%2599installation-de-base-episode-2%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.capdata.fr/index.php/regles-d%e2%80%99installation-de-base-episode-2/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Règles d&#8217;installation de base (épisode 1)</title>
		<link>http://blog.capdata.fr/index.php/sql-server-regles-dinstallation-de-base-episode-1/</link>
		<comments>http://blog.capdata.fr/index.php/sql-server-regles-dinstallation-de-base-episode-1/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 10:32:12 +0000</pubDate>
		<dc:creator>David BAFFALEUF</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[installation]]></category>

		<guid isPermaLink="false">https://www.alldb.fr/blogs/?p=130</guid>
		<description><![CDATA[C&#8217;est par là qu&#8217;on commence&#8230; à faire des bêtises en général. SQL Server, c&#8217;est facile, on clique, suivant, suivant et hop c&#8217;est fini.
Hélas, ce n&#8217;est pas plus facile qu&#8217;un autre SGBD. C&#8217;est juste plus facile de se tromper. Voici quelques règles de bases lorsqu&#8217;on s&#8217;apprête à installer un SQL Server en production. Episode 1: le [...]]]></description>
			<content:encoded><![CDATA[<p>C&#8217;est par là qu&#8217;on commence&#8230; à faire des bêtises en général. SQL Server, c&#8217;est facile, on clique, suivant, suivant et hop c&#8217;est fini.</p>
<p>Hélas, ce n&#8217;est pas plus facile qu&#8217;un autre SGBD. C&#8217;est juste plus facile de se tromper. Voici quelques règles de bases lorsqu&#8217;on s&#8217;apprête à installer un SQL Server en production. Episode 1: le matériel.</p>
<p><strong>1) La machine: physique ou virtuelle ? </strong><br />
Le gros débat des mois à venir. Même si la plupart des clients vont conserver des machines physiques pour leurs bases critiques, il y aura des bases de prod, uat, dev, qualif moins critiques qui seront virtualisées.<br />
Les constructeurs (Dell, HP,&#8230;) sortent de plus en plus des chassis dédiés à la virtualisation, avec ESXi embarqué. La virtualisation est (heureusement ? maheureusement ?) un train en marche, et plutôt que de freiner des quatre fers, posons-nous la question &laquo;&nbsp;comment virtualiser&nbsp;&raquo;, parce qu&#8217;il ne faut pas se voiler la face, on va y venir de toutes façons, ce n&#8217;est qu&#8217;une question de temps. HYPER-V et ESX sont tous les deux de bons concurrents, et ESX est annoncé compatible avec les produits MS. La combinaison des technos aujourd&#8217;hui (full virtualisation + assistance matérielle) fait que l&#8217;overhead de performances se réduit de plus en plus (on est quasiment en CPU-direct sur les Intel-VT et les AMD-V). Je penche personnellement pour le raw device mapping, une assistance matérielle CPU et une  configuration mémoire appropriée. Dans quelques temps nous aurons un ESX ou deux et nous pourrons tester tout ça.</p>
<p><strong>2) Admettons, machine physique:<br />
</strong><strong>LE PRIX ! </strong>Franchement les configurations à moins de 8000€ sont assez répandues et fiables. Je pense au HP Proliant DL 580 G5 (2&#215;4 Xeon 3Ghz, 4Gb RAM, 2 cartes 1ge et 16 slots disque pour $7600) ou au très populaire Dell PowerEdge 2950 III (même config mais avec seulement 6 slots disques pour $3600).</p>
<p><strong>DEDIEE/MUTUALISEE: </strong>en fonction des moyens. Mais idéalement il faut une machine dédiée. Les petits budgets vont faire tourner IIS et SQL Server sur la même machine, et d&#8217;expérience, c&#8217;est un mauvais calcul. Il vaut mieux investir un peu plus dans deux machines, et on aura moins de soucis ensuite.<br />
<strong><br />
CPU: </strong>le plus de cores il a sous le coude, et le mieux il se porte, SQL Server. Il est multithreadé, il sait parralléliser ses traitements. Evidemment il faut partir directement en 64 bits (EM64T, IA64, AMD64). Attention les éditeurs commencent à revoir leur politique de licence par socket, ils perdaient trop d&#8217;argent avec les hexacores et certains commencent à limiter à 6 cores par socket. Et attention à ne pas activer l&#8217;hyperthreading sur les machines SQL Server.<br />
<strong><br />
MEMOIRE: </strong>Oublier le 32 bits, la version 2008 de Windows Server sera la dernière à être proposée dans ce mode. En 64 bits, et avec le prix de la DDR2, il ne faut pas lésiner. C&#8217;est encore plus important que la CPU. Plus le cache de données est gros, moins SQL Server fera de lectures physiques.<br />
<strong><br />
RESEAU</strong>: Ca dépend. Je suis intervenu chez un client DRM il y a quelques temps et là le réseau c&#8217;était VRAIMENT crucial. Ca va le devenir de plus en plus avec FILESTREAM, la spatialisation, la vidéo HD, le plus de données on stocke, et le plus de données on va faire transiter. Les cartes et les core switches en 10Ge sont là, les Jumbo Frames, donc tout ça suit derrière. Le réseau entre systèmes Production / Secours est aussi crucial (Database mirroring, réplication). Nous avons un client en database mirroring 2005 qui avait installé un lien 100Mb entre ses deux sites, il va passer en fibre car il a de plus en plus de choses à faire passer sur le lien en plus du streaming lié au DB mirroring (sauvegardes, recopies de fichiers, etc&#8230;). Autre exemple, un client qui a une réplication transactionnelle entre Frankfort et Londres, le lien est vraiment très lent, et la resynchro de répli (34Gb) se fait en moyenne en 10-12 heures.<br />
Mais si l&#8217;application est codée en procédures stockées, que la quantité de données qui transite n&#8217;est pas importante et que SQL server est standalone, alors une carte 100Mb/s devrait faire l&#8217;affaire.<br />
<strong><br />
DISQUES: </strong>tout le monde ne peut pas se payer un SAN, je pense aux petites PME du web avec 1 machine serveur, un IIS  et une base de données de production, avec des moyens modestes. Donc on va considérer deux configurations: les disques internes pour les petits, et le stockage en réseau pour les riches et la classe moyenne.<br />
<em><strong> &#8211; DISQUES INTERNES</strong>:</em> choisir du SAS en 15KRPM. Le disque pour la base de données, c&#8217;est le nerf de la guerre. Le HP DL580 G5 avec ses 16 slots est parfait, il permet de faire trois RAID10 (data, log, backup) et un RAID1 (système) et de garder deux slots de spare. Il faudra vérifier au niveau de l&#8217;interface du contrôleur SAS que celui-ci est bien sur batterie et que celle-ci est valide, et que la politique est en write-through, c&#8217;est à dire que le cache du contrôleur n&#8217;est pas utilisé en écriture. Les disques SAS 73 Gb 15KRPM sont à 330€ chez Dell en 2&#8242;5, ça ne vaut pas le coup de se priver.<br />
<strong><em>- STOCKAGE RESEAU</em>: </strong>ne pas utiliser de NAS au sens strict (attachement réseau), pas de CIFS, ce n&#8217;est pas supporté de base par SQL Server. Il faut que les disques soient vus comme des disques locaux, donc soit une baie avec un attachement direct, soit un SAN. Pour les riches, le SAN en fibre channel est à privilégier. Pour la classe moyenne, le iSCSI est un bon moyen de faire du SAN à moindre coût, à la condition d&#8217;utiliser sur la machine hôte un initiateur matériel et non logiciel, c&#8217;est à dire une carte 1Ge qui soit compatible TSO (TCP Segmentation Offload, calcul de la pile TCP déchargée du CPU hôte), et que le réseau soit dédié au stockage. Pour les disques SAN, même politique que les disques internes. Au niveau du choix de la baie, il faut regarder plusieurs choses: Le nombre de storage processors (va déterminer le multiplexage des entrées, il en faut au moins 2), la  taille du cache par storage processor et non en globalité, le nombre de slots pour les disques, la capacité globale.  Le plus important c&#8217;est la taille du cache par SP.  Si les caches entre SP sont mirrorés l&#8217;un sur l&#8217;autre, on perd la moitié de la capacité  mémoire, si la baie est mirorrée sur une autre, on perd encore car le soft de miroir utilise des buffers dans le cache de chaque SP.  Ensuite, il faut voir comment le cache est partitionné entre les lectures et les écritures. Le plus souvent, c&#8217;est fait à la louche pour des systèmes majoritairement en lecture, mais attention à ne pas négliger les écritures en transactionnel. Un cache en écriture plein, et les queues se remplissent au niveau des SP, on observe des outstanding IOs côté SQL Server et c&#8217;est rapidement la cata.</p>
<p>Il paraît que je fais des articles trop longs, donc ce sera tout pour aujourd&#8217;hui <img src='http://blog.capdata.fr/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
Prochain épisode, l&#8217;installation Windows et les prérequis SQL Server.</p>
<p>A+ [ David B. ]</p>
<p> <script type="text/javascript" src="http://tcr.tynt.com/javascripts/Tracer.js?user=d4FlbGI04r35lZadbi-bpO"></script><strong>Continuez votre lecture sur le blog :</strong>
<ul class="similar-posts">
<li><a href="http://blog.capdata.fr/index.php/mythe-torn-page-detection-est-moins-couteux-que-checksum/" rel="bookmark" title="1 septembre 2010">Mythe: TORN PAGE DETECTION est moins coûteux que CHECKSUM</a> (David BAFFALEUF) [SQL Server]</li>
<li><a href="http://blog.capdata.fr/index.php/point-in-time-recovery-et-fn_dump_dblog/" rel="bookmark" title="13 juillet 2011">Point-in-time recovery et fn_dump_dblog()</a> (David BAFFALEUF) [SQL Server]</li>
<li><a href="http://blog.capdata.fr/index.php/un-trigger-fait-il-parti-dune-transaction/" rel="bookmark" title="30 mars 2010">Un trigger fait-il parti d&#8217;une transaction ?</a> (Cédric PEINTRE) [GénéralMySQLOracleSQL ServerSybase]</li>
<li><a href="http://blog.capdata.fr/index.php/attention-aux-requetes-en-double-avec-windev-et-mysql/" rel="bookmark" title="15 juillet 2010">Attention aux requêtes en double avec Windev et MySQL !</a> (Cédric PEINTRE) [MySQL]</li>
<li><a href="http://blog.capdata.fr/index.php/mythe-sql-server-associe-un-thread-a-chaque-connexion/" rel="bookmark" title="1 août 2010">Mythe: SQL Server associe un thread à chaque connexion</a> (David BAFFALEUF) [SQL Server]</li>
</ul>
<p><!-- Similar Posts took 3.251 ms -->
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fsql-server-regles-dinstallation-de-base-episode-1%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fsql-server-regles-dinstallation-de-base-episode-1%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.capdata.fr/index.php/sql-server-regles-dinstallation-de-base-episode-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

