<?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>Blog de Dje &#187; Articles</title>
	<atom:link href="https://blog.developpez.com/dje/pcategory/ms-sql-server/articles/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/dje</link>
	<description></description>
	<lastBuildDate>Thu, 31 May 2012 20:33:57 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>Applications don&#8217;t know instances</title>
		<link>https://blog.developpez.com/dje/p11059/ms-sql-server/applications_don_t_know_instances</link>
		<comments>https://blog.developpez.com/dje/p11059/ms-sql-server/applications_don_t_know_instances#comments</comments>
		<pubDate>Thu, 31 May 2012 20:33:57 +0000</pubDate>
		<dc:creator><![CDATA[Ptit_Dje]]></dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[MS SQL Server]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Les applications ont elles besoin de connaitre le nom de l&#8217;instance sur laquelle leur base(s) de données tourne(nt) ? La majorité du temps&#8230; Non! Elles se connectent sur un serveur et un port, retourné la plupart du temps par le Browser SQL Server dans le cas d&#8217;une instance nommée. Il n&#8217;est pas rare de voir l&#8217;utilisation de CNames pour référencer un serveur spécifique pour une application. Un nom logique pour gagner la flexibilité de changer [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Les applications ont elles besoin de connaitre le nom de l&rsquo;instance sur laquelle leur base(s) de données tourne(nt) ?</p>
<p><span id="more-11"></span></p>
<p>La majorité du temps&#8230; Non! Elles se connectent sur un serveur et un port, retourné la plupart du temps par le Browser SQL Server dans le cas d&rsquo;une instance nommée.<br />
Il n&rsquo;est pas rare de voir l&rsquo;utilisation de CNames pour référencer un serveur spécifique pour une application. Un nom logique pour gagner la flexibilité de changer de serveur facilement en déplacant le pointeur du CName.<br />
C&rsquo;est bien mais&#8230; On traine malheureusement toujours le nom de l&rsquo;instance ou le port de l&rsquo;instance comme un boulet dans la configuration de l&rsquo;application.</p>
<p>Reformulons maintenant ceci:</p>
<blockquote><p>Elles se connectent sur un serveur et un port, retourné la plupart du temps par le Browser SQL Server dans le cas d&rsquo;une instance nommée.</p></blockquote>
<p>comme ceci:</p>
<blockquote><p>Elles se connectent sur une combinaison adresse IP/Port (un socket), par défaut sur le port 1433, ou questionnent le browser pour connaitre le port de l&rsquo;instance si 1433 ne répond pas ou si l&rsquo;on a une instance nommée.</p></blockquote>
<p>Cette reformulation prend du sens si l&rsquo;on considère qu&rsquo;un serveur peut répondre à 1 ou N adresses IP et qu&rsquo;une instance SQL peut être configurée pour écouter sur une ou plusieures adresses IP/Port également.<br />
Voici donc comment se débarrasser du nom de l&rsquo;instance dans les chaines de connection des applications en quelques étapes:<br />
&#8211; Demandez, par instance SQL Serveur, une IP dédiée (Voyez avec votre admin network!)<br />
&#8211; Ajoutez l&rsquo;IP dédiée à votre instance SQL aux propriétés IP de la carte réseau de votre serveur. (Control Panel -> Network and Internet -> Network and Sharing Center -> Local Area Connection -> Properties -> Internet Protocol Version 4 (TCP/IPv4) -> Properties -> Advanced -> Add)<br />
<img src="http://blog.developpez.com/media/serverip.jpg" width="314" height="425" alt="Server IP configuration" /><br />
&#8211; Configurer les propriétés TCP/IP de votre instance SQL via SQL Server Configuration Manager:<br />
Listen All -> No<br />
IP 1: Active Yes, Enabled Yes, IP address &#8211; l&rsquo;adresse IP dédiée pour votre instance, TCP Dynamic Port Rien, TCP Port 1433<br />
<img src="http://blog.developpez.com/media/sql_ip1.jpg" width="452" height="299" alt="Listen All - no" /><br />
<img src="http://blog.developpez.com/media/sql_ip2.jpg" width="452" height="299" alt="SQL Server IP Config" /><br />
&#8211; Créez un a-record pointant vers votre adresse IP dédiée.<br />
&#8211; Utilisz ce a-record dans vos applications pour vous connecter à votre instance.</p>
<p>Voila, le tour est joué.<br />
Si vous souhaitez déplacer une base de données d&rsquo;une instance à une autre pour une application en particulier (i.e: server1\instance1 vers server2\instance2), changez uniquement la reférence du a-record pour pointer vers l&rsquo;IP de la nouvelle instance, plus besoin de modifier le nom de l&rsquo;instance ou le port de celle-ci dans la connection string de votre application.<br />
C&rsquo;est un peu comme créer de simuler des instances par défaut avec des instances nommées.</p>
<p>D&rsquo;un point de vue administration, vous pouvez toujours avoir des instances nommées et continuer comme avant <img src="https://blog.developpez.com/dje/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
