<?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>Gabriel Rodriguez Plancarte &#187; SQL Server</title>
	<atom:link href="http://gabrielrodriguez.net/tag/sql-server/feed/" rel="self" type="application/rss+xml" />
	<link>http://gabrielrodriguez.net</link>
	<description>Tecnologia, Diseño, Negocios y Desarrollo</description>
	<lastBuildDate>Sun, 05 Sep 2010 22:08:46 +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>Aliases de conexion en SQL Server</title>
		<link>http://gabrielrodriguez.net/aliases-de-conexion-en-sql-server/</link>
		<comments>http://gabrielrodriguez.net/aliases-de-conexion-en-sql-server/#comments</comments>
		<pubDate>Sun, 12 Jul 2009 01:38:54 +0000</pubDate>
		<dc:creator>Gabriel</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://gabrielrodriguez.net/?p=385</guid>
		<description><![CDATA[Un Alias de SQL es un nombre alternativo que se utiliza para realizar una conexion a un servidor de SQL Server. El alias encapsula los elementos requeridos de un string de conexion (como protocolo, puerto, hostname o ip), y los encapsula con un nombre escogido por el usuario.
El alias de SQL es algo similar o [...]]]></description>
			<content:encoded><![CDATA[<p>Un <strong>Alias de SQL </strong>es un <strong>nombre alternativo que se utiliza para realizar una conexion</strong> a un servidor de SQL Server. El alias <strong>encapsula los elementos requeridos de un string de conexion</strong> (como protocolo, puerto, hostname o ip), y los encapsula con un nombre escogido por el usuario.</p>
<p>El alias de SQL es algo<strong> similar o equivalente a un ODBC para Windows</strong>, excepto que el alcance del alias es solamente en aplicaciones relacionadas con SQL, es decir, no podríamos hacer un ping al alias desde una ventana de DOS.</p>
<p>En algunos comentarios leí que si en el campo de <strong>Server Name </strong>utilizamos el numero de IP directamente, en lugar del hostname (reverse DNS), podemos agilizar un poco la conexion debido al ahorro del dns lookup.</p>
<p>Ahora si, hay dos maneras de agregar un Alias de SQL:</p>
<ol>
<li>SQL Server Client Network Utility (<strong>cliconfg</strong>)</li>
<li>SQL Server Configuration Manager</li>
</ol>
<p>Por simplicidad yo siempre uso la primera, <strong>cliconfg</strong>. Los pasos para <strong>agregar un alias</strong> usando la Client Network Utility son:</p>
<ol>
<li> Start -&gt; Run</li>
<li>Teclear &#8220;<strong>cliconfg</strong>&#8221; -&gt; Enter</li>
<li>Ir al tab de Alias &#8220;<strong>Add</strong>&#8220;</li>
<li>LLenar los datos (Server Alias, Protocolo, etc)</li>
<li>Click en OK.</li>
</ol>
<p><strong>Figura 1: Dialogo principal de la SQL Server Client Network Utility</strong></p>
<div id="attachment_386" class="wp-caption aligncenter" style="width: 556px"><a href="http://gabrielrodriguez.net/wp-content/uploads/2009/07/cliconfg.png"><img class="size-full wp-image-386" title="SQL Server Client Network Utility (cliconfg)" src="http://gabrielrodriguez.net/wp-content/uploads/2009/07/cliconfg.png" alt="SQL Server Client Network Utility (cliconfg)" width="546" height="354" /></a><p class="wp-caption-text">SQL Server Client Network Utility (cliconfg)</p></div>
<p><strong>Figura 2: Dialogo de Nuevo Alias de la SQL Server Client Network Utility</strong></p>
<div id="attachment_388" class="wp-caption aligncenter" style="width: 610px"><a href="http://gabrielrodriguez.net/wp-content/uploads/2009/07/AddSQLServerAlias1.png"><img class="size-full wp-image-388" title="Nuevo SQL Alias usando cliconfg" src="http://gabrielrodriguez.net/wp-content/uploads/2009/07/AddSQLServerAlias1.png" alt="Nuevo SQL Alias usando cliconfg" width="600" height="319" /></a><p class="wp-caption-text">Nuevo SQL Alias usando cliconfg</p></div>
<p>El ejecutable <strong>cliconfg.exe </strong>está en el directorio de Windows\System32, y como el folder de System32 está en las variables de ambiente de Windows, podemos simplemente teclear el nombre del ejecutable desde cualquier lugar y lo reconocerá. <strong>Cliconfg.exe viene pre-instalado desde Windows 2000</strong>, así que nos permite agregar aliases de SQL sin instalar las SQL Server Client Tools.</p>
<p>La segunda manera de consultar los Aliases existentes, y de agregar nuevos, es usando el <strong>SQL Server Configuration Manager.</strong></p>
<p>Para acceder al SSCM los pasos son:</p>
<ol>
<li> Start &#8211; &gt; Run.</li>
<li>Teclear &#8220;<strong>compmgmt.msc</strong>&#8221; -&gt; Enter.</li>
<li>En el arbol del lado izquierdo, escoger &#8220;<strong>Services and Applications</strong>&#8220;.</li>
<li>Escoger &#8220;<strong>SQL Server Configuration Manager</strong>&#8220;.</li>
<li>Escoger &#8220;<strong>SQL Native Client Configuration</strong>&#8220;.</li>
<li>Escoger &#8220;<strong>Aliases</strong>&#8220;.</li>
</ol>
<p><strong>Figura 3: Pantalla principal del SQL Server Configuration Manager</strong></p>
<p style="text-align: center;">
<div id="attachment_387" class="wp-caption aligncenter" style="width: 708px"><a href="http://gabrielrodriguez.net/wp-content/uploads/2009/07/SQLServerConfigurationManagement.png"><img class="size-full wp-image-387 " title="SQL Server Configuration Management  - Aliases" src="http://gabrielrodriguez.net/wp-content/uploads/2009/07/SQLServerConfigurationManagement.png" alt="SQL Server Configuration Management  - Aliases" width="698" height="305" /></a><p class="wp-caption-text">SQL Server Configuration Management  - Aliases</p></div>
<p style="text-align: left;">Para agregar un alias nuevo usando el SQL Server Configuration Manager, simplemente hay que escoger la opcion &#8220;<strong>New Alias</strong>&#8221; del menú &#8220;<strong>Action</strong>&#8220;, y llenar los datos del diálogo.</p>
<p style="text-align: left;"><strong>Figura 4: Dialogo de Nuevo Alias usando SQL Server Configuration Manager</strong></p>
<p style="text-align: left;">
<div id="attachment_390" class="wp-caption aligncenter" style="width: 414px"><a href="http://gabrielrodriguez.net/wp-content/uploads/2009/07/AddSQLServerAlias2.png"><img class="size-full wp-image-390" title="Nuevo Alias SLQ usando SQL Server Configuration Manager" src="http://gabrielrodriguez.net/wp-content/uploads/2009/07/AddSQLServerAlias2.png" alt="Nuevo Alias SLQ usando SQL Server Configuration Manager" width="404" height="447" /></a><p class="wp-caption-text">Nuevo Alias SLQ usando SQL Server Configuration Manager</p></div>
<p style="text-align: left;">Por cierto, <strong>la unica ventaja del SQL Server Configuration Manager</strong> sobre la Client Network Utility, es que <strong>permite exportar la lista de Aliases a un archivo de texto</strong>, a través del menú &#8220;<strong>Action</strong>&#8220;, escogiendo &#8220;<strong>Export List</strong>&#8220;.</p>
<p style="text-align: left;">Una vez agregado el alias, <strong>podemos utilizarlo en el dialogo de conexion del SQL Server Management Studio</strong>, por ejemplo, y solamente teclear el nombre del alias, en lugar del hostname o ip y el puerto, en caso de que antes fuera requerido.</p>
<p style="text-align: left;">
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://gabrielrodriguez.net/aliases-de-conexion-en-sql-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como obtener el valor default de una columna en SQL Server usando T-SQL</title>
		<link>http://gabrielrodriguez.net/como-obtener-el-valor-default-de-una-columna-en-sql-server-usando-t-sql/</link>
		<comments>http://gabrielrodriguez.net/como-obtener-el-valor-default-de-una-columna-en-sql-server-usando-t-sql/#comments</comments>
		<pubDate>Wed, 11 Feb 2009 07:16:49 +0000</pubDate>
		<dc:creator>Gabriel</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[INFORMATION_SCHEMA]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://gabrielrodriguez.net/?p=137</guid>
		<description><![CDATA[Hoy alguien de mi equipo de trabajo me preguntó como se podía comparar los valores de una columna para cada row contra el valor default de esa columna.
Después de probar un rato en el Management Studio, aprendí que se puede utilizar las vistas de INFORMATION_SCHEMA para obtener información de metadata sobre objetos en SQL Server.
Solo [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_43" class="wp-caption aligncenter" style="width: 373px"><img class="size-full wp-image-43" title="SQL Server" src="http://gabrielrodriguez.net/wp-content/uploads/2008/12/sql-server-2008.gif" alt="SQL Server" width="363" height="75" /><p class="wp-caption-text">SQL Server</p></div>
<p>Hoy alguien de mi equipo de trabajo me preguntó como se podía comparar los valores de una columna para cada row contra el valor default de esa columna.</p>
<p>Después de probar un rato en el Management Studio, aprendí que <strong>se puede utilizar las vistas de INFORMATION_SCHEMA para obtener información de metadata sobre objetos en SQL Server</strong>.</p>
<p>Solo para aclarar&#8230;esto seguramente se puede hacer usando la tabla <strong>sysobjects </strong>de SQL Server, pero quería hacerlo de una manera más legible.</p>
<p>El query para obtener el valor default de una columna de alguna tabla es:</p>
<pre class="brush: sql;">

SELECT COLUMN_DEFAULT
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Vendedor'
AND COLUMN_NAME = 'CodigoPais'</pre>
<p>Un dato muy importante es que estas vistas (<strong>INFORMATION_SCHEMA</strong>) se crearon para apegarse al <strong>estándar SQL-92</strong>, con el objetivo de proveer meta-datos sobre los objetos de la base de datos.</p>
<p>Me dió gusto el haber investigado otra alternativa a sysobjects, porque esta investigación me hizo darme cuenta que el <strong>realizar mis queries para obtener meta-data usando INFORMATION_SCHEMA en lugar de SYSOBJECTS hace que mis queries sean portables</strong>, en lugar de estar limitados a SQL Server solamente, o incluso considerando también el escenario en que Microsoft decidiera cambiar la estructura de <strong>SYSOBJECTS </strong>de alguna manera que afectara mis queries.</p>
<p>Hay varias vistas de INFORMATION_SCHEMA. Para este escenario solo usé la de Columns, pero hay más, por ejemplo:</p>
<ul>
<li>CHECK_CONSTRAINTS</li>
<li>REFERENTIAL_CONSTRAINTS</li>
<li>COLUMN_DOMAIN_USAGE</li>
<li>ROUTINES</li>
<li>COLUMN_PRIVILEGES</li>
<li>ROUTINE_COLUMNS</li>
<li>COLUMNS</li>
<li>SCHEMATA</li>
<li>CONSTRAINT_COLUMN_USAGE</li>
<li>TABLE_CONSTRAINTS</li>
<li>CONSTRAINT_TABLE_USAGE</li>
<li>TABLE_PRIVILEGES</li>
<li>DOMAIN_CONSTRAINTS</li>
<li>TABLES</li>
<li>DOMAINS</li>
<li>VIEW_COLUMN_USAGE</li>
<li>KEY_COLUMN_USAGE</li>
<li>VIEW_TABLE_USAGE</li>
<li>PARAMETERS</li>
<li>VIEWS</li>
</ul>
<p>Les dejo la siguiente liga a un artículo del SQL Server Development Center de Microsoft, donde explican más detalles de las vistas de INFORMATION_SCHEMA, y a otro artículo que da información general referente a estas.</p>
<p><a title="Information_Schema Views - SQL Server Development Center" href="http://msdn.microsoft.com/en-us/library/ms186778(SQL.90).aspx">INFORMATION_SCHEMA Views</a></p>
<p><a title="Informacion general sobre INFORMATION_SCHEMA" href="http://www.devx.com/getHelpOn/10MinuteSolution/20561">INFORMATION_SCHEMA &#8211; A map to your database</a></p>
]]></content:encoded>
			<wfw:commentRss>http://gabrielrodriguez.net/como-obtener-el-valor-default-de-una-columna-en-sql-server-usando-t-sql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como cambiar el directorio default para respaldos de bases de datos en SQL Server 2005</title>
		<link>http://gabrielrodriguez.net/como-cambiar-el-directorio-default-para-respaldos-de-bases-de-datos-en-sql-server-2005/</link>
		<comments>http://gabrielrodriguez.net/como-cambiar-el-directorio-default-para-respaldos-de-bases-de-datos-en-sql-server-2005/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 07:43:39 +0000</pubDate>
		<dc:creator>Gabriel</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://gabrielrodriguez.net/?p=123</guid>
		<description><![CDATA[Casi todos los días realizo un respaldo de la base de datos de una aplicación a la que le doy mantenimiento. La mayoría de la gente ya conoce el exageradamente sencillo proceso de dar click derecho sobre la base de datos que queremos respaldar, elegir la opción Tasks -&#62;Backup, la cual nos presenta el siguiente [...]]]></description>
			<content:encoded><![CDATA[<p>Casi todos los días realizo un <strong>respaldo de la base de datos</strong> de una aplicación a la que le doy mantenimiento. La mayoría de la gente ya conoce el exageradamente sencillo proceso de dar click derecho sobre la base de datos que queremos respaldar, elegir la opción <strong>Tasks -&gt;Backup</strong>, la cual nos presenta el siguiente diálogo.</p>
<div id="attachment_124" class="wp-caption aligncenter" style="width: 530px"><a href="http://gabrielrodriguez.net/wp-content/uploads/2009/02/sqlbackup.png"><img class="size-full wp-image-124" title="Como cambiar el directorio default para respaldos de bases de datos en SQL Server 2005" src="http://gabrielrodriguez.net/wp-content/uploads/2009/02/sqlbackup.png" alt="Como cambiar el directorio default para respaldos de bases de datos en SQL Server 2005" width="520" height="466" /></a><p class="wp-caption-text">Como cambiar el directorio default para respaldos de bases de datos en SQL Server 2005</p></div>
<p>Ahora, si solo mantuviéramos un archivo de respaldo, la ubicación y nombre del archivo default tal vez estarían bien. El problema, para mí, es que yo guardo cada archivo de respaldo histórico en una estructura de tipo</p>
<p>D:\Proyecto\DatabaseBackup\fechaCompleta.bak</p>
<p>Por lo cual, si en el dialogo selecciono la opción de <strong>Remove</strong>, y luego la opción de <strong>Add</strong>, el <strong>directorio default para el respaldo de la base de datos </strong>se reinicia al default, que es algo así como el siguiente (puede variar según la instalación que cada quien haya hecho)</p>
<p><strong>C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data</strong></p>
<p>En mi opinión <strong>es desesperante tener que elegir el directorio en el que quiero guardar mi respaldo cada vez que realizo uno</strong>. Intenté revisar las opciones disponibles en <strong>Tools -&gt; Options</strong> y no encontré ningún setting para poder definir el directorio default a la hora de hacer un respaldo.</p>
<p>En algún lugar tenia que estar configurable ese setting, al menos para que el mismo SQL Server lo accesara, mi primer suposición fue la <strong>registry de Windows</strong>, y después de 5 minutos, Google confirmó.</p>
<p>Si abren la registry de Windows (Start -&gt; Run -&gt; regedit) y navegan hacia la llave</p>
<p>Para Windows 32 bits:</p>
<p><strong>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer</strong></p>
<p>Para Windows 64 bits:</p>
<p><strong>HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SQL  Server\MSSQL.1\MSSQLServer</strong></p>
<p><strong> </strong>Ahi está la llave <strong>BackupDirectory</strong>, a la cual se le puede modificar el valor a lo que ustedes quieran. Después, al momento de realizar un nuevo backup, solamente hay que modificar el nombre del archivo (si acaso se desea) y listo, no se pierde más tiempo en navegar hasta el folder correcto cada vez que se hace un respaldo.</p>
<p>Espero les sirva.</p>
]]></content:encoded>
			<wfw:commentRss>http://gabrielrodriguez.net/como-cambiar-el-directorio-default-para-respaldos-de-bases-de-datos-en-sql-server-2005/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Licencia de SQL Server 2008 por 50 dolares</title>
		<link>http://gabrielrodriguez.net/licencia-de-sql-server-2008-por-50-dolares/</link>
		<comments>http://gabrielrodriguez.net/licencia-de-sql-server-2008-por-50-dolares/#comments</comments>
		<pubDate>Sun, 11 Jan 2009 08:57:40 +0000</pubDate>
		<dc:creator>Gabriel</dc:creator>
				<category><![CDATA[Bases de Datos]]></category>
		<category><![CDATA[Desarrollo de Software]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL Server 2008]]></category>

		<guid isPermaLink="false">http://gabrielrodriguez.net/?p=50</guid>
		<description><![CDATA[Hace varios dias, leyendo feeds de Google Reader, me entere que la version Developer de Microsoft SQL Server 2005 o 2008 cuesta solamente $50 dolares.
Las features de la version Developer son exactamente las mismas que la de la edicion Standard, la unica diferencia entre estas dos ediciones es el licenciamiento, ya que la version Developer [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_52" class="wp-caption aligncenter" style="width: 373px"><img class="size-full wp-image-52" title="Microsoft SQL Server 2008" src="http://gabrielrodriguez.net/wp-content/uploads/2009/01/sql-server-2008.gif" alt="Microsoft SQL Server 2008" width="363" height="75" /><p class="wp-caption-text">Microsoft SQL Server 2008</p></div>
<p>Hace varios dias, leyendo feeds de Google Reader, me entere que la <strong>version Developer de Microsoft SQL Server 2005 o 2008 cuesta solamente $50 dolares</strong>.</p>
<p><strong>Las features de la version Developer son exactamente las mismas que la de la edicion Standard</strong>, la unica diferencia entre estas dos ediciones es el <strong>licenciamiento</strong>, ya que la version Developer <strong>no puede ser usada para instalarse en servidores de produccion</strong>.</p>
<p>Creo que esta es una <strong>buena estrategia por parte de Microsoft</strong> para recuperar un poco de las perdidas por pirateria, ya que antes de que existiera esta version, me imagino que para muchas de las pequeñas compañias de Desarrollo de Software era muy dificil pagar varias las licencias de tipo Enterprise o Standard, que cuestan entre 2300 y 6000 dolares, para que sus desarrolladores las tuvieran instaladas en sus computadoras.</p>
<p>Claro, tambien existe la <strong>version Express</strong> de SQL Server 2008, que es <strong>totalmente gratis</strong>, y las unicas <strong>dos limitantes</strong> fuertes son que <strong>la Engine solo utilizara 1 GB de RAM</strong> y que el <strong>tamaño de archivo maximo para cada base de datos es de 4 GB</strong>, pero para los freelancers que hagan desarrollos ocasionales en .NET, o que trabajen con clientes pequeños, dificilmente tendran que trabajar con bases de datos mayores a 4 GB.</p>
<p>Es por esto que <strong>la version Developer es una buena opcion para las empresas de Desarrollo de Software.</strong> Es muy factible que estas pequeñas empresas si tengan que trabajar con bases de datos grandes y la version Express no llene sus necesidades, pero aun asi, <strong>$50 dolares se me hace un muy buen precio</strong>, incluso si no existiera la version Express.</p>
<p>Ligas relacionadas:</p>
<ul>
<li><a title="SQL Server 2008 Express - version gratuita" href="http://www.microsoft.com/sqlserver/2008/en/us/express.aspx" target="_self">SQL Server 2008 Express (Version gratuita)</a></li>
<li><a title="SQL Server 2008 Developer" href="http://www.microsoft.com/products/info/product.aspx?view=22&amp;pcid=3895409a-4dca-43fa-8f76-c16cd32e79a0&amp;crumb=catpage&amp;catid=515c9859-958b-4433-b4f9-91f37258ca2f" target="_self">SQL Server 2008 Developer (Costo: $50 dolares)</a></li>
<li><a title="Comparativa entre todas las ediciones de Microsoft SQL Server 2008" href="http://www.microsoft.com/sqlserver/2008/en/us/editions.aspx" target="_self">Comparativa entre ediciones de SQL Server 2008</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://gabrielrodriguez.net/licencia-de-sql-server-2008-por-50-dolares/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Nueva vulnerabilidad de SQL Server: sp_replwritetovarbin</title>
		<link>http://gabrielrodriguez.net/nueva-vulnerabilidad-de-sql-server-sp_replwritetovarbin/</link>
		<comments>http://gabrielrodriguez.net/nueva-vulnerabilidad-de-sql-server-sp_replwritetovarbin/#comments</comments>
		<pubDate>Thu, 25 Dec 2008 00:31:52 +0000</pubDate>
		<dc:creator>Gabriel</dc:creator>
				<category><![CDATA[Bases de Datos]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Microsft]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://gabrielrodriguez.net/?p=42</guid>
		<description><![CDATA[Apenas ayer se libero informacion informacion publica sobre una vulnerabilidad en varias ediciones de Microsoft SQL Server. Antes que nada, las versiones afectadas fueron:

SQL Server 2000
SQL Server 2005
SQL Server 2005 Express Edition
SQL Server 2000 Desktop Edition (MSDE 2000)
SQL Server 2000 Desktop Edition (WSDE)
Windows Internal Database (WYukon)

Las versiones que no son afectadas son:

SQL Server 7.0 con [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_43" class="wp-caption aligncenter" style="width: 373px"><img class="size-full wp-image-43" title="sql-server-2008" src="http://gabrielrodriguez.net/wp-content/uploads/2008/12/sql-server-2008.gif" alt="SQL Server 2008" width="363" height="75" /><p class="wp-caption-text">SQL Server 2008</p></div>
<p>Apenas ayer se libero informacion informacion publica sobre una <strong>vulnerabilidad en varias ediciones de Microsoft SQL Server</strong>. Antes que nada, las <strong>versiones afectadas</strong> fueron:</p>
<ul>
<li>SQL Server 2000</li>
<li>SQL Server 2005</li>
<li>SQL Server 2005 Express Edition</li>
<li>SQL Server 2000 Desktop Edition (MSDE 2000)</li>
<li>SQL Server 2000 Desktop Edition (WSDE)</li>
<li>Windows Internal Database (WYukon)</li>
</ul>
<p>Las <strong>versiones que no son afectadas</strong> son:</p>
<ul>
<li>SQL Server 7.0 con Service Pack 4 (SP4)</li>
<li>SQL Server 2005 con Service Pack 3 (SP3)</li>
<li>SQL Server 2008</li>
</ul>
<p>El problema es a partir del stored procedure <strong>sp_replwritetovarbin</strong>. En una <strong>configuracion default, todos los usuarios tienen acceso a este stored procedure</strong>. El problema es que bajo algunas circunstancias, <strong>esta vulnerabilidad puede permitir a los atacantes el ejecutar codigo en el sistema vulnerable</strong>.</p>
<p>Al parecer, <strong>ninguna version ni service pack para SQL Server 2000</strong><strong> corrige el error</strong>, pero pueden evitar ser vulnerables al <strong>deshabilitar el stored procedure</strong> con la siguiente instruccion de T-SQL. Lo unico que les aviso es que <strong>al deshabilitar el stored procedure sp_replwritetovarbin, van a romper la funcionalidad de <em>Transactional Replication with Updatable Subscriptions</em>.</strong></p>
<p><span style="color: #0000ff;">EXECUTE</span> master.<span style="color: #202020;">dbo</span>.<span style="color: #af0000;">SP_DROPEXTENDEDPROC</span> <span style="color: #ff0000;">&#8217;sp_replwritetovarbin&#8217;</span></p>
<p>Es de esperarse que Microsoft saque pronto un fix para SQL Server 2000.  (Que bueno que solamente uso SQL Server 2005)</p>
]]></content:encoded>
			<wfw:commentRss>http://gabrielrodriguez.net/nueva-vulnerabilidad-de-sql-server-sp_replwritetovarbin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
