<?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>PortalSQL</title>
	<atom:link href="http://portalsql.com/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://portalsql.com</link>
	<description>Compartiendo conocimiento SQL</description>
	<lastBuildDate>Mon, 08 Mar 2010 10:08:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>O.T.: Configurar la protección infantil para Windows</title>
		<link>http://portalsql.com/index.php/2010/03/o-t-configurar-la-proteccion-infantil-para-windows-xp/</link>
		<comments>http://portalsql.com/index.php/2010/03/o-t-configurar-la-proteccion-infantil-para-windows-xp/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 10:03:08 +0000</pubDate>
		<dc:creator>Miguel Egea</dc:creator>
				<category><![CDATA[O.T.]]></category>

		<guid isPermaLink="false">http://portalsql.com/?p=206</guid>
		<description><![CDATA[Se que este es un contenido totalmente fuera del temario de este blog, sin embargo, dí el año pasado o el anterior una charla en el colegio de mis hijos, y me parece que es algo que nos preocupa a todos los padres. Así que aquí teneis el documento.
Seguidores de SQL, tranquilos que no he [...]]]></description>
			<content:encoded><![CDATA[<p>Se que este es un contenido totalmente fuera del temario de este blog, sin embargo, dí el año pasado o el anterior una charla en el colegio de mis hijos, y me parece que es algo que nos preocupa a todos los padres. Así que aquí teneis el documento.</p>
<p>Seguidores de SQL, tranquilos que no he cambiado el tema <img src='http://portalsql.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://portalsql.com/wp-content/uploads/2010/03/Configurar-proteccion-infantil-en-Windows-XP.pdf">Configurar protección infantil en Windows XP</a></p>
]]></content:encoded>
			<wfw:commentRss>http://portalsql.com/index.php/2010/03/o-t-configurar-la-proteccion-infantil-para-windows-xp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Guía de Rendimiento para Analisys Services 2008</title>
		<link>http://portalsql.com/index.php/2010/03/guia-de-rendimiento-para-analisys-services-2008/</link>
		<comments>http://portalsql.com/index.php/2010/03/guia-de-rendimiento-para-analisys-services-2008/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 08:31:54 +0000</pubDate>
		<dc:creator>Miguel Egea</dc:creator>
				<category><![CDATA[Analisys Services]]></category>

		<guid isPermaLink="false">http://portalsql.com/index.php/2010/03/guia-de-rendimiento-para-analisys-services-2008/</guid>
		<description><![CDATA[La descarga que tenéis aquí es una guía práctica de rendimiento en Analisys Services 2008.
Espero que la disfruteis
]]></description>
			<content:encoded><![CDATA[<p>La descarga que tenéis aquí es una guía <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=3be0488d-e7aa-4078-a050-ae39912d2e43&#038;displaylang=en">práctica de rendimiento </a>en Analisys Services 2008.</p>
<p>Espero que la disfruteis</p>
]]></content:encoded>
			<wfw:commentRss>http://portalsql.com/index.php/2010/03/guia-de-rendimiento-para-analisys-services-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Perspectivas en Analisys Services, ¿lo que las vistas al Engine?</title>
		<link>http://portalsql.com/index.php/2010/02/perspectivas-en-analisys-services-%c2%bflo-que-las-vistas-al-engine/</link>
		<comments>http://portalsql.com/index.php/2010/02/perspectivas-en-analisys-services-%c2%bflo-que-las-vistas-al-engine/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 11:53:15 +0000</pubDate>
		<dc:creator>Miguel Egea</dc:creator>
				<category><![CDATA[Analisys Services]]></category>

		<guid isPermaLink="false">http://portalsql.com/?p=197</guid>
		<description><![CDATA[Introducción
Las perspectivas podrían ser lo más parecido a lo que las vistas  son a relacional, Sin embargo no es ni siquiera una buena comparación. Como casi siempre que se intentan buscar analogías Relacional vs Multidimensional las comparaciones son imprecisas incompletas y no solo no ayudan a entender el segundo sino que quizá limitan una visión [...]]]></description>
			<content:encoded><![CDATA[<h1>Introducción</h1>
<p>Las perspectivas podrían ser lo más parecido a lo que las vistas  son a relacional, Sin embargo no es ni siquiera una buena comparación. Como casi siempre que se intentan buscar analogías Relacional vs Multidimensional las comparaciones son imprecisas incompletas y no solo no ayudan a entender el segundo sino que quizá limitan una visión que ha de ser más amplia. De ahí el título de este post, no, no son lo que las vistas al Engine, porque son simplemente otra cosa, aunque de alguna forma no es descabellado asemejarlas.</p>
<p>¿Entonces que son las perspectivas? Las perspectivas son una forma de mostrar un subconjunto de atributos, dimensiones, medidas como si fuesen un nuevo cubo, pero ojo, no son un mecanismo de seguridad, es decir, limitan lo que se vé basicamente para que usuarios menos abezados no se líen, pero no implica en ningun caso que se limite el acceso al cubo del que son base.</p>
<p>La creación de perspectivas es realmente sencilla, muy muy sencilla. En nuestro proyecto de Analisys services iremos a la pestaña perspectivas como puede verse en la siguiente imagen.</p>
<p><a href="http://portalsql.com/wp-content/uploads/2010/02/perspectivas.jpg"><img class="aligncenter size-full wp-image-198" title="perspectivas" src="http://portalsql.com/wp-content/uploads/2010/02/perspectivas.jpg" alt="" width="1032" height="97" /></a></p>
<p>Elegimos esa pestaña y creamos una nueva perspectiva. Ahí nos aparece una lista con todos los objetos de nuestro cubo.  Simplementemarcamos con checks los objetos  que quermos que se vean o dejamos desmarcados los que no queremos que aparezcan, insisto que esto no es un mecanismo de seguridad.</p>
<p><a href="http://portalsql.com/wp-content/uploads/2010/02/nuevaperspectiva.jpg"><img class="aligncenter size-medium wp-image-199" title="nuevaperspectiva" src="http://portalsql.com/wp-content/uploads/2010/02/nuevaperspectiva-300x104.jpg" alt="" width="300" height="104" /></a></p>
<p>Una vez creadas y desplegado el cubo los usuarios perciben las perpestivas como si fuesen un nuevo cubo. Cuando nos conectamos desde un cliente observaremos algo así</p>
<p><a href="http://portalsql.com/wp-content/uploads/2010/02/conectar.jpg"><img class="aligncenter size-full wp-image-200" title="conectar" src="http://portalsql.com/wp-content/uploads/2010/02/conectar.jpg" alt="" width="519" height="381" /></a></p>
<p>Como podeis ver se ven como si fuesen un cubo mas, pero aparece el literal perspectiva.  En cualquier caso se persibe igual que si fuese un cubo.</p>
<p>En otros post veremos como limitar acceso por seguridad.</p>
]]></content:encoded>
			<wfw:commentRss>http://portalsql.com/index.php/2010/02/perspectivas-en-analisys-services-%c2%bflo-que-las-vistas-al-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Demos de SQL Azure y Storage por Eladio y Amigos</title>
		<link>http://portalsql.com/index.php/2010/02/demos-de-sql-azure-y-storage-por-eladio-y-amigos/</link>
		<comments>http://portalsql.com/index.php/2010/02/demos-de-sql-azure-y-storage-por-eladio-y-amigos/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 08:30:08 +0000</pubDate>
		<dc:creator>Miguel Egea</dc:creator>
				<category><![CDATA[Noticias]]></category>
		<category><![CDATA[Relacional]]></category>

		<guid isPermaLink="false">http://portalsql.com/?p=195</guid>
		<description><![CDATA[Mi amigo y compañero de trabajo Eladio Rincón ha creado unos videos de demostración sobre Azure Pulsa aquí para ver la información
]]></description>
			<content:encoded><![CDATA[<p>Mi amigo y compañero de trabajo Eladio Rincón ha creado unos videos de demostración sobre Azure <a href="http://bit.ly/9xYu5z">Pulsa aquí para ver la información</a></p>
]]></content:encoded>
			<wfw:commentRss>http://portalsql.com/index.php/2010/02/demos-de-sql-azure-y-storage-por-eladio-y-amigos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ciclo de WebCast sobre SQL Server 2008 R2 (AKA Kilimanjaro)</title>
		<link>http://portalsql.com/index.php/2010/02/ciclo-de-webcast-sobre-sql-server-2008-r2-aka-kilimanjaro/</link>
		<comments>http://portalsql.com/index.php/2010/02/ciclo-de-webcast-sobre-sql-server-2008-r2-aka-kilimanjaro/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 16:09:34 +0000</pubDate>
		<dc:creator>Miguel Egea</dc:creator>
				<category><![CDATA[Analisys Services]]></category>
		<category><![CDATA[Noticias]]></category>
		<category><![CDATA[Relacional]]></category>

		<guid isPermaLink="false">http://portalsql.com/index.php/2010/02/ciclo-de-webcast-sobre-sql-server-2008-r2-aka-kilimanjaro/</guid>
		<description><![CDATA[Creo que  un ciclo de conferencias tan interesante y tan elaborado merecen un link mas largo, explicando que encontrar en cada uno de ellos etc.. lo haremos espero con tiempo. De momento, aquí teneis el link
Ciclo de WebCast sobre SQL Server 2008 R2 en castellano
]]></description>
			<content:encoded><![CDATA[<p>Creo que  un ciclo de conferencias tan interesante y tan elaborado merecen un link mas largo, explicando que encontrar en cada uno de ellos etc.. lo haremos espero con tiempo. De momento, aquí teneis el link<br />
<a href="http://www.microsoft.com/spain/technet/jornadas/webcasts/webcasts_ant.aspx?id=9">Ciclo de WebCast sobre SQL Server 2008 R2 en castellano</a></p>
]]></content:encoded>
			<wfw:commentRss>http://portalsql.com/index.php/2010/02/ciclo-de-webcast-sobre-sql-server-2008-r2-aka-kilimanjaro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducción a SQL Server Integration Services. Video 1</title>
		<link>http://portalsql.com/index.php/2010/02/introduccion-a-sql-server-integration-services-video-1/</link>
		<comments>http://portalsql.com/index.php/2010/02/introduccion-a-sql-server-integration-services-video-1/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 22:29:25 +0000</pubDate>
		<dc:creator>Miguel Egea</dc:creator>
				<category><![CDATA[SQL Server Integration Services]]></category>
		<category><![CDATA[Tutoriales]]></category>

		<guid isPermaLink="false">http://portalsql.com/?p=187</guid>
		<description><![CDATA[Dentro del tutorial de SQL Server Integration Services he pensado ir poniendo videos con pequeñas demos. Este video es nivel 100, es decir que no espereis nada realmente complicado ni espectacular, es un mero paseo por el entorno, dando una idea ligera sin ningún detalle de los componentes que nos vamos a encontrar, aunque sin [...]]]></description>
			<content:encoded><![CDATA[<p>Dentro del tutorial de SQL Server Integration Services he pensado ir poniendo videos con pequeñas demos. Este video es nivel 100, es decir que no espereis nada realmente complicado ni espectacular, es un mero paseo por el entorno, dando una idea ligera sin ningún detalle de los componentes que nos vamos a encontrar, aunque sin profundizar mucho en ninguno de ellos. Poco a poco iremos complicando las demostraciones y los temas, de momento, sin embargo, estamos con las introducciones. Espero que sea lo que andais buscando.</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/09kobkGO4uA&#038;hl=es_ES&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/09kobkGO4uA&#038;hl=es_ES&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://portalsql.com/index.php/2010/02/introduccion-a-sql-server-integration-services-video-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Publicado el Training kit de SQL Server 2008 R2</title>
		<link>http://portalsql.com/index.php/2010/02/publicado-el-training-kit-de-sql-server-2008-r2/</link>
		<comments>http://portalsql.com/index.php/2010/02/publicado-el-training-kit-de-sql-server-2008-r2/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 18:27:05 +0000</pubDate>
		<dc:creator>Miguel Egea</dc:creator>
				<category><![CDATA[Noticias]]></category>

		<guid isPermaLink="false">http://portalsql.com/index.php/2010/02/publicado-el-training-kit-de-sql-server-2008-r2/</guid>
		<description><![CDATA[Más información
http://blogs.msdn.com/rdoherty/archive/2010/02/03/announcing-the-sql-server-2008-r2-update-for-developers-training-kit.aspx
]]></description>
			<content:encoded><![CDATA[<p>Más información<br />
<a href="http://blogs.msdn.com/rdoherty/archive/2010/02/03/announcing-the-sql-server-2008-r2-update-for-developers-training-kit.aspx">http://blogs.msdn.com/rdoherty/archive/2010/02/03/announcing-the-sql-server-2008-r2-update-for-developers-training-kit.aspx</a><a href="http://portalsql.com/wp-content/uploads/2010/02/SQL08r2_h_rgb_4.png"><img src="http://portalsql.com/wp-content/uploads/2010/02/SQL08r2_h_rgb_4.png" alt="" title="SQL08r2_h_rgb_4" width="588" height="109" class="aligncenter size-full wp-image-175" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://portalsql.com/index.php/2010/02/publicado-el-training-kit-de-sql-server-2008-r2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scripts curiosos, para construir otros scripts</title>
		<link>http://portalsql.com/index.php/2010/02/scripts-curiosos-para-construir-otros-scripts/</link>
		<comments>http://portalsql.com/index.php/2010/02/scripts-curiosos-para-construir-otros-scripts/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 12:36:40 +0000</pubDate>
		<dc:creator>Miguel Egea</dc:creator>
				<category><![CDATA[AntiCursores]]></category>
		<category><![CDATA[Relacional]]></category>

		<guid isPermaLink="false">http://portalsql.com/?p=161</guid>
		<description><![CDATA[En algunas ocasiones tenemos que lanzar un query repetitivo para un monton de servidores o para un monton de tablas. Yo que soy bastante vago a la hora de hacer tareas repetitivas me he ido creando atajos y truquitos, que no son otra cosa. Os voy a poner un par de ejemplos que habréis de [...]]]></description>
			<content:encoded><![CDATA[<p>En algunas ocasiones tenemos que lanzar un query repetitivo para un monton de servidores o para un monton de tablas. Yo que soy bastante vago a la hora de hacer tareas repetitivas me he ido creando atajos y truquitos, que no son otra cosa. Os voy a poner un par de ejemplos que habréis de adaptar a vuestras necesidades.</p>
<p>El primero de los ejemplos muestra como ejecutar un script mediante SQL CMD para un conjunto de servidores. Primero suponemos que tenemos una tabla que contiene el nombre de esos servers, también supone que el usuario sa tiene el mismo password en todos, obviamente basta con sustituir sa por otro usuario que tenga permisos.<br />
Si estos usuarios están en una tabla también es facil de adaptar.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p161code4'); return false;">View Code</a> TSQL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p1614"><td class="code" id="p161code4"><pre class="tsql" style="font-family:monospace;"><span style="color: #0000FF;">use</span> tempdb
go
<span style="color: #0000FF;">create</span> <span style="color: #0000FF;">schema</span> tuesquema
go
<span style="color: #0000FF;">create</span> <span style="color: #0000FF;">table</span> tuesquema.<span style="color: #202020;">TuTablaConNombresDeServidor</span> <span style="color: #808080;">&#40;</span>server sysname<span style="color: #808080;">&#41;</span>
go
<span style="color: #0000FF;">insert</span> <span style="color: #0000FF;">into</span> tuesquema.<span style="color: #202020;">TuTablaConNombresDeServidor</span>  <span style="color: #0000FF;">values</span> <span style="color: #808080;">&#40;</span><span style="color: #FF0000;">'127.0.0.1'</span><span style="color: #808080;">&#41;</span>,<span style="color: #808080;">&#40;</span><span style="color: #FF0000;">'10.10.10.10<span style="color: #000099; font-weight: bold;">\i</span>nstancia'</span><span style="color: #808080;">&#41;</span>
go
<span style="color: #0000FF;">select</span> row_number<span style="color: #808080;">&#40;</span><span style="color: #808080;">&#41;</span> <span style="color: #0000FF;">over</span> <span style="color: #808080;">&#40;</span>partition <span style="color: #0000FF;">by</span> server <span style="color: #0000FF;">order</span> <span style="color: #0000FF;">by</span> orden<span style="color: #808080;">&#41;</span>,<span style="color: #808080;">*</span> 
	<span style="color: #0000FF;">from</span><span style="color: #808080;">&#40;</span>
		<span style="color: #0000FF;">select</span> <span style="color: #000;">0</span> orden,
			<span style="color: #FF0000;">':connect '</span><span style="color: #808080;">+</span> server <span style="color: #808080;">+</span> <span style="color: #FF0000;">' -U sa -P PasswordSA '</span> query,
				server 
		<span style="color: #0000FF;">from</span> tuesquema.<span style="color: #202020;">tutablaconNombresdeservidor</span> 
		<span style="color: #0000FF;">union</span> all
		<span style="color: #0000FF;">select</span>  <span style="color: #000;">1</span> orden,
			<span style="color: #FF0000;">'if 0=(select count(*) from master.sys.syslogins where name='</span><span style="color: #FF0000;">'tunuevousuario'</span><span style="color: #FF0000;">')'</span> query,
			server 
		<span style="color: #0000FF;">from</span> tuesquema.<span style="color: #202020;">tutablaconNombresdeservidor</span> 
		<span style="color: #0000FF;">union</span> all
		<span style="color: #0000FF;">select</span> <span style="color: #000;">2</span>, 
			<span style="color: #FF0000;">'begin'</span>,server 
		<span style="color: #0000FF;">from</span> tuesquema.<span style="color: #202020;">tutablaconNombresdeservidor</span> 
		<span style="color: #0000FF;">union</span> all
		<span style="color: #0000FF;">select</span> <span style="color: #000;">3</span>,
			<span style="color: #FF0000;">'  create login tunuevousuario with password='</span><span style="color: #FF0000;">'ElPassword'</span><span style="color: #FF0000;">';'</span>,
			server 
		<span style="color: #0000FF;">from</span> tuesquema.<span style="color: #202020;">tutablaconNombresdeservidor</span> 
		<span style="color: #0000FF;">union</span> all
		<span style="color: #0000FF;">select</span> <span style="color: #000;">4</span>,
			<span style="color: #FF0000;">'  exec sp_Addsrvrolemember '</span><span style="color: #FF0000;">'tunuevousuario'</span><span style="color: #FF0000;">','</span><span style="color: #FF0000;">'sysadmin'</span><span style="color: #FF0000;">';'</span>,
			server 
		<span style="color: #0000FF;">from</span> tuesquema.<span style="color: #202020;">tutablaconNombresdeservidor</span> 
		<span style="color: #0000FF;">union</span> all
		<span style="color: #0000FF;">select</span> <span style="color: #000;">5</span>,
			<span style="color: #FF0000;">' end'</span>,
			server 
		<span style="color: #0000FF;">from</span> tuesquema.<span style="color: #202020;">tutablaconNombresdeservidor</span> 
		<span style="color: #0000FF;">union</span> all
		<span style="color: #0000FF;">select</span> <span style="color: #000;">6</span>, 
				<span style="color: #FF0000;">'else'</span>,
				server 
		<span style="color: #0000FF;">from</span> tuesquema.<span style="color: #202020;">tutablaconNombresdeservidor</span> 
		<span style="color: #0000FF;">union</span> all
		<span style="color: #0000FF;">select</span> <span style="color: #000;">7</span>,
			<span style="color: #FF0000;">'  exec sp_password '</span><span style="color: #FF0000;">'tunuevousuario'</span><span style="color: #FF0000;">',@new='</span><span style="color: #FF0000;">'ElPassword'</span><span style="color: #FF0000;">';'</span>,
			server 
		<span style="color: #0000FF;">from</span> tuesquema.<span style="color: #202020;">tutablaconNombresdeservidor</span>
 <span style="color: #808080;">&#41;</span> a <span style="color: #0000FF;">where</span> not server <span style="color: #0000FF;">is</span> null <span style="color: #0000FF;">order</span> <span style="color: #0000FF;">by</span> <span style="color: #000;">4</span>,<span style="color: #000;">1</span></pre></td></tr></table></div>

<p>El resultado de la ejecución de este script será el que podeis ver a contiunación </p>
<p><a href="http://portalsql.com/wp-content/uploads/2010/02/resultado-primer-query.jpg"><img src="http://portalsql.com/wp-content/uploads/2010/02/resultado-primer-query-300x156.jpg" alt="" title="resultado primer query" width="300" height="156" class="alignnone size-medium wp-image-164" /></a></p>
<p>Lo que habremos de hacer luego es copiar el resultado query y pegarlo en una nueva ventana de consulta, despues habremos de ir a Query->SQLCMD mode, de esta forma aparecerá la parte de connect en gris, lo que quiere indicar que esa operación se lanzará no como TSQL sino como administración, realmente lo que hará será conectarse al servidor que hemos indicado. En modo SQL CMD hay muchos más comandos, pero no son el objeto de este artículo. El resultado hecho esto es el que podeis ver en la siguiente figura.</p>
<p><a href="http://portalsql.com/wp-content/uploads/2010/02/sqlcmdmode.jpg"><img src="http://portalsql.com/wp-content/uploads/2010/02/sqlcmdmode-300x146.jpg" alt="" title="sqlcmdmode" width="300" height="146" class="alignnone size-medium wp-image-165" /></a></p>
<p>El siguiente script servira para ejecutar un select count para cada una de las tablas en nuestro sistema.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p161code5'); return false;">View Code</a> TSQL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p1615"><td class="code" id="p161code5"><pre class="tsql" style="font-family:monospace;"><span style="color: #0000FF;">select</span> <span style="color: #FF0000;">'SELECT  '</span><span style="color: #FF0000;">'['</span><span style="color: #808080;">+</span>Table_schema<span style="color: #808080;">+</span><span style="color: #FF0000;">'].['</span><span style="color: #808080;">+</span>table_name<span style="color: #808080;">+</span><span style="color: #FF0000;">']'</span><span style="color: #FF0000;">' NombreDeTabla,count(*) FROM  ['</span>  <span style="color: #808080;">+</span>
		TABLE_SCHEMA <span style="color: #808080;">+</span><span style="color: #FF0000;">'].['</span> <span style="color: #808080;">+</span>TABLE_NAME <span style="color: #808080;">+</span><span style="color: #FF0000;">'] UNION ALL '</span> 
<span style="color: #0000FF;">FROM</span> <span style="color: #808080;">IN</span>F<span style="color: #808080;">OR</span>MATION_SCHEMA.<span style="color: #202020;">TABLES</span> <span style="color: #0000FF;">WHERE</span> TABLE_TYPE<span style="color: #808080;">=</span><span style="color: #FF0000;">'BASE TABLE'</span></pre></td></tr></table></div>

<p>El resultado de la ejecución de esta consulta será el que veis en la siguiente imagen.<br />
<a href="http://portalsql.com/wp-content/uploads/2010/02/countsobreaw.jpg"><img src="http://portalsql.com/wp-content/uploads/2010/02/countsobreaw-300x139.jpg" alt="" title="countsobreaw" width="300" height="139" class="alignnone size-medium wp-image-170" /></a><br />
Despues basta con copiar esta query a una nueva ventana, quitar el último union all y añadir una cláusula para la ordenación, en mi caso pondría order by 2 desc, de forma que se ordenaría de tabla con mayor numero de filas a menos. El resultado en AdventureWorks2008 será el que veis en la última imagen del artículo<br />
<a href="http://portalsql.com/wp-content/uploads/2010/02/RESULTADOSELECTCOUNT.jpg"><img src="http://portalsql.com/wp-content/uploads/2010/02/RESULTADOSELECTCOUNT-300x162.jpg" alt="" title="RESULTADOSELECTCOUNT" width="300" height="162" class="alignnone size-medium wp-image-171" /></a></p>
<p>Por útimo decir que este comando haría algo parecido (que no igual), es un comando indocumentado llamado sp_foreachtable que tiene su gracia</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p161code6'); return false;">View Code</a> TSQL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p1616"><td class="code" id="p161code6"><pre class="tsql" style="font-family:monospace;"><span style="color: #0000FF;">exec</span> SP_MSF<span style="color: #808080;">OR</span>EACHTABLE <span style="color: #FF0000;">'SELECT '</span><span style="color: #FF0000;">'?'</span><span style="color: #FF0000;">', COUNT(*) FROM ?'</span></pre></td></tr></table></div>

<p>Disfrutad del código </p>
]]></content:encoded>
			<wfw:commentRss>http://portalsql.com/index.php/2010/02/scripts-curiosos-para-construir-otros-scripts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Maria Garaña, habla sobre tecnología y empleo en España</title>
		<link>http://portalsql.com/index.php/2010/02/maria-garana-habla-sobre-tecnologia-y-empleo-en-espana/</link>
		<comments>http://portalsql.com/index.php/2010/02/maria-garana-habla-sobre-tecnologia-y-empleo-en-espana/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 09:55:11 +0000</pubDate>
		<dc:creator>Miguel Egea</dc:creator>
				<category><![CDATA[Noticias]]></category>

		<guid isPermaLink="false">http://portalsql.com/index.php/2010/02/maria-garana-habla-sobre-tecnologia-y-empleo-en-espana/</guid>
		<description><![CDATA[La presidenta de Microsoft Ibérica, María Garaña, reflexiona sobre si el sector de las nuevas tecnologías podría convertirse en la principal fuente de riqueza y empleo de España. Su conclusión: para que tal cosa suceda no hay que abandonar las industrias tradicionales, sino que hay que llevar hasta ellas la tecnología y la innovación.
http://www.rtve.es/mediateca/audios/20100202/maria-garana-innovacion-tecnologica-espana-dias-como-hoy/682978.shtml
]]></description>
			<content:encoded><![CDATA[<p>La presidenta de Microsoft Ibérica, María Garaña, reflexiona sobre si el sector de las nuevas tecnologías podría convertirse en la principal fuente de riqueza y empleo de España. Su conclusión: para que tal cosa suceda no hay que abandonar las industrias tradicionales, sino que hay que llevar hasta ellas la tecnología y la innovación.</p>
<p><a href="http://www.rtve.es/mediateca/audios/20100202/maria-garana-innovacion-tecnologica-espana-dias-como-hoy/682978.shtml">http://www.rtve.es/mediateca/audios/20100202/maria-garana-innovacion-tecnologica-espana-dias-como-hoy/682978.shtml</a></p>
]]></content:encoded>
			<wfw:commentRss>http://portalsql.com/index.php/2010/02/maria-garana-habla-sobre-tecnologia-y-empleo-en-espana/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorial de SQL Server Integration Services. Introducción.</title>
		<link>http://portalsql.com/index.php/2010/02/tutorial-de-sql-server-integration-services-introduccion/</link>
		<comments>http://portalsql.com/index.php/2010/02/tutorial-de-sql-server-integration-services-introduccion/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 23:29:37 +0000</pubDate>
		<dc:creator>Miguel Egea</dc:creator>
				<category><![CDATA[SQL Server Integration Services]]></category>

		<guid isPermaLink="false">http://portalsql.com/?p=148</guid>
		<description><![CDATA[Introducción
SQL Server Integration services es un producto que viene incluido con la licencia de Microsoft SQL Server y que es la propuesta de Microsoft para lo que se llama Extracción, Transformación y Carga de datos, y yo me atrevería a decir que también para la limpieza de los mismos. Muchas veces creemos que el lenguaje [...]]]></description>
			<content:encoded><![CDATA[<h1>Introducción</h1>
<p>SQL Server Integration services es un producto que viene incluido con la licencia de Microsoft SQL Server y que es la propuesta de Microsoft para lo que se llama Extracción, Transformación y Carga de datos, y yo me atrevería a decir que también para la limpieza de los mismos. Muchas veces creemos que el lenguaje obvio para hacer todas estas tareas es T-SQL, sin embargo, la experiencia me dice que cuando de lo que se trata es de consolidar información y de moverla muy rápido, nada como SSIS para resolver esa cuestión.</p>
<p>SQL Server Integration services es un producto en el que se desarrolla de forma muy visual, básicamente pinchando y arrastrando componentes desde la barra de herramientas hasta los lugares de diseño, cada uno de esos componentes admitirá parametrización para adaptarlo a nuestras necesidades. </p>
<h1>Un vistazo rápido</h1>
<p>Para comenzar con SSIS, hemos de instalar las herramientas de Cliente de SQL Server, en ellas nos aparecera el BIDS (Bussiness Intelligence Developmen Studio),  dentro de los proyectos de Bussiness Intelligence tenemos los proyectos de Integration Services, como puede observarse en esta figura</p>
<p><a href="http://portalsql.com/wp-content/uploads/2010/02/nuevoproyecto.jpg"><img class="alignnone size-medium wp-image-154" title="Nuevo proyecto" src="http://portalsql.com/wp-content/uploads/2010/02/nuevoproyecto-300x214.jpg" alt="" width="300" height="214" /></a></p>
<p>Una vez que seleccionamos el proyecto de Integration services se nos abre un paquete en blanco. Los paquetes están separados en dos partes fundamentales, los flujos de control y los flujos de datos.</p>
<p>En el flujo de control especificaremos las tareas que se han de ir haciendo y las dependencias y restricciones. En esa superficie podemos colocar las tareas de flujo de datos, y dentro configurarlas para que muevan los datos de un sitio a otro.</p>
<p>Algunas de las tareas que podremos hacer con SQL Server Integration services de forma sencdilla serán:</p>
<ul>
<li>Recorrer listas de ficheros para incorporarlos a nuestras bases de datos</li>
<li>Procesar cubos, dimensiones o ejecutar comandos XMLA</li>
<li>Insertar datos de forma masiva</li>
<li>Extraer, limpiar, transformar y cargar datos en datamarts o datawarehouses</li>
<li>Usar tareas para entender mejor como es la distribución de nuestros datos</li>
<li>Ejecutar comandos T-SQL</li>
<li>Mover, copiar o eliminar archivos</li>
<li>Obtener o poner datos en un servidor FTP</li>
<li>Leer o escribir datos en colas de Microsoft Message Queue</li>
<li>Enviar correos electrónicos con los resultados de las operaciones</li>
<li>Transferir objetos SQL
<ul>
<li>Logins</li>
<li>Jobs</li>
<li>Procedimientos de master</li>
<li>Objetos de servidor</li>
</ul>
</li>
<li>Invocar a servicios Web XML</li>
<li>Leer datos WMI o suscribirse a eventos WMI</li>
<li>Tareas de mantenimiento de bases de datos
<ul>
<li>Backups</li>
<li>Chequeos de integridad</li>
<li>Tareas del agente SQL</li>
<li>Tareas TSQL</li>
<li>Limpieza de hisotircos</li>
<li>Tareas de limpieza de datos</li>
<li>Notificaciones a operadores</li>
<li>Reorganización y reconstrucción de índices</li>
<li>Purgado de bases de datos</li>
<li>Actualización de Estadisticas</li>
</ul>
</li>
</ul>
<p>Todas estas operaciones pueden realizarse en un servidor distinto de nuestros motores de bases de datos, usando al máximo los recursos de la máquina y por lo tanto con una gran capacidad de escalado y un altísimo rendimiento.</p>
<p>Dentro de las tareas que podremos hacer con datos en sí también podemos usar alguna de las siguientes:</p>
<ul>
<li>Origenes de datos
<ul>
<li>Leer datos con proveedores  de datos .NET</li>
<li>Leer datos de archivos Excel</li>
<li>Leer datos de ficheros planos, estén formados practicamente como estén formados</li>
<li>Leer datos de cualquier fuente que ofrezca un proveedor OLEDB, (todos los fabricantes del mercado lo hacen)</li>
<li>Leer datos en formato &#8220;crudo&#8221; raw</li>
<li>Leer datos en formatos XML</li>
</ul>
</li>
<li>Transformaciones de datos
<ul>
<li>Agregar información</li>
<li>Guardar y usar datos en caché para evitar leer la misma información más de una vez</li>
<li>Añadir información de traza a los datos (nombre del paquete, id de ejecución , versión, hora de comienzo&#8230;</li>
<li>Realizar transformaciones sencillas de textos (pasar a mayúsculas o minúsculas, cambiar a lenguajes chinos, disminuir tampaños,&#8230;)</li>
<li>Mandar datos a un lugar o a otro en función de valores</li>
<li>Copiar columnas</li>
<li>Convertir tipos de datos</li>
<li>Completar la información con consultas a modelos de minería de datos</li>
<li>Obtener columnas con cálculos complejos</li>
<li>Guardar o leer archivos BLOB convirtiendolos en ficheros y vicebersa</li>
<li>Usar ténicas de lógica difusa tanto para agrupados como para búsquedas</li>
<li>Combinar datos</li>
<li>Realizar Joins complejos</li>
<li>Crear copias en memoria de los datos para añadir comportamientos</li>
<li>Ejecutar comandos SQL contra conexiones oldb</li>
<li>Obtener muestreos de datos por porcenaje,</li>
<li>Conteos diversos</li>
<li>Trasposición de matrices (Pivot)</li>
<li>Ordenar</li>
<li>Extracción y busqueda de terminos</li>
<li>Asistentes para dimensiones lentamente cambiantes</li>
</ul>
</li>
<li>Destino de datos
<ul>
<li>Escribir datos con proveedores de datos .NET</li>
<li>Escribir datos a archivos Excel</li>
<li>Escribir datos a ficheros planos</li>
<li>Entrenar modelos de mineria de datos</li>
<li>Escribir datos datos en cualquier destino que ofrezca un proveedor OLEDB, (todos los fabricantes del mercado lo hacen)</li>
<li>Escribir datos en formato crudo</li>
<li>Devolver Recorsets, y Datareaders</li>
<li>Mandar datos a SQL Server Compact</li>
</ul>
</li>
</ul>
<p>Todas estas funcionalidades se ven acompañadas además por un a gran versatilidad en la configuración, en la trazabilidad de las ejecuciones , en la firma digital de paquetes y en el uso y paso de variables para poder parametrizar adecuadamente el producto.</p>
<p>En resumen estamos ante un producto que ofrece un sin fín de posibilidades que iremos desgranando en los siguientes capítulos de este tutorial que nos llevará buena parte del año escribir por completo.</p>
]]></content:encoded>
			<wfw:commentRss>http://portalsql.com/index.php/2010/02/tutorial-de-sql-server-integration-services-introduccion/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
