<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3478804414142902008</id><updated>2025-09-04T21:31:35.197-05:00</updated><category term="Information Workers"/><category term="SQL Server 2008"/><category term="microsoft"/><category term="SQL Server"/><category term="base de datos"/><category term="database"/><category term="technology"/><category term="administracion"/><category term="Indices"/><category term="2012"/><category term="Desfragmentacion"/><category term="Fragmentacion"/><category term="IQuos"/><category term="360"/><category term="Analysis Services"/><category term="Compresion de datos"/><category term="Natal"/><category term="Project"/><category term="Puertos"/><category term="Reporting Services"/><category term="XBOX"/><category term="database compression"/><category term="videogames"/><title type='text'>John Bocachica</title><subtitle type='html'>Think future, think business intelligence, think SQL Server</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jboca.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://jboca.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>John J. Bocachica</name><uri>http://www.blogger.com/profile/05173460945632553184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp2.blogger.com/_hpD3dFwMIwA/R9bYn9MbUPI/AAAAAAAAA_s/4nygb2QlOak/S220/boca+linchtestein+.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>46</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3478804414142902008.post-8953994420150693472</id><published>2017-09-27T13:35:00.001-05:00</published><updated>2017-09-27T13:35:11.851-05:00</updated><title type='text'>El algoritmo de llenado proporcional (Proportional fill)</title><content type='html'>&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;span lang=&quot;ES-CO&quot; style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;En una reunión fuera de lo laboral me hicieron la
siguiente pregunta:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;h1&gt;
&lt;span lang=&quot;ES-CO&quot;&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;¿Si yo pongo más archivos a mi base de
datos, va a funcionar mejor? &amp;nbsp;o me da lo
mismo?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;div style=&quot;margin: 0in 0in 0.0001pt;&quot;&gt;
&lt;span lang=&quot;ES-CO&quot; style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;Bien, la respuesta es
relativa, ahora, de entrada, podemos decir que el rendimiento se va a mejorar,
no sabemos a ciencia cierta y con tan poca información cuanto vaya a mejorar,
pero de que mejora mejora, sea un 1%, pero eso es mejora al fin y al cabo.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 0.0001pt;&quot;&gt;
&lt;span lang=&quot;ES-CO&quot; style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;El paso a seguir es
entender cómo funciona el algoritmo de llenado proporcional (Proportional fill)
que usa SQL Server.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 0.0001pt;&quot;&gt;
&lt;span lang=&quot;ES-CO&quot; style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;El algoritmo de llenado
proporcional en SQL Server se encarga básicamente de distribuir la carga a través
de los diferentes archivos de datos que tenga un filegroup, como regla básica,
la carga se va hacia el archivo de datos que mayor espacio disponible tenga.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;span lang=&quot;ES-CO&quot; style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;Funciona mediante Round-Robin, de esta forma el
algoritmo intenta ser lo mas equitativo posible en términos de carga en los
archivos, sin embargo, esto trae otro dolor de cabeza, ¿Todos los discos de mi
maquina tienen el mismo rendimiento esperado en términos de IOPs?, de ser así,
pues no hay problema, pero de no ser así (Que es como seguramente ocurre),
entonces vienen los problemas, se debe tener en cuenta que el rendimiento de mi
base de datos entonces dependerá de mi componente mas lento, pero bueno, para
seguir mas a fondo, veamos entonces:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1&gt;
&lt;span lang=&quot;ES-CO&quot;&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;¿Como saber cuánto espacio disponible
tengo en cada archivo de datos?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;ES-CO&quot;&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;SQL Server
cuenta con la función &lt;a href=&quot;https://docs.microsoft.com/en-us/sql/t-sql/functions/fileproperty-transact-sql&quot;&gt;&lt;span style=&quot;color: windowtext; text-decoration-line: none;&quot;&gt;FileProperty&lt;/span&gt;&lt;/a&gt;,
esta función recibe como parámetros el nombre del archivo y la propiedad que se
desea obtener, para este caso utilizamos la opción SpaceUsed, esta nos devuelve
la información en términos de la cantidad de paginas en el archivo, siendo asi,
debemos tener en cuenta que una pagina en SQL Server tiene un tamaño de 8KB,
por ende debemos multiplicar este dato por 8 para obtener el tamaño en KB.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;ES-CO&quot;&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span lang=&quot;ES-CO&quot; style=&quot;background: white; color: blue; font-size: 9.5pt; line-height: 107%;&quot;&gt;SELECT &lt;/span&gt;&lt;span lang=&quot;ES-CO&quot; style=&quot;background: white; color: grey; font-size: 9.5pt; line-height: 107%;&quot;&gt;(&lt;/span&gt;&lt;span lang=&quot;ES-CO&quot; style=&quot;background: white; color: magenta; font-size: 9.5pt; line-height: 107%;&quot;&gt;FILEPROPERTY&lt;/span&gt;&lt;span lang=&quot;ES-CO&quot; style=&quot;background: white; color: grey; font-size: 9.5pt; line-height: 107%;&quot;&gt;(&lt;/span&gt;&lt;span lang=&quot;ES-CO&quot; style=&quot;background: white; color: red; font-size: 9.5pt; line-height: 107%;&quot;&gt;&#39;AdventureWorks2012_Data&#39;&lt;/span&gt;&lt;span lang=&quot;ES-CO&quot; style=&quot;background: white; color: grey; font-size: 9.5pt; line-height: 107%;&quot;&gt;,&lt;/span&gt;&lt;span lang=&quot;ES-CO&quot; style=&quot;background: white; font-size: 9.5pt; line-height: 107%;&quot;&gt; &lt;/span&gt;&lt;span lang=&quot;ES-CO&quot; style=&quot;background: white; color: red; font-size: 9.5pt; line-height: 107%;&quot;&gt;&#39;SpaceUsed&#39;&lt;/span&gt;&lt;span lang=&quot;ES-CO&quot; style=&quot;background: white; color: grey; font-size: 9.5pt; line-height: 107%;&quot;&gt;)&lt;/span&gt;&lt;span lang=&quot;ES-CO&quot; style=&quot;background: white; font-size: 9.5pt; line-height: 107%;&quot;&gt; &lt;/span&gt;&lt;span lang=&quot;ES-CO&quot; style=&quot;background: white; color: grey; font-size: 9.5pt; line-height: 107%;&quot;&gt;*&lt;/span&gt;&lt;span lang=&quot;ES-CO&quot; style=&quot;background: white; font-size: 9.5pt; line-height: 107%;&quot;&gt; 8&lt;/span&gt;&lt;span lang=&quot;ES-CO&quot; style=&quot;background: white; color: grey; font-size: 9.5pt; line-height: 107%;&quot;&gt;)/&lt;/span&gt;&lt;span lang=&quot;ES-CO&quot; style=&quot;background: white; font-size: 9.5pt; line-height: 107%;&quot;&gt;1024 [Espacio en MB]&lt;/span&gt;&lt;span lang=&quot;ES-CO&quot; style=&quot;font-size: 9.5pt; line-height: 107%;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span lang=&quot;ES-CO&quot; style=&quot;background: white; font-size: 9.5pt; line-height: 107%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;ES-CO&quot;&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;De igual
manera utilizamos la tabla del sistema sys.master_files, allí tenemos cada
archivo de datos y de log dentro de la base de datos, allí encontramos el
tamaño del archivo igualmente en términos de paginas.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;ES-CO&quot;&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background: white; color: blue; font-size: 9.5pt;&quot;&gt;select&lt;/span&gt;&lt;span style=&quot;background: white; font-size: 9.5pt;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background: white; color: blue; font-size: 9.5pt;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;background: white; color: grey; font-size: 9.5pt;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;background: white; font-size: 9.5pt;&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background: white; color: magenta; font-size: 9.5pt;&quot;&gt;CAST&lt;/span&gt;&lt;span style=&quot;background: white; color: grey; font-size: 9.5pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;background: white; color: magenta; font-size: 9.5pt;&quot;&gt;FILEPROPERTY&lt;/span&gt;&lt;span style=&quot;background: white; color: grey; font-size: 9.5pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;background: white; color: blue; font-size: 9.5pt;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;background: white; color: grey; font-size: 9.5pt;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;background: white; font-size: 9.5pt;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background: white; color: red; font-size: 9.5pt;&quot;&gt;&#39;SpaceUsed&#39;&lt;/span&gt;&lt;span style=&quot;background: white; color: grey; font-size: 9.5pt;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;background: white; font-size: 9.5pt;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background: white; color: blue; font-size: 9.5pt;&quot;&gt;AS&lt;/span&gt;&lt;span style=&quot;background: white; font-size: 9.5pt;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background: white; color: blue; font-size: 9.5pt;&quot;&gt;float&lt;/span&gt;&lt;span style=&quot;background: white; color: grey; font-size: 9.5pt;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;background: white; font-size: 9.5pt;&quot;&gt; [Paginas]&lt;/span&gt;&lt;span style=&quot;background: white; color: grey; font-size: 9.5pt;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;background: white; font-size: 9.5pt;&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background: white; font-size: 9.5pt;&quot;&gt;size &lt;/span&gt;&lt;span style=&quot;background: white; color: grey; font-size: 9.5pt;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;background: white; font-size: 9.5pt;&quot;&gt;
8 [Tamano KB]&lt;/span&gt;&lt;span style=&quot;background: white; color: grey; font-size: 9.5pt;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;background: white; font-size: 9.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background: white; color: magenta; font-size: 9.5pt;&quot;&gt;CAST&lt;/span&gt;&lt;span style=&quot;background: white; color: grey; font-size: 9.5pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;background: white; color: magenta; font-size: 9.5pt;&quot;&gt;FILEPROPERTY&lt;/span&gt;&lt;span style=&quot;background: white; color: grey; font-size: 9.5pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;background: white; color: blue; font-size: 9.5pt;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;background: white; color: grey; font-size: 9.5pt;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;background: white; font-size: 9.5pt;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background: white; color: red; font-size: 9.5pt;&quot;&gt;&#39;SpaceUsed&#39;&lt;/span&gt;&lt;span style=&quot;background: white; color: grey; font-size: 9.5pt;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;background: white; font-size: 9.5pt;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background: white; color: blue; font-size: 9.5pt;&quot;&gt;AS&lt;/span&gt;&lt;span style=&quot;background: white; font-size: 9.5pt;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background: white; color: blue; font-size: 9.5pt;&quot;&gt;float&lt;/span&gt;&lt;span style=&quot;background: white; color: grey; font-size: 9.5pt;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;background: white; font-size: 9.5pt;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background: white; color: grey; font-size: 9.5pt;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;background: white; font-size: 9.5pt;&quot;&gt; 8 [Usado en KB]&lt;/span&gt;&lt;span style=&quot;background: white; color: grey; font-size: 9.5pt;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;background: white; font-size: 9.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background: white; color: grey; font-size: 9.5pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;background: white; font-size: 9.5pt;&quot;&gt;size &lt;/span&gt;&lt;span style=&quot;background: white; color: grey; font-size: 9.5pt;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;background: white; font-size: 9.5pt;&quot;&gt; 8&lt;/span&gt;&lt;span style=&quot;background: white; color: grey; font-size: 9.5pt;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;background: white; font-size: 9.5pt;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background: white; color: grey; font-size: 9.5pt;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;background: white; color: blue; font-size: 9.5pt;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background: white; color: grey; font-size: 9.5pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;background: white; color: magenta; font-size: 9.5pt;&quot;&gt;CAST&lt;/span&gt;&lt;span style=&quot;background: white; color: grey; font-size: 9.5pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;background: white; color: magenta; font-size: 9.5pt;&quot;&gt;FILEPROPERTY&lt;/span&gt;&lt;span style=&quot;background: white; color: grey; font-size: 9.5pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;background: white; color: blue; font-size: 9.5pt;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;background: white; color: grey; font-size: 9.5pt;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;background: white; font-size: 9.5pt;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background: white; color: red; font-size: 9.5pt;&quot;&gt;&#39;SpaceUsed&#39;&lt;/span&gt;&lt;span style=&quot;background: white; color: grey; font-size: 9.5pt;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;background: white; font-size: 9.5pt;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background: white; color: blue; font-size: 9.5pt;&quot;&gt;AS&lt;/span&gt;&lt;span style=&quot;background: white; font-size: 9.5pt;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background: white; color: blue; font-size: 9.5pt;&quot;&gt;float&lt;/span&gt;&lt;span style=&quot;background: white; color: grey; font-size: 9.5pt;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;background: white; font-size: 9.5pt;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background: white; color: grey; font-size: 9.5pt;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;background: white; font-size: 9.5pt;&quot;&gt; 8&lt;/span&gt;&lt;span style=&quot;background: white; color: grey; font-size: 9.5pt;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;background: white; font-size: 9.5pt;&quot;&gt; [Disponible en KB]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background: white; color: blue; font-size: 9.5pt;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;background: white; font-size: 9.5pt;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background: white; color: lime; font-size: 9.5pt;&quot;&gt;sys&lt;/span&gt;&lt;span style=&quot;background: white; color: grey; font-size: 9.5pt;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;background: white; color: lime; font-size: 9.5pt;&quot;&gt;master_files&lt;/span&gt;&lt;span style=&quot;background: white; font-size: 9.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background: white; color: blue; font-size: 9.5pt;&quot;&gt;where&lt;/span&gt;&lt;span style=&quot;background: white; font-size: 9.5pt;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background: white; color: blue; font-size: 9.5pt;&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;background: white; font-size: 9.5pt;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background: white; color: grey; font-size: 9.5pt;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;background: white; font-size: 9.5pt;&quot;&gt; 0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;















































&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background: white; color: grey; font-size: 9.5pt; line-height: 107%;&quot;&gt;and&lt;/span&gt;&lt;span style=&quot;background: white; font-size: 9.5pt; line-height: 107%;&quot;&gt; database_id &lt;/span&gt;&lt;span style=&quot;background: white; color: grey; font-size: 9.5pt; line-height: 107%;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;background: white; font-size: 9.5pt; line-height: 107%;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background: white; color: magenta; font-size: 9.5pt; line-height: 107%;&quot;&gt;db_id&lt;/span&gt;&lt;span style=&quot;background: white; color: grey; font-size: 9.5pt; line-height: 107%;&quot;&gt;()&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: grey; font-family: Consolas; font-size: 9.5pt; line-height: 107%; mso-bidi-font-family: Consolas;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://jboca.blogspot.com/feeds/8953994420150693472/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3478804414142902008/8953994420150693472' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/8953994420150693472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/8953994420150693472'/><link rel='alternate' type='text/html' href='http://jboca.blogspot.com/2017/09/el-algoritmo-de-llenado-proporcional.html' title='El algoritmo de llenado proporcional (Proportional fill)'/><author><name>John J. Bocachica</name><uri>http://www.blogger.com/profile/05173460945632553184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp2.blogger.com/_hpD3dFwMIwA/R9bYn9MbUPI/AAAAAAAAA_s/4nygb2QlOak/S220/boca+linchtestein+.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3478804414142902008.post-4427488254256495732</id><published>2014-01-21T20:07:00.000-05:00</published><updated>2014-01-21T20:07:01.354-05:00</updated><title type='text'>Bloqueo automatico de cuentas en SQL Server por numero de intentos</title><content type='html'>Algunas personas me han preguntado sobre la posibilidad de bloquear las cuentas de SQL Server cuando los usuarios fallen demasiadas veces al intentar autenticarse, aquí la solución aprovechando las características de directorio activo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style = &quot;margin-left:auto;margin-right:auto;&quot;&gt;
&lt;iframe width=&quot;640&quot; height=&quot;390&quot; src=&quot;//www.youtube.com/embed/u01C2jLbfhA&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jboca.blogspot.com/feeds/4427488254256495732/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3478804414142902008/4427488254256495732' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/4427488254256495732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/4427488254256495732'/><link rel='alternate' type='text/html' href='http://jboca.blogspot.com/2014/01/bloqueo-automatico-de-cuentas-en-sql.html' title='Bloqueo automatico de cuentas en SQL Server por numero de intentos'/><author><name>John J. Bocachica</name><uri>http://www.blogger.com/profile/05173460945632553184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp2.blogger.com/_hpD3dFwMIwA/R9bYn9MbUPI/AAAAAAAAA_s/4nygb2QlOak/S220/boca+linchtestein+.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3478804414142902008.post-3774546311698645456</id><published>2013-10-18T14:39:00.001-05:00</published><updated>2013-10-18T14:39:20.081-05:00</updated><title type='text'>Ejecutar múltiples archivos SQL</title><content type='html'>&lt;div id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:fdb2d2bd-7769-4c4f-9cb2-594dd36a7a64&quot; class=&quot;wlWriterEditableSmartContent&quot; style=&quot;float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px&quot;&gt;Etiquetas de Technorati: &lt;a href=&quot;http://technorati.com/tags/SQL+Server&quot; rel=&quot;tag&quot;&gt;SQL Server&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/PowerShell&quot; rel=&quot;tag&quot;&gt;PowerShell&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/SQL&quot; rel=&quot;tag&quot;&gt;SQL&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/Guillermo+Taylor&quot; rel=&quot;tag&quot;&gt;Guillermo Taylor&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/Summit13&quot; rel=&quot;tag&quot;&gt;Summit13&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/SQLPass&quot; rel=&quot;tag&quot;&gt;SQLPass&lt;/a&gt;&lt;/div&gt; &lt;p&gt;Durante el Pass Summit en Charlotte, charlando con mi amigo Guillermo Taylor que por cierto les recomiendo leer su &lt;a href=&quot;http://mastergt68.wordpress.com/&quot;&gt;blog&lt;/a&gt;, hablábamos sobre la necesidad de ejecutar aproximadamente 4000 archivos SQL y cómo hacerlo rápidamente, bueno, durante esas charlas en los intermedios de más charlas llegamos a la conclusión de hacerlo utilizando PowerShell. &lt;p&gt;Ahora, imaginen un archivo .TXT con las siguientes características &lt;div class=&quot;csharpcode&quot;&gt;&lt;pre class=&quot;alt&quot;&gt;C:\Queries\Query1.sql&lt;/pre&gt;&lt;pre&gt;D:\Consultas\Consulta1.sql&lt;/pre&gt;&lt;pre class=&quot;alt&quot;&gt;P:\MoreQueries\Query2.sql&lt;/pre&gt;&lt;pre&gt;P:\Consultas2\Consulta.sql&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;style type=&quot;text/css&quot;&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, &quot;Courier New&quot;, courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Bien, como pueden ver, el archivo contiene múltiples ubicaciones, bien, podríamos haberlo hecho utilizando SSIS (Como hacerlo con SSIS), pero solo para poner en practica nuestros skills con PowerShell decidimos hacerlo allí.&lt;br /&gt;&lt;p&gt;&amp;nbsp; &lt;div class=&quot;csharpcode&quot;&gt;&lt;pre class=&quot;alt&quot;&gt;$archivo = &lt;span class=&quot;str&quot;&gt;&quot;C:\ArchivosSQL\test.txt&quot;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;$entradas = gc $archivo&lt;/pre&gt;&lt;pre class=&quot;alt&quot;&gt;&lt;span class=&quot;kwrd&quot;&gt;foreach&lt;/span&gt; ($entrada &lt;span class=&quot;kwrd&quot;&gt;in&lt;/span&gt; $entradas)&lt;/pre&gt;&lt;pre&gt;{&lt;/pre&gt;&lt;pre class=&quot;alt&quot;&gt;    SQLCMD -S &amp;lt;SERVIDOR&amp;gt; -U &amp;lt;USUARIO&amp;gt; -P &amp;lt;PASSWORD&amp;gt; -d &amp;lt;BASE DE DATOS&amp;gt; -i $entrada&lt;/pre&gt;&lt;pre&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;style type=&quot;text/css&quot;&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, &quot;Courier New&quot;, courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Enjoy it from the #Summit13 at #SQLPass&lt;br /&gt;  </content><link rel='replies' type='application/atom+xml' href='http://jboca.blogspot.com/feeds/3774546311698645456/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3478804414142902008/3774546311698645456' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/3774546311698645456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/3774546311698645456'/><link rel='alternate' type='text/html' href='http://jboca.blogspot.com/2013/10/ejecutar-multiples-archivos-sql_18.html' title='Ejecutar múltiples archivos SQL'/><author><name>John J. Bocachica</name><uri>http://www.blogger.com/profile/05173460945632553184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp2.blogger.com/_hpD3dFwMIwA/R9bYn9MbUPI/AAAAAAAAA_s/4nygb2QlOak/S220/boca+linchtestein+.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3478804414142902008.post-3313403092227294131</id><published>2013-08-20T19:22:00.000-05:00</published><updated>2013-08-20T19:23:02.048-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="2012"/><category scheme="http://www.blogger.com/atom/ns#" term="base de datos"/><category scheme="http://www.blogger.com/atom/ns#" term="database"/><category scheme="http://www.blogger.com/atom/ns#" term="Information Workers"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server 2008"/><title type='text'>Antes y después del Merge – Upsert SQL Server</title><content type='html'>&lt;div class=&quot;MsoNormal&quot;&gt;
Hace poco tiempo un cliente me comentaba sobre la necesidad
de ejecutar comandos de tipo UPSERT, típicamente este proceso lo venía haciendo
de forma manual, hacia una revisión uno a uno de los campos y luego mediante
estructuras en TSQL hacia la carga o la actualización a su base de datos, por
eso me dispuse a escribir este post.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Desde la versión 2008 de Microsoft SQL Server, contamos con
una nueva forma de actualizar o insertar datos a una tabla, este comando nos
permite ir un paso más allá y en una sola transacción efectuar todo el proceso,
de golpe y sin mayores complicaciones.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Ver todo el post en:&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;u&gt;&lt;span style=&quot;color: #2e75b6; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #2E75B6; mso-style-textfill-fill-colortransforms: lumm=75000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 191;&quot;&gt;&lt;a href=&quot;http://social.technet.microsoft.com/wiki/contents/articles/19221.antes-y-despues-del-merge-upsert-sql-server.aspx&quot; target=&quot;_blank&quot;&gt;http://social.technet.microsoft.com/wiki/contents/articles/19221.antes-y-despues-del-merge-upsert-sql-server.aspx&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://jboca.blogspot.com/feeds/3313403092227294131/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3478804414142902008/3313403092227294131' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/3313403092227294131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/3313403092227294131'/><link rel='alternate' type='text/html' href='http://jboca.blogspot.com/2013/08/antes-y-despues-del-merge-upsert-sql.html' title='Antes y después del Merge – Upsert SQL Server'/><author><name>John J. Bocachica</name><uri>http://www.blogger.com/profile/05173460945632553184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp2.blogger.com/_hpD3dFwMIwA/R9bYn9MbUPI/AAAAAAAAA_s/4nygb2QlOak/S220/boca+linchtestein+.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3478804414142902008.post-1243062947538816188</id><published>2013-01-31T15:16:00.004-05:00</published><updated>2013-01-31T15:16:55.882-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="2012"/><category scheme="http://www.blogger.com/atom/ns#" term="Analysis Services"/><category scheme="http://www.blogger.com/atom/ns#" term="Puertos"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server"/><title type='text'>Como determinar que puerto esta utilizando SQL Server 2012 Analysis Services</title><content type='html'>&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Un inconveniente común ahora entre muchos clientes que han implementado SQL Server Analysis Services en su versión 2012, es el cambio dinámico de puertos, típicamente estábamos acostumbrados a tener un puerto fijo en SSAS en versiones anteriores del producto, a partir de SQL Server 2012 y específicamente hablando de implementaciones de SSAS Tabular Mode, nos encontramos con puertos dinámicos, de esta forma, si el cliente reinicia su servidor o reinicia los servicios, el puerto cambiara dinámicamente, muchas aplicaciones usan queries a RPC para determinar que puerto esta utilizando un servicio y de esa forma dinámicamente determinar a que puerto debe conectarse, como es el caso de SQL Server Management Studio y que redunda en la razón por la cual muchos no detectamos esto hasta tanto alguien mas intenta ingresar utilizando opciones diferentes como por ejemplo PowerView desde Microsoft SharePoint.&lt;br /&gt;&lt;br /&gt; Con el fin de determinar que puerto esta utilizando SQL Server Analysis Services 2012 después de un reinicio, utilizaremos el command prompt y un par de líneas de código que retornaran la información deseada. (&lt;a href=&quot;http://social.technet.microsoft.com/wiki/contents/articles/15651.como-determinar-que-puerto-esta-utilizando-sql-server-2012-analysis-services.aspx&quot; target=&quot;_blank&quot;&gt;Ver todo el articulo&lt;/a&gt;)&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://jboca.blogspot.com/feeds/1243062947538816188/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3478804414142902008/1243062947538816188' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/1243062947538816188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/1243062947538816188'/><link rel='alternate' type='text/html' href='http://jboca.blogspot.com/2013/01/como-determinar-que-puerto-esta.html' title='Como determinar que puerto esta utilizando SQL Server 2012 Analysis Services'/><author><name>John J. Bocachica</name><uri>http://www.blogger.com/profile/05173460945632553184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp2.blogger.com/_hpD3dFwMIwA/R9bYn9MbUPI/AAAAAAAAA_s/4nygb2QlOak/S220/boca+linchtestein+.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3478804414142902008.post-751255547797320286</id><published>2012-10-05T13:56:00.002-05:00</published><updated>2012-10-05T13:56:38.003-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="administracion"/><category scheme="http://www.blogger.com/atom/ns#" term="base de datos"/><category scheme="http://www.blogger.com/atom/ns#" term="database"/><category scheme="http://www.blogger.com/atom/ns#" term="Indices"/><category scheme="http://www.blogger.com/atom/ns#" term="Information Workers"/><category scheme="http://www.blogger.com/atom/ns#" term="microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server 2008"/><category scheme="http://www.blogger.com/atom/ns#" term="technology"/><title type='text'>Como particionar una tabla existente</title><content type='html'>&lt;br /&gt;
&lt;div style=&quot;margin: 0in 0in 8pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: calibri; font-size: 16px;&quot;&gt;Una de las tareas más deseadas hoy en día por muchos administradores de bases de datos, es el particionar sus tablas, una de las grandes ventajas del particionamiento de tablas en SQL Server, es la capacidad de distribuir la carga física en múltiples discos duros, por ende, existen más partes mecánicas ejecutando una sola tarea.&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &#39;times new roman&#39;; font-size: 16px;&quot;&gt;&lt;/span&gt; &lt;div style=&quot;margin: 0in 0in 8pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: calibri; font-size: 16px;&quot;&gt;Sin embargo, gran parte de estas bases de datos existen desde hace mucho tiempo, por lo que no se encuentran particionadas en su gran mayoría, además de estar soportando actualmente aplicaciones de negocio, debido a esto... (&lt;a href=&quot;http://social.technet.microsoft.com/wiki/contents/articles/13842.como-particionar-una-tabla-existente.aspx&quot;&gt;Ver todo el articulo&lt;/a&gt;)&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://jboca.blogspot.com/feeds/751255547797320286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3478804414142902008/751255547797320286' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/751255547797320286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/751255547797320286'/><link rel='alternate' type='text/html' href='http://jboca.blogspot.com/2012/10/como-particionar-una-tabla-existente.html' title='Como particionar una tabla existente'/><author><name>John J. Bocachica</name><uri>http://www.blogger.com/profile/05173460945632553184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp2.blogger.com/_hpD3dFwMIwA/R9bYn9MbUPI/AAAAAAAAA_s/4nygb2QlOak/S220/boca+linchtestein+.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3478804414142902008.post-5206465508739435511</id><published>2012-10-04T13:57:00.003-05:00</published><updated>2012-10-04T13:57:30.149-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="administracion"/><category scheme="http://www.blogger.com/atom/ns#" term="base de datos"/><category scheme="http://www.blogger.com/atom/ns#" term="database"/><category scheme="http://www.blogger.com/atom/ns#" term="Desfragmentacion"/><category scheme="http://www.blogger.com/atom/ns#" term="Fragmentacion"/><category scheme="http://www.blogger.com/atom/ns#" term="Indices"/><category scheme="http://www.blogger.com/atom/ns#" term="Information Workers"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server"/><title type='text'>Como especificar el fill factor en un índice</title><content type='html'>&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
La opción de fill factor permite el afinamiento del rendimiento y almacenamiento de los índices, cuando un índice es creado o reconstruido, el fill factor determina el porcentaje de espacio a nivel de la hoja de cada página que será llenada con datos; reservando el espacio restante en cada página como espacio libre y disponible para futuro crecimiento.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Ejemplo&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Si tenemos un índice con un fill factor de 80, esto significa que el 20% de la página será reservado para el momento en que se agreguen datos que deban ser guardados en ese espacio.&lt;br /&gt;&lt;/div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: currentColor;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;background-color: #00b050; border: 1pt solid windowtext; padding: 0in 5.4pt; width: 47.5pt;&quot; valign=&quot;top&quot;&gt;&lt;div style=&quot;margin-bottom: 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;color: white;&quot;&gt;Lleno&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td style=&quot;background-color: #00b050; border-bottom-color: windowtext; border-bottom-width: 1pt; border-right-color: windowtext; border-right-width: 1pt; border-style: solid solid solid none; border-top-color: windowtext; border-top-width: 1pt; padding: 0in 5.4pt; width: 47.5pt;&quot; valign=&quot;top&quot;&gt;&lt;div style=&quot;margin-bottom: 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;color: white;&quot;&gt;Lleno&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td style=&quot;background-color: #00b050; border-bottom-color: windowtext; border-bottom-width: 1pt; border-right-color: windowtext; border-right-width: 1pt; border-style: solid solid solid none; border-top-color: windowtext; border-top-width: 1pt; padding: 0in 5.4pt; width: 47.5pt;&quot; valign=&quot;top&quot;&gt;&lt;div style=&quot;margin-bottom: 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;color: white;&quot;&gt;Lleno&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td style=&quot;background-color: #00b050; border-bottom-color: windowtext; border-bottom-width: 1pt; border-right-color: windowtext; border-right-width: 1pt; border-style: solid solid solid none; border-top-color: windowtext; border-top-width: 1pt; padding: 0in 5.4pt; width: 47.5pt;&quot; valign=&quot;top&quot;&gt;&lt;div style=&quot;margin-bottom: 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;color: white;&quot;&gt;Lleno&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td style=&quot;background-color: #00b050; border-bottom-color: windowtext; border-bottom-width: 1pt; border-right-color: windowtext; border-right-width: 1pt; border-style: solid solid solid none; border-top-color: windowtext; border-top-width: 1pt; padding: 0in 5.4pt; width: 47.5pt;&quot; valign=&quot;top&quot;&gt;&lt;div style=&quot;margin-bottom: 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;color: white;&quot;&gt;Lleno&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td style=&quot;background-color: #00b050; border-bottom-color: windowtext; border-bottom-width: 1pt; border-right-color: windowtext; border-right-width: 1pt; border-style: solid solid solid none; border-top-color: windowtext; border-top-width: 1pt; padding: 0in 5.4pt; width: 47.5pt;&quot; valign=&quot;top&quot;&gt;&lt;div style=&quot;margin-bottom: 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;color: white;&quot;&gt;Lleno&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td style=&quot;background-color: #00b050; border-bottom-color: windowtext; border-bottom-width: 1pt; border-right-color: windowtext; border-right-width: 1pt; border-style: solid solid solid none; border-top-color: windowtext; border-top-width: 1pt; padding: 0in 5.4pt; width: 47.5pt;&quot; valign=&quot;top&quot;&gt;&lt;div style=&quot;margin-bottom: 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;color: white;&quot;&gt;Lleno&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td style=&quot;background-color: #00b050; border-bottom-color: windowtext; border-bottom-width: 1pt; border-right-color: windowtext; border-right-width: 1pt; border-style: solid solid solid none; border-top-color: windowtext; border-top-width: 1pt; padding: 0in 5.4pt; width: 47.5pt;&quot; valign=&quot;top&quot;&gt;&lt;div style=&quot;margin-bottom: 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;color: white;&quot;&gt;Lleno&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td style=&quot;border-bottom-color: windowtext; border-bottom-width: 1pt; border-right-color: windowtext; border-right-width: 1pt; border-style: solid solid solid none; border-top-color: windowtext; border-top-width: 1pt; padding: 0in 5.4pt; width: 47.5pt;&quot; valign=&quot;top&quot;&gt;&lt;div style=&quot;margin-bottom: 0pt; text-align: justify;&quot;&gt;
Libre&lt;/div&gt;
&lt;/td&gt;&lt;td style=&quot;border-bottom-color: windowtext; border-bottom-width: 1pt; border-right-color: windowtext; border-right-width: 1pt; border-style: solid solid solid none; border-top-color: windowtext; border-top-width: 1pt; padding: 0in 5.4pt; width: 47.5pt;&quot; valign=&quot;top&quot;&gt;&lt;div style=&quot;margin-bottom: 0pt; text-align: justify;&quot;&gt;
Libre&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
El fill factor es un número que va de 1 a 100, a nivel de servidor el valor predeterminado es 0, esto significa que las paginas serán llenadas en su totalidad &lt;em&gt;&lt;span style=&quot;color: #203864;&quot;&gt;– El valor 0 y 100 significan lo mismo para el fill factor –&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;
&lt;h1 style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;a href=&quot;&quot; name=&quot;Consideraciones_para_temas_de_rendimiento&quot;&gt;&lt;/a&gt;Consideraciones para temas de rendimiento&lt;/span&gt;&lt;/h1&gt;
&lt;h2 style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-size: 18px;&quot;&gt;&lt;a href=&quot;&quot; name=&quot;Page_splits_Contador_SQLServer_Access_Methods_Page_Splits_sec&quot;&gt;&lt;/a&gt;&lt;span lang=&quot;EN-US&quot;&gt;Page splits (Contador: &lt;/span&gt;&lt;strong&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #7030a0;&quot;&gt;\SQLServer:Access Methods\Page Splits/sec&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Elegir correctamente el fill factor para los índices puede reducir notablemente los &lt;strong&gt;page splits, &lt;/strong&gt;aprovisionando suficiente espacio para la expansión de los índices a medida que más datos sean agregados a la tabla; cuando una fila es agregada a una página de índice que se encuentra llena, el motor mueve aproximadamente la mitad de las filas a una nueva página con el fin de abrirle espacio a la nueva fila; el proceso de reorganización sobre las paginas es conocido como &lt;strong&gt;page split, &lt;/strong&gt;este proceso abre espacio para nuevas filas, pero puede tomar tiempo además de ser costosa a nivel de recursos de máquina, además, puede causar fragmentación, lo que aumenta las operaciones de I/O.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Cuando ocurren operaciones de tipo &lt;strong&gt;page split &lt;/strong&gt;de forma frecuente, se debe considerar la reconstrucción del índice (ALTER INDEX REBUILD) utilizando un valor diferente de &lt;strong&gt;fill factor&lt;/strong&gt; para redistribuir los datos; para más información vea el articulo &lt;a href=&quot;http://social.technet.microsoft.com/wiki/contents/articles/13796.fragmentacion-y-desfragmentacion-de-indices.aspx&quot;&gt;fragmentación y desfragmentación de índices.&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&amp;nbsp;&lt;/div&gt;
&lt;h2&gt;
&lt;a href=&quot;&quot; name=&quot;Tener_en_cuenta_para_determinar_el_fill_factor&quot;&gt;&lt;/a&gt;Tener en cuenta para determinar el fill factor&lt;/h2&gt;
&lt;div&gt;
Un valor para el fill factor diferente al 100%, es decir distinto de 0 y de 100, puede ser positivo para el rendimiento de la base de datos siempre y cuando la información que se va agregando a la tabla se distribuya sobre la misma; sin embargo, si la información que se va insertando a la tabla siempre va al final de la misma, los espacios vacíos nunca serán llenados ni aprovechados, por ejemplo, si estamos agregando información con una columna de tipo IDENTITY y que esta corresponde a la llave de la tabla, está siempre será incremental y las filas del índice serán agregadas al final del índice.&lt;/div&gt;
&lt;div&gt;
Si las filas actuales serán actualizadas con datos que aumenten el tamaño de las filas, es recomendable utilizar un fill factor menor a 100, estos bytes extra en cada página ayudaran a minimizar los page splits causados por el crecimiento del tamaño de fila.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://jboca.blogspot.com/feeds/5206465508739435511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3478804414142902008/5206465508739435511' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/5206465508739435511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/5206465508739435511'/><link rel='alternate' type='text/html' href='http://jboca.blogspot.com/2012/10/como-especificar-el-fill-factor-en-un.html' title='Como especificar el fill factor en un índice'/><author><name>John J. Bocachica</name><uri>http://www.blogger.com/profile/05173460945632553184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp2.blogger.com/_hpD3dFwMIwA/R9bYn9MbUPI/AAAAAAAAA_s/4nygb2QlOak/S220/boca+linchtestein+.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3478804414142902008.post-614983442908694391</id><published>2012-10-04T13:56:00.001-05:00</published><updated>2012-10-04T13:56:07.508-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="administracion"/><category scheme="http://www.blogger.com/atom/ns#" term="base de datos"/><category scheme="http://www.blogger.com/atom/ns#" term="database"/><category scheme="http://www.blogger.com/atom/ns#" term="Desfragmentacion"/><category scheme="http://www.blogger.com/atom/ns#" term="Fragmentacion"/><category scheme="http://www.blogger.com/atom/ns#" term="Indices"/><category scheme="http://www.blogger.com/atom/ns#" term="Information Workers"/><category scheme="http://www.blogger.com/atom/ns#" term="microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server"/><category scheme="http://www.blogger.com/atom/ns#" term="technology"/><title type='text'>Fragmentación y desfragmentación de índices</title><content type='html'>&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: calibri;&quot;&gt;Una de las tareas más comunes y necesarias durante el proceso de optimización y mantenimiento de las bases de datos es la desfragmentación de los índices, es así mismo quizá la tarea más olvidada por los administradores de bases de datos. &lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: calibri;&quot;&gt;Los índices altamente fragmentados pueden afectar de manera negativa el rendimiento del motor de bases de datos e incluso causar que su aplicación no responda de la manera adecuada.&lt;/span&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;em&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;em&gt;&lt;span style=&quot;color: #7030a0; font-family: calibri;&quot;&gt;&lt;strong&gt;Fragmentación&lt;/strong&gt;: Proceso mediante el cual el motor de base de datos debido a las constantes tareas de Insert, Update y Delete, a medida que estas instrucciones se van ejecutando dentro de nuestra base de datos, la misma sufre un proceso de dispersión de los datos, más conocida como fragmentación. La fragmentación ocurre cuando los índices tienen páginas que se encuentran ordenadas de forma lógica, y basándose en la llave estos no coinciden con el orden físico dentro del archivo de datos.&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: calibri;&quot;&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/em&gt;&lt;span style=&quot;font-family: calibri;&quot;&gt; &lt;div style=&quot;text-align: justify;&quot;&gt;
La fragmentación se puede solucionar mediante 2 opciones, reorganizar y/o reconstruir los índices, para los índices particionados esta tarea se puede ejecutar tanto en el índice completo como en la partición del mismo.&lt;/div&gt;
&lt;/span&gt; &lt;div style=&quot;margin: 0in 0in 8pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: calibri;&quot;&gt;&lt;strong&gt;Reconstrucción del índice (Rebuild): &lt;/strong&gt;Este proceso elimina y crea nuevamente el índice, remueve la fragmentación y recupera espacio en disco compactando las páginas basándose en la configuración del fill factor o en el parámetro de la instrucción.&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;margin: 0in 0in 8pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: calibri;&quot;&gt;&lt;strong&gt;Reorganización del índice (Reorganize):&lt;/strong&gt; Este proceso requiere menos recursos del sistema y realiza la desfragmentación al nivel de la hoja de la página, reorganizando a nivel físico las hojas para que coincidan con el orden lógico de las mismas, la reorganización también compacta las páginas de los índices, esta se da basándose en la configuración del fill factor.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #2e74b5; font-family: &amp;quot;calibri light&amp;quot;; font-size: 24px;&quot;&gt;Detección de la fragmentación de los indices&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: calibri;&quot;&gt;Lo primero es determinar que método de desfragmentación usar, para esta tarea se puede utilizar la función &lt;em&gt;&lt;span style=&quot;color: #2e75b6;&quot;&gt;sys.dm_db_index_physical_stats&lt;/span&gt;&lt;/em&gt;, esta nos devuelve la fragmentación de un índice, de los índices en una tabla, de los índices en una base de datos&amp;nbsp; o de todos los índices en todas las bases de datos, de igual manera para los índices particionados, esta función nos devuelve el estado de cada una de las particiones asociadas al índice.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTable15Grid4Accent3&quot; style=&quot;border-collapse: collapse; border: currentColor; text-align: justify; width: 863px;&quot;&gt;&lt;tbody&gt;
&lt;tr style=&quot;height: 13.2pt;&quot;&gt;&lt;td style=&quot;background-color: #a5a5a5; border-color: rgb(165, 165, 165) rgb(0, 0, 0) rgb(165, 165, 165) rgb(165, 165, 165); border-style: solid none solid solid; border-width: 1pt 0px 1pt 1pt; height: 13.2pt; padding: 1.45pt 5.4pt; width: 154.05pt;&quot; valign=&quot;top&quot;&gt;&lt;div style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;color: white; font-family: calibri;&quot;&gt;Columna&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td style=&quot;background-color: #a5a5a5; border-color: rgb(165, 165, 165) rgb(165, 165, 165) rgb(165, 165, 165) rgb(0, 0, 0); border-style: solid solid solid none; border-width: 1pt 1pt 1pt 0px; height: 13.2pt; padding: 1.45pt 5.4pt; width: 493.55pt;&quot; valign=&quot;top&quot;&gt;&lt;div style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;color: white; font-family: calibri;&quot;&gt;Descripción&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 13.2pt;&quot;&gt;&lt;td style=&quot;background-color: #ededed; border-color: rgb(0, 0, 0) rgb(201, 201, 201) rgb(201, 201, 201); border-style: none solid solid; border-width: 0px 1pt 1pt; height: 13.2pt; padding: 1.45pt 5.4pt; width: 154.05pt;&quot; valign=&quot;top&quot;&gt;&lt;div style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;font-family: calibri;&quot;&gt;avg_fragmentation_in_percent&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td style=&quot;background-color: #ededed; border-color: rgb(0, 0, 0) rgb(201, 201, 201) rgb(201, 201, 201) rgb(0, 0, 0); border-style: none solid solid none; border-width: 0px 1pt 1pt 0px; height: 13.2pt; padding: 1.45pt 5.4pt; width: 493.55pt;&quot; valign=&quot;top&quot;&gt;&lt;div style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: calibri;&quot;&gt;Porcentaje de fragmentación lógica&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 13.2pt;&quot;&gt;&lt;td style=&quot;border-color: rgb(0, 0, 0) rgb(201, 201, 201) rgb(201, 201, 201); border-style: none solid solid; border-width: 0px 1pt 1pt; height: 13.2pt; padding: 1.45pt 5.4pt; width: 154.05pt;&quot; valign=&quot;top&quot;&gt;&lt;div style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;font-family: calibri;&quot;&gt;fragment_count&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td style=&quot;border-color: rgb(0, 0, 0) rgb(201, 201, 201) rgb(201, 201, 201) rgb(0, 0, 0); border-style: none solid solid none; border-width: 0px 1pt 1pt 0px; height: 13.2pt; padding: 1.45pt 5.4pt; width: 493.55pt;&quot; valign=&quot;top&quot;&gt;&lt;div style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: calibri;&quot;&gt;Cantidad de fragmentos&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 0.2in;&quot;&gt;&lt;td style=&quot;background-color: #ededed; border-color: rgb(0, 0, 0) rgb(201, 201, 201) rgb(201, 201, 201); border-style: none solid solid; border-width: 0px 1pt 1pt; height: 0.2in; padding: 1.45pt 5.4pt; width: 154.05pt;&quot; valign=&quot;top&quot;&gt;&lt;div style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;strong&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: calibri;&quot;&gt;avg_fragment_size_in_pages&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td style=&quot;background-color: #ededed; border-color: rgb(0, 0, 0) rgb(201, 201, 201) rgb(201, 201, 201) rgb(0, 0, 0); border-style: none solid solid none; border-width: 0px 1pt 1pt 0px; height: 0.2in; padding: 1.45pt 5.4pt; width: 493.55pt;&quot; valign=&quot;top&quot;&gt;&lt;div style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: calibri;&quot;&gt;Numero promedio de páginas en un fragmento de un índice.&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;span style=&quot;font-family: calibri;&quot;&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;
Tenga en cuenta las siguientes recomendaciones para determinar si debe reorganizar o reconstruir su índice.&lt;span style=&quot;color: #2e74b5; font-family: &amp;quot;calibri light&amp;quot;; font-size: medium;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #2e74b5; font-family: &amp;quot;calibri light&amp;quot;; font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/span&gt; &lt;span style=&quot;color: #2e74b5; font-family: &amp;quot;calibri light&amp;quot;; font-size: 18px;&quot;&gt;&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTable15Grid4Accent3&quot; style=&quot;border-collapse: collapse; border: currentColor; text-align: justify; width: 863px;&quot;&gt;&lt;tbody&gt;
&lt;tr style=&quot;height: 14.8pt;&quot;&gt;&lt;td style=&quot;background-color: #a5a5a5; border-color: rgb(165, 165, 165) rgb(0, 0, 0) rgb(165, 165, 165) rgb(165, 165, 165); border-style: solid none solid solid; border-width: 1pt 0px 1pt 1pt; height: 14.8pt; padding: 1.45pt 5.4pt; width: 189pt;&quot; valign=&quot;top&quot;&gt;&lt;div style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;color: white; font-family: calibri; font-size: 12px;&quot;&gt;Porcentaje de fragmentación&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td style=&quot;background-color: #a5a5a5; border-color: rgb(165, 165, 165) rgb(165, 165, 165) rgb(165, 165, 165) rgb(0, 0, 0); border-style: solid solid solid none; border-width: 1pt 1pt 1pt 0px; height: 14.8pt; padding: 1.45pt 5.4pt; width: 457.9pt;&quot; valign=&quot;top&quot;&gt;&lt;div style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;color: white; font-family: calibri;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;Instrucción a ejecutar&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 14.8pt;&quot;&gt;&lt;td style=&quot;background-color: #ededed; border-color: rgb(0, 0, 0) rgb(201, 201, 201) rgb(201, 201, 201); border-style: none solid solid; border-width: 0px 1pt 1pt; height: 14.8pt; padding: 1.45pt 5.4pt; width: 189pt;&quot; valign=&quot;top&quot;&gt;&lt;div style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;font-family: calibri; font-size: 12px;&quot;&gt;Entre 5% y 30%&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td style=&quot;background-color: #ededed; border-color: rgb(0, 0, 0) rgb(201, 201, 201) rgb(201, 201, 201) rgb(0, 0, 0); border-style: none solid solid none; border-width: 0px 1pt 1pt 0px; height: 14.8pt; padding: 1.45pt 5.4pt; width: 457.9pt;&quot; valign=&quot;top&quot;&gt;&lt;div style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: calibri; font-size: 12px;&quot;&gt;ALTER INDEX REORGANIZE&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 14.8pt;&quot;&gt;&lt;td style=&quot;border-color: rgb(0, 0, 0) rgb(201, 201, 201) rgb(201, 201, 201); border-style: none solid solid; border-width: 0px 1pt 1pt; height: 14.8pt; padding: 1.45pt 5.4pt; width: 189pt;&quot; valign=&quot;top&quot;&gt;&lt;div style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;font-family: calibri; font-size: 12px;&quot;&gt;Mayor al 30%&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td style=&quot;border-color: rgb(0, 0, 0) rgb(201, 201, 201) rgb(201, 201, 201) rgb(0, 0, 0); border-style: none solid solid none; border-width: 0px 1pt 1pt 0px; height: 14.8pt; padding: 1.45pt 5.4pt; width: 457.9pt;&quot; valign=&quot;top&quot;&gt;&lt;div style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: calibri; font-size: 12px;&quot;&gt;ALTER INDEX REBUILD &lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Consulta para determinar el porcentaje de fragmentación (En toda la base de datos)&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/span&gt; &lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;color: blue; font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt;WITH&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style=&quot;color: #2e74b5; font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt; INDICES &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style=&quot;color: grey; font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt;(&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style=&quot;color: #2e74b5; font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt;BD&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style=&quot;color: grey; font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt;,&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style=&quot;color: #2e74b5; font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt; INDICETIPO&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style=&quot;color: grey; font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt;,&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style=&quot;color: #2e74b5; font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt; FRAGMENTACION&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style=&quot;color: grey; font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt;,&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style=&quot;color: #2e74b5; font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt; INDICE&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style=&quot;color: grey; font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt;,&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style=&quot;color: #2e74b5; font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt; TABLA&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style=&quot;color: grey; font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt;)&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt;AS&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: grey; font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt; (&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt;SELECT&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt; DBS&lt;span style=&quot;color: grey;&quot;&gt;.&lt;/span&gt;NAME BASEDEDATOS&lt;span style=&quot;color: grey;&quot;&gt;,&lt;/span&gt; PS&lt;span style=&quot;color: grey;&quot;&gt;.&lt;/span&gt;INDEX_TYPE_DESC&lt;span style=&quot;color: grey;&quot;&gt;,&lt;/span&gt; PS&lt;span style=&quot;color: grey;&quot;&gt;.&lt;/span&gt;AVG_FRAGMENTATION_IN_PERCENT&lt;span style=&quot;color: grey;&quot;&gt;,&lt;/span&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt;IND&lt;span style=&quot;color: grey;&quot;&gt;.&lt;/span&gt;NAME INDICE&lt;span style=&quot;color: grey;&quot;&gt;,&lt;/span&gt; TAB&lt;span style=&quot;color: grey;&quot;&gt;.&lt;/span&gt;NAME TABLA&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt;FROM&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt;SYS.DM_DB_INDEX_PHYSICAL_STATS &lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: magenta;&quot;&gt;DB_ID&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;(),&lt;/span&gt; &lt;span style=&quot;color: grey;&quot;&gt;NULL,&lt;/span&gt; &lt;span style=&quot;color: grey;&quot;&gt;NULL,&lt;/span&gt; &lt;span style=&quot;color: grey;&quot;&gt;NULL,&lt;/span&gt; &lt;span style=&quot;color: grey;&quot;&gt;NULL)&lt;/span&gt; PS&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: grey; font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt;INNER&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt; &lt;span style=&quot;color: grey;&quot;&gt;JOIN&lt;/span&gt; &lt;span style=&quot;color: green;&quot;&gt;SYS.DATABASES&lt;/span&gt; DBS&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt;ON&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt; PS&lt;span style=&quot;color: grey;&quot;&gt;.&lt;/span&gt;DATABASE_ID &lt;span style=&quot;color: grey;&quot;&gt;=&lt;/span&gt; DBS&lt;span style=&quot;color: grey;&quot;&gt;.&lt;/span&gt;DATABASE_ID &lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: grey; font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt;INNER&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt; &lt;span style=&quot;color: grey;&quot;&gt;JOIN&lt;/span&gt; &lt;span style=&quot;color: green;&quot;&gt;SYS.INDEXES&lt;/span&gt; IND&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt;ON&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt; PS&lt;span style=&quot;color: grey;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: magenta;&quot;&gt;OBJECT_ID&lt;/span&gt; &lt;span style=&quot;color: grey;&quot;&gt;=&lt;/span&gt; IND&lt;span style=&quot;color: grey;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: magenta;&quot;&gt;OBJECT_ID&lt;/span&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: grey; font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt;INNER&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt; &lt;span style=&quot;color: grey;&quot;&gt;JOIN&lt;/span&gt; &lt;span style=&quot;color: green;&quot;&gt;SYS.TABLES&lt;/span&gt; TAB &lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt;ON&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt; TAB&lt;span style=&quot;color: grey;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: magenta;&quot;&gt;OBJECT_ID&lt;/span&gt; &lt;span style=&quot;color: grey;&quot;&gt;=&lt;/span&gt; IND&lt;span style=&quot;color: grey;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: magenta;&quot;&gt;OBJECT_ID&lt;/span&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt;WHERE&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt; IND&lt;span style=&quot;color: grey;&quot;&gt;.&lt;/span&gt;NAME &lt;span style=&quot;color: grey;&quot;&gt;IS&lt;/span&gt; &lt;span style=&quot;color: grey;&quot;&gt;NOT&lt;/span&gt; &lt;span style=&quot;color: grey;&quot;&gt;NULL&lt;/span&gt; &lt;span style=&quot;color: grey;&quot;&gt;AND&lt;/span&gt;&amp;nbsp;PS&lt;span style=&quot;color: grey;&quot;&gt;.&lt;/span&gt;INDEX_ID &lt;span style=&quot;color: grey;&quot;&gt;=&lt;/span&gt; IND&lt;span style=&quot;color: grey;&quot;&gt;.&lt;/span&gt;INDEX_ID&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: grey; font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt;AND&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt; PS&lt;span style=&quot;color: grey;&quot;&gt;.&lt;/span&gt;AVG_FRAGMENTATION_IN_PERCENT &lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt; 0&lt;span style=&quot;color: grey;&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt;SELECT&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt; DISTINCT&amp;nbsp; &lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CASE&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;WHEN&lt;/span&gt; FRAGMENTACION &lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt; 5 &lt;span style=&quot;color: grey;&quot;&gt;AND&lt;/span&gt; FRAGMENTACION &lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;=&lt;/span&gt; 30 &lt;span style=&quot;color: blue;&quot;&gt;THEN&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;&#39;ALTER INDEX &#39;&lt;/span&gt; &lt;span style=&quot;color: grey;&quot;&gt;+&lt;/span&gt; INDICE &lt;span style=&quot;color: grey;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;&#39; ON &#39;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: grey;&quot;&gt;+ &lt;/span&gt;TABLA &lt;span style=&quot;color: grey;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;&#39; REORGANIZE&#39;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: blue; font-size: 10pt; line-height: 107%;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; WHEN&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; line-height: 107%;&quot;&gt; FRAGMENTACION &lt;/span&gt;&lt;span style=&quot;color: grey; font-size: 10pt; line-height: 107%;&quot;&gt;&amp;gt; &lt;/span&gt;&lt;span style=&quot;font-size: 10pt; line-height: 107%;&quot;&gt;30 &lt;/span&gt;&lt;span style=&quot;color: blue; font-size: 10pt; line-height: 107%;&quot;&gt;THEN&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; line-height: 107%;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: red; font-size: 10pt; line-height: 107%;&quot;&gt;&#39;ALTER INDEX &#39;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; line-height: 107%;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: grey; font-size: 10pt; line-height: 107%;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; line-height: 107%;&quot;&gt; INDICE &lt;/span&gt;&lt;span style=&quot;color: grey; font-size: 10pt; line-height: 107%;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; line-height: 107%;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: red; font-size: 10pt; line-height: 107%;&quot;&gt;&#39; ON &#39;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; line-height: 107%;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: grey; font-size: 10pt; line-height: 107%;&quot;&gt;+ &lt;/span&gt;&lt;span style=&quot;font-size: 10pt; line-height: 107%;&quot;&gt;TABLA &lt;/span&gt;&lt;span style=&quot;color: grey; font-size: 10pt; line-height: 107%;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; line-height: 107%;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: red; font-size: 10pt; line-height: 107%;&quot;&gt;&#39; REBUILD&#39;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 10pt; line-height: 107%;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 10pt; line-height: 107%;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;END&lt;/span&gt; QUERY&lt;span style=&quot;color: grey;&quot;&gt;,&lt;/span&gt; FRAGMENTACION&lt;span style=&quot;color: grey;&quot;&gt;,&lt;/span&gt; BD&lt;span style=&quot;color: grey;&quot;&gt;,&lt;/span&gt; INDICE&lt;span style=&quot;color: grey;&quot;&gt;,&lt;/span&gt; TABLA&lt;/span&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt; &lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: blue; font-size: 10pt; line-height: 107%;&quot;&gt;FROM&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; line-height: 107%;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: grey; font-size: 10pt; line-height: 107%;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: blue; font-size: 10pt; line-height: 107%;&quot;&gt;SELECT&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; line-height: 107%;&quot;&gt; FRAGMENTACION&lt;/span&gt;&lt;span style=&quot;color: grey; font-size: 10pt; line-height: 107%;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; line-height: 107%;&quot;&gt; INDICE&lt;/span&gt;&lt;span style=&quot;color: grey; font-size: 10pt; line-height: 107%;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; line-height: 107%;&quot;&gt; TABLA&lt;/span&gt;&lt;span style=&quot;color: grey; font-size: 10pt; line-height: 107%;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; line-height: 107%;&quot;&gt; BD &lt;/span&gt;&lt;span style=&quot;color: blue; font-size: 10pt; line-height: 107%;&quot;&gt;FROM&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; line-height: 107%;&quot;&gt; INDICES&lt;/span&gt;&lt;/div&gt;
&lt;/span&gt; &lt;div style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;WHERE&lt;/span&gt; FRAGMENTACION &lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt; 5&lt;span style=&quot;color: grey;&quot;&gt;)&lt;/span&gt; A&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt;ORDER&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 107%;&quot;&gt; &lt;span style=&quot;color: blue;&quot;&gt;BY&lt;/span&gt; FRAGMENTACION &lt;span style=&quot;color: blue;&quot;&gt;DESC&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;color: #7030a0;&quot;&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;&lt;em&gt;Los índices pueden ser reconstruidos en línea o fuera de línea, la reorganización siempre se da en línea, para mantener niveles de disponibilidad similares a la de los índices reorganizados, la reconstrucción debe darse en línea y mediante la instrucción.&lt;/em&gt;&lt;/span&gt; &lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;em&gt;&lt;span style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%;&quot;&gt;ALTER INDEX REBUILD WITH (ONLINE = ON)&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;
&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://jboca.blogspot.com/feeds/614983442908694391/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3478804414142902008/614983442908694391' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/614983442908694391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/614983442908694391'/><link rel='alternate' type='text/html' href='http://jboca.blogspot.com/2012/10/fragmentacion-y-desfragmentacion-de.html' title='Fragmentación y desfragmentación de índices'/><author><name>John J. Bocachica</name><uri>http://www.blogger.com/profile/05173460945632553184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp2.blogger.com/_hpD3dFwMIwA/R9bYn9MbUPI/AAAAAAAAA_s/4nygb2QlOak/S220/boca+linchtestein+.jpg'/></author><thr:total>1</thr:total><georss:featurename>Bogotá, Colombia</georss:featurename><georss:point>4.5980556 -74.0758333</georss:point><georss:box>3.5851516000000005 -75.3392608 5.6109596 -72.8124058</georss:box></entry><entry><id>tag:blogger.com,1999:blog-3478804414142902008.post-7763293025945922288</id><published>2012-10-01T18:35:00.002-05:00</published><updated>2012-10-01T18:35:34.921-05:00</updated><title type='text'>Instalando SQL Server en Windows Server 2012 -  Microsoft .Net Framework 3.5 Service Pack 1 is Required</title><content type='html'>&lt;iframe width=&quot;640&quot; height=&quot;360&quot; src=&quot;http://www.youtube.com/embed/gAnoxHE74Bc?feature=player_detailpage&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;</content><link rel='replies' type='application/atom+xml' href='http://jboca.blogspot.com/feeds/7763293025945922288/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3478804414142902008/7763293025945922288' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/7763293025945922288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/7763293025945922288'/><link rel='alternate' type='text/html' href='http://jboca.blogspot.com/2012/10/instalando-sql-server-en-windows-server_1.html' title='Instalando SQL Server en Windows Server 2012 -  Microsoft .Net Framework 3.5 Service Pack 1 is Required'/><author><name>John J. Bocachica</name><uri>http://www.blogger.com/profile/05173460945632553184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp2.blogger.com/_hpD3dFwMIwA/R9bYn9MbUPI/AAAAAAAAA_s/4nygb2QlOak/S220/boca+linchtestein+.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/gAnoxHE74Bc/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3478804414142902008.post-2927674870444275675</id><published>2012-10-01T18:34:00.001-05:00</published><updated>2012-10-01T18:34:46.826-05:00</updated><title type='text'>Instalando SQL Server en Windows Server 2008 R2 -  Microsoft .Net Framework 3.5 Service Pack 1 is Required</title><content type='html'>&lt;iframe width=&quot;640&quot; height=&quot;360&quot; src=&quot;http://www.youtube.com/embed/JvLH9K4aKBs?feature=player_detailpage&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;</content><link rel='replies' type='application/atom+xml' href='http://jboca.blogspot.com/feeds/2927674870444275675/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3478804414142902008/2927674870444275675' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/2927674870444275675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/2927674870444275675'/><link rel='alternate' type='text/html' href='http://jboca.blogspot.com/2012/10/instalando-sql-server-en-windows-server.html' title='Instalando SQL Server en Windows Server 2008 R2 -  Microsoft .Net Framework 3.5 Service Pack 1 is Required'/><author><name>John J. Bocachica</name><uri>http://www.blogger.com/profile/05173460945632553184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp2.blogger.com/_hpD3dFwMIwA/R9bYn9MbUPI/AAAAAAAAA_s/4nygb2QlOak/S220/boca+linchtestein+.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/JvLH9K4aKBs/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3478804414142902008.post-2112173199274626803</id><published>2012-09-21T18:57:00.002-05:00</published><updated>2012-09-21T18:57:16.840-05:00</updated><title type='text'>Como cambiar el nombre de un servidor con SQL Server</title><content type='html'>&lt;iframe width=&quot;640&quot; height=&quot;360&quot; src=&quot;http://www.youtube.com/embed/LTHhq2qc3ZU?feature=player_detailpage&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;</content><link rel='replies' type='application/atom+xml' href='http://jboca.blogspot.com/feeds/2112173199274626803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3478804414142902008/2112173199274626803' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/2112173199274626803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/2112173199274626803'/><link rel='alternate' type='text/html' href='http://jboca.blogspot.com/2012/09/como-cambiar-el-nombre-de-un-servidor.html' title='Como cambiar el nombre de un servidor con SQL Server'/><author><name>John J. Bocachica</name><uri>http://www.blogger.com/profile/05173460945632553184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp2.blogger.com/_hpD3dFwMIwA/R9bYn9MbUPI/AAAAAAAAA_s/4nygb2QlOak/S220/boca+linchtestein+.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/LTHhq2qc3ZU/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3478804414142902008.post-7541504183405624067</id><published>2012-08-10T16:14:00.001-05:00</published><updated>2012-08-10T16:14:27.724-05:00</updated><title type='text'>DBCC SHRINKFILE y sus implicaciones</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Hace algun tiempo un cliente me pidio una solucion para poder reducir el tamano de las bases de datos, mi respuesta ante este tipo de preguntas siempre ha sido otras preguntas: &lt;/p&gt; &lt;ol&gt; &lt;li&gt;Para que quiere reducir el tamano de su base de datos?  &lt;li&gt;No tiene espacio?&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;La respuesta ante esto es tipicamente la misma&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Para hacerle “Mantenimiento”  &lt;li&gt;Si tengo, pero es que quiero liberarlo…&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Ante estas respuestas procuro siempre darle la misma recomendacion a mis clientes: &lt;/p&gt; &lt;p&gt;&lt;strong&gt;No lo haga, no lo haga a menos que sea extrictamente necesario!&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Muchas veces los clientes y algunos DBAs ejecutan la siguiente instruccion con el fin de reducir el tamano de sus bases de datos&lt;/p&gt;  &lt;div class=&quot;csharpcode&quot;&gt;&lt;pre class=&quot;alt&quot;&gt;&lt;span class=&quot;lnum&quot;&gt;   1:  &lt;/span&gt;&lt;span class=&quot;kwrd&quot;&gt;USE&lt;/span&gt; AdventureWorks;&lt;/pre&gt;&lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;   2:  &lt;/span&gt;&lt;span class=&quot;kwrd&quot;&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;pre class=&quot;alt&quot;&gt;&lt;span class=&quot;lnum&quot;&gt;   3:  &lt;/span&gt;&lt;span class=&quot;rem&quot;&gt;-- Truncate the log by changing the database recovery model to SIMPLE.&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;   4:  &lt;/span&gt;&lt;span class=&quot;kwrd&quot;&gt;ALTER&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;DATABASE&lt;/span&gt; AdventureWorks&lt;/pre&gt;&lt;pre class=&quot;alt&quot;&gt;&lt;span class=&quot;lnum&quot;&gt;   5:  &lt;/span&gt;&lt;span class=&quot;kwrd&quot;&gt;SET&lt;/span&gt; RECOVERY SIMPLE;&lt;/pre&gt;&lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;   6:  &lt;/span&gt;&lt;span class=&quot;kwrd&quot;&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;pre class=&quot;alt&quot;&gt;&lt;span class=&quot;lnum&quot;&gt;   7:  &lt;/span&gt;&lt;span class=&quot;rem&quot;&gt;-- Shrink the truncated log file to 1 MB.&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;   8:  &lt;/span&gt;&lt;span class=&quot;kwrd&quot;&gt;DBCC&lt;/span&gt; SHRINKFILE (AdventureWorks_Log, 1);&lt;/pre&gt;&lt;pre class=&quot;alt&quot;&gt;&lt;span class=&quot;lnum&quot;&gt;   9:  &lt;/span&gt;&lt;span class=&quot;kwrd&quot;&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;  10:  &lt;/span&gt;&lt;span class=&quot;rem&quot;&gt;-- Reset the database recovery model.&lt;/span&gt;&lt;/pre&gt;&lt;pre class=&quot;alt&quot;&gt;&lt;span class=&quot;lnum&quot;&gt;  11:  &lt;/span&gt;&lt;span class=&quot;kwrd&quot;&gt;ALTER&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;DATABASE&lt;/span&gt; AdventureWorks&lt;/pre&gt;&lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;  12:  &lt;/span&gt;&lt;span class=&quot;kwrd&quot;&gt;SET&lt;/span&gt; RECOVERY &lt;span class=&quot;kwrd&quot;&gt;FULL&lt;/span&gt;;&lt;/pre&gt;&lt;pre class=&quot;alt&quot;&gt;&lt;span class=&quot;lnum&quot;&gt;  13:  &lt;/span&gt;&lt;span class=&quot;kwrd&quot;&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;style type=&quot;text/css&quot;&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, &quot;Courier New&quot;, courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Sin embargo este codigo tiene un impacto bastante importante…&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Si vamos a la linea 4 y 5, vemos que la base de datos es inicialmente cambiada a modo de recuperacion SIMPLE, al hacer este cambio la historia de copias de seguridad (Backups) de la base de datos se pierde, de esta manera, si deseas sacar un backup diferencial de tu base de datos, sera necesario sacar un backup full nuevamente.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Ten cuidado de las implicaciones que pueda tener la ejecucion de codigo dentro de tus bases de datos.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Nos leemos luego!&lt;/p&gt;&lt;br /&gt;&lt;p&gt;John &lt;img class=&quot;wlEmoticon wlEmoticon-peace&quot; style=&quot;border-top-style: none; border-left-style: none; border-bottom-style: none; border-right-style: none&quot; alt=&quot;Peace&quot; src=&quot;http://lh3.ggpht.com/-UTiBtclap2M/UCV5poNLfMI/AAAAAAAADTE/Nsy3saRJYus/wlEmoticon-peace%25255B2%25255D.png?imgmax=800&quot;&gt;&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://jboca.blogspot.com/feeds/7541504183405624067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3478804414142902008/7541504183405624067' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/7541504183405624067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/7541504183405624067'/><link rel='alternate' type='text/html' href='http://jboca.blogspot.com/2012/08/dbcc-shrinkfile-y-sus-implicaciones.html' title='DBCC SHRINKFILE y sus implicaciones'/><author><name>John J. Bocachica</name><uri>http://www.blogger.com/profile/05173460945632553184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp2.blogger.com/_hpD3dFwMIwA/R9bYn9MbUPI/AAAAAAAAA_s/4nygb2QlOak/S220/boca+linchtestein+.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-UTiBtclap2M/UCV5poNLfMI/AAAAAAAADTE/Nsy3saRJYus/s72-c/wlEmoticon-peace%25255B2%25255D.png?imgmax=800" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3478804414142902008.post-1435980069289442324</id><published>2012-07-18T11:55:00.001-05:00</published><updated>2012-07-18T11:55:17.152-05:00</updated><title type='text'>Como adjuntar (Attach) una base de datos sin el archivo LDF</title><content type='html'>&lt;object style=&quot;height: 390px; width: 640px&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/gsxP0SYuoCg?version=3&amp;feature=player_detailpage&quot;&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;embed src=&quot;http://www.youtube.com/v/gsxP0SYuoCg?version=3&amp;feature=player_detailpage&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; allowScriptAccess=&quot;always&quot; width=&quot;640&quot; height=&quot;360&quot;&gt;&lt;/object&gt;</content><link rel='replies' type='application/atom+xml' href='http://jboca.blogspot.com/feeds/1435980069289442324/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3478804414142902008/1435980069289442324' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/1435980069289442324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/1435980069289442324'/><link rel='alternate' type='text/html' href='http://jboca.blogspot.com/2012/07/como-adjuntar-attach-una-base-de-datos.html' title='Como adjuntar (Attach) una base de datos sin el archivo LDF'/><author><name>John J. Bocachica</name><uri>http://www.blogger.com/profile/05173460945632553184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp2.blogger.com/_hpD3dFwMIwA/R9bYn9MbUPI/AAAAAAAAA_s/4nygb2QlOak/S220/boca+linchtestein+.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3478804414142902008.post-6715091382555683197</id><published>2012-04-16T14:57:00.001-05:00</published><updated>2012-04-16T14:57:55.591-05:00</updated><title type='text'>Si Shakespeare fuese un DBA – Cluster o NonCluster, esa es la cuestion</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p align=&quot;justify&quot;&gt;Durante el SQL Saturday #124, llevado a cabo en Bogota, Colombia y con mas de 200 asistentes, formule una pregunta para la que aplica cualquier tipo de respuesta…&lt;/p&gt; &lt;p align=&quot;justify&quot;&gt;Usar un indice tipo Cluster o usar un indice tipo NonCluster, la pregunta fue rapida, sin mayores detalles, la verdad esperaba tener silencio en el auditorio, pero contrario a lo que yo pensaba, me encontre con multiples respuestas, podriamos decir que la mitad reaccionaron inmediatamente y a una sola voz dijeron CLUSTER…&lt;/p&gt; &lt;p align=&quot;justify&quot;&gt;Durante la charla decidi explicar de la mejor manera posible lo que es un indice Cluster y lo que es un Indice NonCluster, de esta forma las opiniones cambiaron y al final todos llegamos a un concenso… Que sea Cluster o NonCluster dependen unica y exclusivamente de los requerimientos del negocio y de los requerimientos tecnicos, no hay uno mejor que el otro, ni uno sera mas rapido que el otro, todo DEPENDE…&lt;/p&gt; &lt;h2 align=&quot;justify&quot;&gt;Indice tipo Cluster&lt;/h2&gt; &lt;p align=&quot;justify&quot;&gt;Consiste en informacion organizada fisicamente, un ejemplo claro y rapido de este tipo de indices, es el indice principal de un libro, alli todo esta organizado fisicamente y cuando accedemos al dato lo hacemos de forma directa, sin embargo tiene implicaciones de rendimiento importante al momento de escribir o actualizar datos en una tabla o en el libro, veamoslo de la siguiente manera, si tomas un libro y haces un DELETE (Arrancas un par de hojas), seguramente actualizar el indice no sera muy complejo, simplemente vamos a las primeras paginas, ubicamos las hojas que eliminamos y podriamos tacharlas alli directamente, ahora bien, al mismo libro decidimos agregarle un nuevo capitulo entre el 1 y el 2, llamemoslo capitulo 1.5, luego tomamos el libro, lo mandamos desbaratar y agregamos las paginas de nuestro nuevo capitulo, para poder agregar este capitulo al indice se hace entonces necesario eliminar algunas paginas del indice, editarlas, abrirle espacio al nuevo capitulo y reacomodar la informacion que ya se encontraba contenida en ese indice…&lt;/p&gt; &lt;table border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; width=&quot;665&quot;&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;316&quot;&gt;&lt;strong&gt;Comportamiento en el motor&lt;/strong&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;347&quot;&gt;&lt;strong&gt;Ejemplo de indice tipo Cluster&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;316&quot;&gt;&lt;a href=&quot;http://lh5.ggpht.com/-VFSE9V3OktU/T4x5n095BwI/AAAAAAAADR0/M_H-VH06FAE/s1600-h/image%25255B9%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://lh6.ggpht.com/-f79KJRHmJFY/T4x5obcQSvI/AAAAAAAADR8/aFfsruIhU3s/image_thumb%25255B3%25255D.png?imgmax=800&quot; width=&quot;244&quot; height=&quot;165&quot;&gt;&lt;/a&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;347&quot;&gt;&lt;a href=&quot;http://lh4.ggpht.com/-PJgr4uejh_E/T4x5o7wYu6I/AAAAAAAADSE/ZiRFHHZa4nk/s1600-h/image%25255B10%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://lh4.ggpht.com/-qbAvfgfVdJk/T4x5pWUGp1I/AAAAAAAADSM/XLSNUW9ryYA/image_thumb%25255B4%25255D.png?imgmax=800&quot; width=&quot;347&quot; height=&quot;94&quot;&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;h2 align=&quot;justify&quot;&gt;&amp;nbsp;&lt;/h2&gt; &lt;h2 align=&quot;justify&quot;&gt;indice tipo noncluster&lt;/h2&gt; &lt;p align=&quot;justify&quot;&gt;El indice tipo NonCluster se asemeja entonces al glosario de un libro, en este la informacion no se encuentra almacenada fisicamente y funciona bajo los mismos parametros de un apuntador, sabemos que informacion es y donde se encuentra, una vez identificamos esta informacion debemos ir hasta alli…&lt;/p&gt; &lt;p align=&quot;justify&quot;&gt;Una de las grandes ventajas del indice tipo NonCluster es la velocidad de escritura y actualizacion, sin embargo en la busqueda no es tan efectivo como el tipo Cluster.&lt;/p&gt; &lt;table border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; width=&quot;669&quot;&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;311&quot;&gt; &lt;p&gt;&lt;strong&gt;Comportamiento en el motor&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;356&quot;&gt; &lt;p&gt;&lt;strong&gt;Ejemplo de indice tipo NonCluster&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;311&quot;&gt;&lt;a href=&quot;http://lh6.ggpht.com/-xqdqYsIcY5I/T4x5p3NqN4I/AAAAAAAADSU/nSxGz4_3thM/s1600-h/image%25255B13%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://lh6.ggpht.com/-t6K42tJ1rak/T4x5qf7Y--I/AAAAAAAADSc/S6ZCK8YB56w/image_thumb%25255B5%25255D.png?imgmax=800&quot; width=&quot;244&quot; height=&quot;166&quot;&gt;&lt;/a&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;356&quot;&gt;&lt;a href=&quot;http://lh5.ggpht.com/-4H2AeLgrXbU/T4x5q271M3I/AAAAAAAADSk/Z94yJcQC86Y/s1600-h/image%25255B17%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://lh6.ggpht.com/-xH19vIkKad0/T4x5rg5f9fI/AAAAAAAADSs/Jb4sgNMuiro/image_thumb%25255B7%25255D.png?imgmax=800&quot; width=&quot;366&quot; height=&quot;116&quot;&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;     &lt;p&gt;Hasta la proxima&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://jboca.blogspot.com/feeds/6715091382555683197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3478804414142902008/6715091382555683197' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/6715091382555683197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/6715091382555683197'/><link rel='alternate' type='text/html' href='http://jboca.blogspot.com/2012/04/si-shakespeare-fuese-un-dba-cluster-o.html' title='Si Shakespeare fuese un DBA – Cluster o NonCluster, esa es la cuestion'/><author><name>John J. Bocachica</name><uri>http://www.blogger.com/profile/05173460945632553184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp2.blogger.com/_hpD3dFwMIwA/R9bYn9MbUPI/AAAAAAAAA_s/4nygb2QlOak/S220/boca+linchtestein+.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-f79KJRHmJFY/T4x5obcQSvI/AAAAAAAADR8/aFfsruIhU3s/s72-c/image_thumb%25255B3%25255D.png?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3478804414142902008.post-3156342635680381106</id><published>2012-03-12T12:33:00.001-05:00</published><updated>2012-03-12T12:33:26.078-05:00</updated><title type='text'>SSIS Fuzzy Lookup Add-in for Excel (From Microsoft Research)</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Bueno, en esos dias en los que no tienes nada que hacer y encuentras un tool interesante, navegando y leyendo por ahi me encontre con un componente desarrollado por Microsoft Research en donde llevan toda la funcionalidad del Fuzzy Lookup de SQL Server Integration Services directamente a Excel.&lt;/p&gt; &lt;p&gt;Para descargarlo pueden ir a:&lt;/p&gt; &lt;p&gt;&lt;a title=&quot;http://www.microsoft.com/download/en/details.aspx?id=15011&quot; href=&quot;http://www.microsoft.com/download/en/details.aspx?id=15011&quot;&gt;http://www.microsoft.com/download/en/details.aspx?id=15011&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Ahora bien, la instalacion es supremamente simple, lo descomprimen y lanzan el archivo setup.exe, no es necesario tener Excel cerrado, ya que despues de la instalacion y al abrir excel, este lanza una ventana en donde pregunta si queremos instalar el Fuzzy lookup en nuestro excel, al final tendremos un nuevo menu en nuestro excel.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh3.ggpht.com/--kXl2352G50/T14zMxjJRkI/AAAAAAAADP8/Dhuhbd2v_uY/s1600-h/image%25255B10%25255D.png&quot;&gt;&lt;img style=&quot;display: inline&quot; title=&quot;image&quot; alt=&quot;image&quot; src=&quot;http://lh5.ggpht.com/-xAUIrgCyCMg/T14zODlmTRI/AAAAAAAADQE/eeX9kcFik1Y/image_thumb%25255B13%25255D.png?imgmax=800&quot; width=&quot;290&quot; height=&quot;192&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;La utilizacion del componente es igualmente sencilla, simplemente damos clic en la pestaña y abrimos las opciones del mismo, estas se reducen a 1 opcion.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh4.ggpht.com/-0GecNvO2x-k/T14zOotHJgI/AAAAAAAADQM/ZGiE-L7QSgs/s1600-h/image%25255B15%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://lh3.ggpht.com/-uOgZPmwJk78/T14zP59dxhI/AAAAAAAADQU/_hLiIXvPb9Y/image_thumb%25255B20%25255D.png?imgmax=800&quot; width=&quot;633&quot; height=&quot;90&quot;&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Damos clic en esta opcion y ya podremos trabajar con el componente, al dar clic alli se abre un menu al mejor estilo Smart Documents.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh6.ggpht.com/-fU5A95OMLjE/T14zQXhu87I/AAAAAAAADQc/O0NanbVQGps/s1600-h/image%25255B20%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://lh6.ggpht.com/-MFFcn12WKl4/T14zSI5DRkI/AAAAAAAADQk/nptOJXsFx1g/image_thumb%25255B27%25255D.png?imgmax=800&quot; width=&quot;295&quot; height=&quot;454&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;El componente esta en su primer version, aun no podemos hacer cosas como hacer lookup entre 2 libros distintos o contra una base de datos de forma nativa, sin embargo hay trucos para esto como una conexion de datos y demas.&lt;/p&gt; &lt;p&gt;Tampoco podemos hacerlo contra un segmento de datos, debe hacerse contra tablas directamente, para crear una tabla en excel y no complicarnos tanto la vida, simplemente llenen los datos en una hoja de datos normal y luego le aplican un formato de tabla, de esa manera lo pueden hacer de forma rapida y simple.&lt;/p&gt; &lt;p&gt;Yo cree rapidamente una tabla con 4 ciudades de Colombia&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh4.ggpht.com/-Ut8aBMl1Peg/T14zSuU7RMI/AAAAAAAADQs/5fkQJp-wyeg/s1600-h/image%25255B25%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://lh6.ggpht.com/-_kcE7yxEp20/T14zTVZWKvI/AAAAAAAADQ0/kiDSV9pLPzA/image_thumb%25255B30%25255D.png?imgmax=800&quot; width=&quot;663&quot; height=&quot;375&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Ahora cree una tabla con las mismas ciudades pero con errores tipograficos y ortograficos.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh4.ggpht.com/-zwyghel14G4/T14zUJ2Fd7I/AAAAAAAADQ8/em1ukX44loE/s1600-h/image%25255B30%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://lh4.ggpht.com/-GtTakhkLiaE/T14zUzw2SKI/AAAAAAAADRE/ztsEsykYkLg/image_thumb%25255B33%25255D.png?imgmax=800&quot; width=&quot;662&quot; height=&quot;374&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Ahora simplemente lo que debemos hacer es seleccionar nuestras tablas, el orden si importa, normalmente vemos que a la izquierda va la tabla fuente o la tabla maestra, a la derecha normalmente va la tabla que se analizara, sin embargo este componente funciona al contrario, a la izquierda (Left) debemos seleccionar la tabla que contiene los datos que se analizaran, a la derecha debe ir la tabla maestra.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh5.ggpht.com/-_yr9FNc7AU8/T14zV22bcJI/AAAAAAAADRM/oCyaynUPWMQ/s1600-h/image%25255B35%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://lh3.ggpht.com/-FfEVT_jo_LM/T14zXQl7DjI/AAAAAAAADRU/Up8kx4g3X9I/image_thumb%25255B36%25255D.png?imgmax=800&quot; width=&quot;673&quot; height=&quot;380&quot;&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Ahora simplemente damos clic en &lt;strong&gt;Go&lt;/strong&gt;.&lt;/p&gt; &lt;p&gt;Al dar clic el componente genera nuevas columnas en donde se devuelve la similitud con el dato de la siguiente manera&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh3.ggpht.com/-hsjWcdBhwY4/T14zX95JNtI/AAAAAAAADRc/H2QuyodQxH8/s1600-h/image%25255B40%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://lh6.ggpht.com/-JVh_hw2854I/T14zYT6CgqI/AAAAAAAADRk/n0jtfD9iAhA/image_thumb%25255B43%25255D.png?imgmax=800&quot; width=&quot;663&quot; height=&quot;243&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Esta similitud esta dada en porcentaje, asi que el numero mas cercano a 1 es el mas exacto.&lt;/p&gt; &lt;p&gt;Con esto pueden hacer luego un Vlookup y reemplazar los datos “Sucios” por los datos buenos.&lt;/p&gt; &lt;p&gt;Si tienen alguna duda dejenmelo saber a traves de los comentarios.&lt;/p&gt; &lt;p&gt;John&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://jboca.blogspot.com/feeds/3156342635680381106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3478804414142902008/3156342635680381106' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/3156342635680381106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/3156342635680381106'/><link rel='alternate' type='text/html' href='http://jboca.blogspot.com/2012/03/ssis-fuzzy-lookup-add-in-for-excel-from.html' title='SSIS Fuzzy Lookup Add-in for Excel (From Microsoft Research)'/><author><name>John J. Bocachica</name><uri>http://www.blogger.com/profile/05173460945632553184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp2.blogger.com/_hpD3dFwMIwA/R9bYn9MbUPI/AAAAAAAAA_s/4nygb2QlOak/S220/boca+linchtestein+.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/-xAUIrgCyCMg/T14zODlmTRI/AAAAAAAADQE/eeX9kcFik1Y/s72-c/image_thumb%25255B13%25255D.png?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3478804414142902008.post-7184245613080430112</id><published>2011-11-11T11:17:00.001-05:00</published><updated>2011-11-11T11:17:25.401-05:00</updated><title type='text'>IT Camp</title><content type='html'>&lt;p&gt;&lt;img alt=&quot;&amp;iexcl;Participa en el IT Camp 2011 y {Act&amp;iacute;vate} como un IT Cloud Champ&quot; src=&quot;https://mseventsww.microsoft.com/BannerImages/17025ff2-9373-4958-99fe-d46c182331bb.jpg&quot; width=&quot;674&quot; height=&quot;87&quot;&gt;&lt;/p&gt; &lt;p&gt;&lt;b&gt;Participa en el IT Camp 2011 y {Actívate} como un ID Cloud Champ&lt;/b&gt; &lt;p&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;Conoce, aprende y prueba las tecnologías más robustas para tus implementaciones de Nube Privada:  &lt;p&gt;&lt;b&gt;1. Asiste a los Webcast:&lt;u&gt;&lt;br&gt;&lt;/u&gt;&lt;/b&gt;&lt;br&gt;- Miércoles 16 de Noviembre (6:30pm-8:30pm): Nube Privada, la evolución de los centros de cómputo &lt;p&gt;- Miércoles 23 de Noviembre (6:30pm-8:30pm): SQL Server 2012: Una nueva plataforma de base de datos lista para la nube &lt;p&gt;&lt;b&gt;2. Asiste al IT Camp 2011:&lt;/b&gt; &lt;p&gt;&lt;b&gt;Bogotá&lt;/b&gt;&lt;br&gt;&lt;b&gt;Fecha: &lt;/b&gt;6 de Diciembre&lt;br&gt;&lt;b&gt;Lugar:&lt;/b&gt; Hotel RoyalPark Metrotel&lt;br&gt;Calle 74 No. 13 – 27 &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;table border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; width=&quot;555&quot;&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;207&quot;&gt;&lt;strong&gt;Hora&lt;/strong&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;169&quot;&gt;&lt;strong&gt;Private Cloud&lt;/strong&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;177&quot;&gt;&lt;strong&gt;SQL Server 2012&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;207&quot;&gt;1:00PM – 2:00PM&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;169&quot;&gt;Registro&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;177&quot;&gt;Registro&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;207&quot;&gt;2:00PM – 2:30PM&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;169&quot;&gt;Introduccion&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;177&quot;&gt;Introduccion&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;207&quot;&gt;2:30PM – 3:45PM&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;169&quot;&gt;Laboratorio Parte 1&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;177&quot;&gt;Laboratorio Parte 1&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;207&quot;&gt;3:45PM – 4:15PM&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;169&quot;&gt;Refrigerio&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;177&quot;&gt;Refrigerio&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;207&quot;&gt;4:15PM – 5:30PM&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;169&quot;&gt;Laboratorio Parte 2&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;177&quot;&gt;Laboratorio Parte 2&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;207&quot;&gt;5:30PM – 6:30PM&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;169&quot;&gt;Cierre del evento&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;177&quot;&gt;Cierre del evento&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;strong&gt;&lt;/p&gt;&lt;/strong&gt;  </content><link rel='replies' type='application/atom+xml' href='http://jboca.blogspot.com/feeds/7184245613080430112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3478804414142902008/7184245613080430112' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/7184245613080430112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/7184245613080430112'/><link rel='alternate' type='text/html' href='http://jboca.blogspot.com/2011/11/it-camp.html' title='IT Camp'/><author><name>John J. Bocachica</name><uri>http://www.blogger.com/profile/05173460945632553184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp2.blogger.com/_hpD3dFwMIwA/R9bYn9MbUPI/AAAAAAAAA_s/4nygb2QlOak/S220/boca+linchtestein+.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3478804414142902008.post-3938872393753781125</id><published>2011-11-11T11:09:00.001-05:00</published><updated>2011-11-11T11:09:11.281-05:00</updated><title type='text'>InnovaIT</title><content type='html'>&lt;blockquote&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Hey, el próximo 17 y 18 de Noviembre estaremos en Venezuela, hablaremos de.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Inteligencia de negocios en SQL Server 2008 R2&lt;/li&gt; &lt;li&gt;Oracle Exadata vs HP Enterprise Database Consolidation Appliance&lt;/li&gt; &lt;li&gt;Inteligencia de negocios en SQL Server 2012&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Si estas en Venezuela, recuerda que puedes participar ingresando a &lt;a title=&quot;http://www.microsoft.com/venezuela/innovait/&quot; href=&quot;http://www.microsoft.com/venezuela/innovait/&quot;&gt;http://www.microsoft.com/venezuela/innovait/&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Nos vemos allá!&lt;/p&gt; &lt;p&gt;Saludos&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://jboca.blogspot.com/feeds/3938872393753781125/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3478804414142902008/3938872393753781125' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/3938872393753781125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/3938872393753781125'/><link rel='alternate' type='text/html' href='http://jboca.blogspot.com/2011/11/innovait.html' title='InnovaIT'/><author><name>John J. Bocachica</name><uri>http://www.blogger.com/profile/05173460945632553184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp2.blogger.com/_hpD3dFwMIwA/R9bYn9MbUPI/AAAAAAAAA_s/4nygb2QlOak/S220/boca+linchtestein+.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3478804414142902008.post-1590650115036083935</id><published>2011-11-11T10:43:00.001-05:00</published><updated>2011-11-11T10:43:57.877-05:00</updated><title type='text'>Como aplicar un Service Pack o un Hotfix en un Cluster de SQL Server 2008 o 2008R2</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Bien, hasta SQL Server 2005 el proceso se hacia aplicando los parches sobre el nodo activo, esto a partir de SQL Server 2008 cambio radicalmente, a partir de ahora y con el fin de disminuir los tiempos fuera de linea, el proceso se hace al reves, es decir.&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Ponga todos los recursos en uno de los nodos, al que llamaremos NODO1  &lt;li&gt;Vaya al nodo alterno (NODO2) y ejecute las actualizaciones  &lt;li&gt;Instale todas las actualizaciones en el NODO2  &lt;li&gt;Reinicie el NODO2  &lt;li&gt;Vaya al NODO1  &lt;li&gt;Mueva todos los servicios hacia el NODO2  &lt;li&gt;En el NODO1 ejecute e instale todas las actualizaciones  &lt;li&gt;Reinicie el NODO1  &lt;li&gt;Listo!! &lt;img style=&quot;border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none&quot; class=&quot;wlEmoticon wlEmoticon-smile&quot; alt=&quot;Smile&quot; src=&quot;http://lh5.ggpht.com/-pA7j05_uHMs/Tr1CtTkeG8I/AAAAAAAADPQ/puDDxULvgz4/wlEmoticon-smile2.png?imgmax=800&quot;&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Saludos&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://jboca.blogspot.com/feeds/1590650115036083935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3478804414142902008/1590650115036083935' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/1590650115036083935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/1590650115036083935'/><link rel='alternate' type='text/html' href='http://jboca.blogspot.com/2011/11/como-aplicar-un-service-pack-o-un.html' title='Como aplicar un Service Pack o un Hotfix en un Cluster de SQL Server 2008 o 2008R2'/><author><name>John J. Bocachica</name><uri>http://www.blogger.com/profile/05173460945632553184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp2.blogger.com/_hpD3dFwMIwA/R9bYn9MbUPI/AAAAAAAAA_s/4nygb2QlOak/S220/boca+linchtestein+.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/-pA7j05_uHMs/Tr1CtTkeG8I/AAAAAAAADPQ/puDDxULvgz4/s72-c/wlEmoticon-smile2.png?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3478804414142902008.post-3588409899275888900</id><published>2011-10-28T07:52:00.001-05:00</published><updated>2011-10-28T07:52:44.002-05:00</updated><title type='text'>Configurar autenticación mixta en SQL Server sin el Management Studio</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Hace poco me encontré con un pequeño inconveniente, necesitaba cambiar el modelo de autenticación de un servidor de Windows a Mixta, sin embargo el cliente no tenía un SSMS y la verdad no había llevado mi maquina… así que tuve que buscar la forma de hacerlo a mano… es un poco riesgoso pero funciona a la perfección…  &lt;p&gt;El proceso es simple, deben abrir el editor de registro (Háganlo bajo su propio riesgo)  &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;1. Regedit.exe&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh6.ggpht.com/-GPZDrEJzs4E/TqqlLglhKeI/AAAAAAAADOw/olpLG94d-Do/s1600-h/image9.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://lh3.ggpht.com/-z1Vkcx_9KAE/TqqlSzuxEZI/AAAAAAAADO4/XIiqfVcRk-0/image_thumb5.png?imgmax=800&quot; width=&quot;683&quot; height=&quot;352&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;2. Vayan a la carpeta&lt;/p&gt; &lt;p&gt;&lt;code&gt;&lt;font face=&quot;Verdana&quot;&gt;HKLM\Software\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer&lt;/font&gt;&lt;/code&gt;&lt;/p&gt; &lt;p&gt;&lt;code&gt;&lt;font face=&quot;Verdana&quot;&gt;3. Ahi veran la llave &lt;strong&gt;&lt;u&gt;LoginMode&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/code&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh3.ggpht.com/-lCo6p97k6tA/TqqlacFzQLI/AAAAAAAADPA/CBFCYsTz1w4/s1600-h/image8.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://lh4.ggpht.com/-msW2Elfj3Cs/Tqqlh9WmUEI/AAAAAAAADPI/HS-fhglS3x8/image_thumb4.png?imgmax=800&quot; width=&quot;684&quot; height=&quot;352&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;4. Editen la llave y en modo decimal cámbienlo de 1 a 2… 1 equivale a autenticación Windows, 2 equivale a autenticación Mixta  &lt;p&gt;5. Reinicien el servicio de SQL Server (Recuerden, es bajo su propio riesgo)  &lt;p&gt;Saludos    </content><link rel='replies' type='application/atom+xml' href='http://jboca.blogspot.com/feeds/3588409899275888900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3478804414142902008/3588409899275888900' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/3588409899275888900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/3588409899275888900'/><link rel='alternate' type='text/html' href='http://jboca.blogspot.com/2011/10/configurar-autenticacion-mixta-en-sql.html' title='Configurar autenticación mixta en SQL Server sin el Management Studio'/><author><name>John J. Bocachica</name><uri>http://www.blogger.com/profile/05173460945632553184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp2.blogger.com/_hpD3dFwMIwA/R9bYn9MbUPI/AAAAAAAAA_s/4nygb2QlOak/S220/boca+linchtestein+.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-z1Vkcx_9KAE/TqqlSzuxEZI/AAAAAAAADO4/XIiqfVcRk-0/s72-c/image_thumb5.png?imgmax=800" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3478804414142902008.post-7898102530685900501</id><published>2011-10-18T14:47:00.001-05:00</published><updated>2011-10-18T14:47:57.106-05:00</updated><title type='text'>Como migrar usuarios y passwords desde SQL Server 2000 hacia SQL Server 2008 y 2008 R2</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Hace poco en una migración me encontré con este dilema, típicamente usaba un script planteado por Msft que ayudaba en este proceso &lt;a href=&quot;http://support.microsoft.com/kb/246133/en-us&quot;&gt;http://support.microsoft.com/kb/246133/en-us&lt;/a&gt;, sin embargo y por esas cosas del destino o del motor, este script no funcionó correctamente, acudí a la migración a través de SSIS, que nos permite a través de una tarea hacer transferencia de logins entre instancias de SQL Server, sin embargo no soy muy amante de ese tipo de soluciones y concluí que debía existir una opción adicional, que si SSIS podía, pues yo también podía por otro lado… la solución es bastante simple a decir verdad y tiene muchas menos líneas de código que el originalmente planteado por Msft, lo que si les puedo asegurar es que la migración fue exitosa. &lt;p&gt;Step by step &lt;p&gt;1. Migren los usuarios ANTES de migrar cualquier base de datos &lt;p&gt;2. Ejecuten el siguiente script en el SQL Server 2000 (Aun no he probado si funciona en 2005 o 2008) &lt;p&gt;&lt;u&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt;select &#39;CREATE LOGIN [&#39; + l.name + &#39;] WITH PASSWORD = &#39;, (CAST(l.password as varbinary(256))), &#39; HASHED, SID = &#39;, CAST(l.sid as varbinary), &#39;, CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF &#39; + &#39;GO &#39; from master..syslogins l where l.isntname + l.isntgroup = 0&lt;/font&gt;&lt;/em&gt;&lt;/u&gt; &lt;p&gt;3. El resultado, cópienlo y péguenlo en el nuevo server (Para mi caso un SQL Server 208 R2) &lt;p&gt;4. Ejecuten el Script que tienen como resultado &lt;p&gt;Voila!… sus usuarios y passwords están migrados y a salvo!&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://jboca.blogspot.com/feeds/7898102530685900501/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3478804414142902008/7898102530685900501' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/7898102530685900501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/7898102530685900501'/><link rel='alternate' type='text/html' href='http://jboca.blogspot.com/2011/10/como-migrar-usuarios-y-passwords-desde.html' title='Como migrar usuarios y passwords desde SQL Server 2000 hacia SQL Server 2008 y 2008 R2'/><author><name>John J. Bocachica</name><uri>http://www.blogger.com/profile/05173460945632553184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp2.blogger.com/_hpD3dFwMIwA/R9bYn9MbUPI/AAAAAAAAA_s/4nygb2QlOak/S220/boca+linchtestein+.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3478804414142902008.post-1739659469470343004</id><published>2011-07-11T14:41:00.000-05:00</published><updated>2011-07-11T14:41:15.068-05:00</updated><title type='text'>Graficas de multiples Datasets</title><content type='html'>Hace un tiempo recibi la siguiente duda:&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;em&gt;&lt;span style=&quot;color: purple;&quot;&gt;&quot;Estoy realizando una grafica y tengo dos datasets de dos bases de datos diferentes (ORACLE), necesito unir los dos para un solo resultado&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;em&gt;&lt;span style=&quot;color: purple;&quot;&gt;y me lo visualice en la grafica.&quot;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: black;&quot;&gt;Bien, antes que nada quiero agradecerles por sus preguntas, hacen que esto sea mas util... si tienen alguna, pueden escribirme a twitter @jbocachica, o a traves del form para el libro 101 Preguntas sobre SQL Server Reporting Services.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;El problema:&lt;/strong&gt;&lt;br /&gt;
Tenemos 2 datasets, necesitan unirlo para tener un solo resultado...&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Las condiciones:&lt;/strong&gt;&lt;br /&gt;
Es muy importante que tengan en cuenta lo siguiente, deben tener almenos un elemento que relacione los datasets, es decir, la integracion que haremos de los datasets es de tipo JOIN y no de tipo UNION, el JOIN esta soportado entre multiples datasets, sin embargo el UNION no.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;El como:&lt;/strong&gt;&lt;br /&gt;
Hace algun tiempo hice un post para usar la funcion Lookup, disponible ahora en SQL Server Reporting Services, esta funcion permite unir o mezclar 2 datasets, esto de la siguiente manera&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Cree los 2 datasets&lt;/li&gt;
&lt;li&gt;En el dataset primario, cree un campo calculado, este campo utilizara la siguiente funcion &lt;em&gt;&lt;span style=&quot;background-color: lime;&quot;&gt;=Lookup(CampoDataSet1, CampoDataSet2, CampoQueQueremosTraer, DataSetSecundario)&lt;/span&gt;&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white;&quot;&gt;El CampoDataSet1 es el campo que se encuentra en el dataset primario y que usaremos para hacer JOIN con CampoDataSet2, este CampoDataSet2 es el campo que se encuentra en el dataset secundario y es aquel que hace el JOIN.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;CampoQueQueremosTraer hace referencia al campo que se encuentra en el DataSetSecundario.&lt;/li&gt;
&lt;li&gt;El DataSetSecundario es el nombre del dataset con el que haremos el JOIN y es de tipo String.&lt;/li&gt;
&lt;li&gt;Este dataset se puede usar de forma natural en graficas, tablas, matices, listas, etc...&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
Si deseas mas detalle, te invito a visitar el post - &lt;a href=&quot;http://www.sqlgeek.net/2010/10/unir-o-mezclar-datasets-en-reporting.html&quot;&gt;http://www.sqlgeek.net/2010/10/unir-o-mezclar-datasets-en-reporting.html&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://jboca.blogspot.com/feeds/1739659469470343004/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3478804414142902008/1739659469470343004' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/1739659469470343004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/1739659469470343004'/><link rel='alternate' type='text/html' href='http://jboca.blogspot.com/2011/07/graficas-de-multiples-datasets.html' title='Graficas de multiples Datasets'/><author><name>John J. Bocachica</name><uri>http://www.blogger.com/profile/05173460945632553184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp2.blogger.com/_hpD3dFwMIwA/R9bYn9MbUPI/AAAAAAAAA_s/4nygb2QlOak/S220/boca+linchtestein+.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3478804414142902008.post-8583548270021168399</id><published>2011-04-05T10:26:00.001-05:00</published><updated>2011-04-05T10:26:58.429-05:00</updated><title type='text'>Ayudanos a ayudar...</title><content type='html'>&lt;iframe src=&quot;https://spreadsheets.google.com/embeddedform?formkey=dGNFZlpoVlctaF9JSWNybl8yRVlIaXc6MQ&quot; width=&quot;760&quot; height=&quot;662&quot; frameborder=&quot;0&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot;&gt;Loading...&lt;/iframe&gt;</content><link rel='replies' type='application/atom+xml' href='http://jboca.blogspot.com/feeds/8583548270021168399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3478804414142902008/8583548270021168399' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/8583548270021168399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/8583548270021168399'/><link rel='alternate' type='text/html' href='http://jboca.blogspot.com/2011/04/ayudanos-ayudar.html' title='Ayudanos a ayudar...'/><author><name>John J. Bocachica</name><uri>http://www.blogger.com/profile/05173460945632553184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp2.blogger.com/_hpD3dFwMIwA/R9bYn9MbUPI/AAAAAAAAA_s/4nygb2QlOak/S220/boca+linchtestein+.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3478804414142902008.post-5105575476374136320</id><published>2011-02-11T14:10:00.001-05:00</published><updated>2011-02-11T14:10:13.695-05:00</updated><title type='text'>Para que sirve la N en SQL Server</title><content type='html'>&lt;p&gt;Hace poco tuve la oportunidad de asistir a una conferencia sobre SQL Server y BI, quería ver si quizá había algo nuevo para ver y/o aprender, durante el proceso de la misma, el speaker usaba con mucha frecuencia los asistentes de consultas, el asistente siempre anteponía la letra N a las cadenas de texto, de la siguiente manera (Ejemplo)&lt;/p&gt; &lt;div style=&quot;padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px&quot; id=&quot;scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:95c88b23-ac39-49f6-88f9-f920b705d777&quot; class=&quot;wlWriterEditableSmartContent&quot;&gt; &lt;div style=&quot;border: #000080 1px solid; color: #000; font-family: &#39;Courier New&#39;, Courier, Monospace; font-size: 10pt&quot;&gt; &lt;div style=&quot;background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px&quot;&gt;Ejemplo de codigo&lt;/div&gt; &lt;div style=&quot;background: #fff; max-height: 300px; overflow: auto&quot;&gt; &lt;ol style=&quot;background: #ffffff; margin: 0; padding: 0 0 0 5px;&quot;&gt; &lt;li&gt;&lt;span style=&quot;color:#0000ff&quot;&gt;Select&lt;/span&gt; &lt;span style=&quot;color:#808080&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color:#0000ff&quot;&gt;from&lt;/span&gt; CM_Bitacora&lt;/li&gt; &lt;li style=&quot;background: #f3f3f3&quot;&gt;&lt;span style=&quot;color:#0000ff&quot;&gt;where&lt;/span&gt; observaciones &lt;span style=&quot;color:#808080&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#ff0000&quot;&gt;N&amp;#39;Prueba 2&amp;#39;&lt;/span&gt;&lt;/li&gt; &lt;/ol&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;p&gt;Recuerdo que un asistente pregunto el porque de la letra N en las consultas, la respuesta por parte del speaker me pareció la verdad un poco injusta, ya que al no saber, prefirió asegurar que esto era un Best Practice de diseño de consultas.&lt;/p&gt; &lt;p&gt;Pues no, la letra N no se trata de un Best Practice para diseño de consultas en TSQL, la letra N corresponde a un “CAST”, muchas personas me han preguntado la diferencia entre VARCHAR y NVARCHAR, bien, la diferencia entre estos 2 tipos de datos es la misma diferencia que hay entre usar la N o no usarla.&lt;/p&gt; &lt;p&gt;Varchar equivale a &lt;em&gt;Variable-Lenght Character String&lt;/em&gt;, es decir, una &lt;strong&gt;&lt;em&gt;cadena de caracteres de tamaño variable.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;NVARCHAR, no es mas que un VARCHAR Unicode, es decir, un VARCHAR que soporta caracteres de 2 bytes, la idea de este tipo de datos es el poder soportar caracteres que no hacen parte del idioma ingles, como por ejemplo, querer guardar nombres en Ingles y en Japonés, o en Mandarín…&lt;/p&gt; &lt;p&gt;En conclusión, la letra N que se antepone a las cadenas de caracteres, simplemente convierten la cadena en UNICODE (Estándar de la industria)&lt;/p&gt; &lt;p&gt;Unicode permite garantizar el estándar de escritura, ya que en Unicode existe una representación numérica única para cada carácter.&lt;/p&gt; &lt;p&gt;Para saber mas acerca de Unicode visita &lt;a title=&quot;http://es.wikipedia.org/wiki/Unicode&quot; href=&quot;http://es.wikipedia.org/wiki/Unicode&quot;&gt;http://es.wikipedia.org/wiki/Unicode&lt;/a&gt;&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://jboca.blogspot.com/feeds/5105575476374136320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3478804414142902008/5105575476374136320' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/5105575476374136320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/5105575476374136320'/><link rel='alternate' type='text/html' href='http://jboca.blogspot.com/2011/02/para-que-sirve-la-n-en-sql-server.html' title='Para que sirve la N en SQL Server'/><author><name>John J. Bocachica</name><uri>http://www.blogger.com/profile/05173460945632553184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp2.blogger.com/_hpD3dFwMIwA/R9bYn9MbUPI/AAAAAAAAA_s/4nygb2QlOak/S220/boca+linchtestein+.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3478804414142902008.post-6173781037141493310</id><published>2010-10-20T17:25:00.001-05:00</published><updated>2010-10-21T09:33:45.359-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Reporting Services"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server 2008"/><title type='text'>Unir o Mezclar Datasets en Reporting Services</title><content type='html'>&lt;p&gt;Esta quizá ha sido una de las preguntas que mas me han hecho en lo que refiere a SQL Server Reporting Services “Como hago para unir 2 Datasets”… bueno, la verdad siempre logre resolverlo con T-SQL y en algunos casos con MDX, sin embargo llego la hora de investigar como hacerlo, ahora que lo logre, es hora de compartirlo con ustedes.&lt;/p&gt;  &lt;p&gt;El siguiente ejemplo es de caracter explicativo, SQLGeek entiende que la solución se puede tener fácilmente a través de TSQL, sin embargo el objetivo es explicar el uso de las funciones en SSRS.&lt;/p&gt;  &lt;hr /&gt;Usaremos la base de datos AdventureWorks   &lt;p&gt;&lt;strong&gt;Dataset1&lt;/strong&gt;&lt;/p&gt;  &lt;div style=&quot;border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.83%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; height: 114px; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px&quot; id=&quot;codeSnippetWrapper&quot;&gt;   &lt;div style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot; id=&quot;codeSnippet&quot;&gt;     &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot;&gt;&lt;span style=&quot;color: #606060&quot; id=&quot;lnum1&quot;&gt;   1:&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;SELECT&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;TOP&lt;/span&gt; 10 &lt;span style=&quot;color: #0000ff&quot;&gt;YEAR&lt;/span&gt;(OrderDate) Anho, &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot;&gt;&lt;span style=&quot;color: #606060&quot; id=&quot;lnum2&quot;&gt;   2:&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;SUM&lt;/span&gt;(SubTotal) Subtotal, &lt;span style=&quot;color: #0000ff&quot;&gt;SUM&lt;/span&gt;(TaxAmt) Impuestos, &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot;&gt;&lt;span style=&quot;color: #606060&quot; id=&quot;lnum3&quot;&gt;   3:&lt;/span&gt; SalesPersonID &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot;&gt;&lt;span style=&quot;color: #606060&quot; id=&quot;lnum4&quot;&gt;   4:&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;FROM&lt;/span&gt; Sales.SalesOrderHeader &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot;&gt;&lt;span style=&quot;color: #606060&quot; id=&quot;lnum5&quot;&gt;   5:&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;GROUP&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;BY&lt;/span&gt; SalesPersonID, &lt;span style=&quot;color: #0000ff&quot;&gt;YEAR&lt;/span&gt;(OrderDate)&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot;&gt;&lt;span style=&quot;color: #606060&quot; id=&quot;lnum6&quot;&gt;   6:&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;ORDER&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;BY&lt;/span&gt; SalesPersonID &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;style type=&quot;text/css&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, &quot;Courier New&quot;, courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Dataset2&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; height: 65px; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px&quot; id=&quot;codeSnippetWrapper&quot;&gt;&lt;br /&gt;  &lt;div style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot; id=&quot;codeSnippet&quot;&gt;&lt;br /&gt;    &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot;&gt;&lt;span style=&quot;color: #606060&quot; id=&quot;lnum1&quot;&gt;   1:&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;SELECT&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;TOP&lt;/span&gt; 10 SalesPersonID, SalesQuota  &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot;&gt;&lt;span style=&quot;color: #606060&quot; id=&quot;lnum2&quot;&gt;   2:&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;FROM&lt;/span&gt; SALES.SalesPerson&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot;&gt;&lt;span style=&quot;color: #606060&quot; id=&quot;lnum3&quot;&gt;   3:&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;Order&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;by&lt;/span&gt; SalesPersonID &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;style type=&quot;text/css&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, &quot;Courier New&quot;, courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;style type=&quot;text/css&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, &quot;Courier New&quot;, courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Estos datasets devolverán la siguiente información&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; height: 240px; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px&quot; id=&quot;codeSnippetWrapper&quot;&gt;&lt;br /&gt;  &lt;div style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot; id=&quot;codeSnippet&quot;&gt;&lt;br /&gt;    &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot;&gt;&lt;span style=&quot;color: #606060&quot; id=&quot;lnum1&quot;&gt;   1:&lt;/span&gt; Anho        Subtotal              Impuestos             SalesPersonID&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot;&gt;&lt;span style=&quot;color: #606060&quot; id=&quot;lnum2&quot;&gt;   2:&lt;/span&gt; ----------- --------------------- --------------------- -------------&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot;&gt;&lt;span style=&quot;color: #606060&quot; id=&quot;lnum3&quot;&gt;   3:&lt;/span&gt; 2002        6530343.5264          522427.5036           NULL&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot;&gt;&lt;span style=&quot;color: #606060&quot; id=&quot;lnum4&quot;&gt;   4:&lt;/span&gt; 2003        9791060.2977          783284.8498           NULL&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot;&gt;&lt;span style=&quot;color: #606060&quot; id=&quot;lnum5&quot;&gt;   5:&lt;/span&gt; 2001        3266373.6566          261309.8975           NULL&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot;&gt;&lt;span style=&quot;color: #606060&quot; id=&quot;lnum6&quot;&gt;   6:&lt;/span&gt; 2004        9770899.74            781671.9792           NULL&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot;&gt;&lt;span style=&quot;color: #606060&quot; id=&quot;lnum7&quot;&gt;   7:&lt;/span&gt; 2004        302131.667            24170.5335            268&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot;&gt;&lt;span style=&quot;color: #606060&quot; id=&quot;lnum8&quot;&gt;   8:&lt;/span&gt; 2001        34682.5602            2774.6049             268&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot;&gt;&lt;span style=&quot;color: #606060&quot; id=&quot;lnum9&quot;&gt;   9:&lt;/span&gt; 2002        479976.9232           38398.1537            268&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot;&gt;&lt;span style=&quot;color: #606060&quot; id=&quot;lnum10&quot;&gt;  10:&lt;/span&gt; 2003        552833.499            44226.6801            268&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot;&gt;&lt;span style=&quot;color: #606060&quot; id=&quot;lnum11&quot;&gt;  11:&lt;/span&gt; 2001        903229.8296           72258.3864            275&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot;&gt;&lt;span style=&quot;color: #606060&quot; id=&quot;lnum12&quot;&gt;  12:&lt;/span&gt; 2004        1858626.9289          148690.1544           275&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px&quot; id=&quot;codeSnippetWrapper&quot;&gt;&lt;br /&gt;  &lt;div style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot; id=&quot;codeSnippet&quot;&gt;&lt;br /&gt;    &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot;&gt;&lt;span style=&quot;color: #606060&quot; id=&quot;lnum1&quot;&gt;   1:&lt;/span&gt; SalesPersonID SalesQuota&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot;&gt;&lt;span style=&quot;color: #606060&quot; id=&quot;lnum2&quot;&gt;   2:&lt;/span&gt; ------------- ---------------------&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot;&gt;&lt;span style=&quot;color: #606060&quot; id=&quot;lnum3&quot;&gt;   3:&lt;/span&gt; 268           NULL&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot;&gt;&lt;span style=&quot;color: #606060&quot; id=&quot;lnum4&quot;&gt;   4:&lt;/span&gt; 275           300000.00&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot;&gt;&lt;span style=&quot;color: #606060&quot; id=&quot;lnum5&quot;&gt;   5:&lt;/span&gt; 276           250000.00&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot;&gt;&lt;span style=&quot;color: #606060&quot; id=&quot;lnum6&quot;&gt;   6:&lt;/span&gt; 277           250000.00&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot;&gt;&lt;span style=&quot;color: #606060&quot; id=&quot;lnum7&quot;&gt;   7:&lt;/span&gt; 278           250000.00&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot;&gt;&lt;span style=&quot;color: #606060&quot; id=&quot;lnum8&quot;&gt;   8:&lt;/span&gt; 279           300000.00&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot;&gt;&lt;span style=&quot;color: #606060&quot; id=&quot;lnum9&quot;&gt;   9:&lt;/span&gt; 280           250000.00&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot;&gt;&lt;span style=&quot;color: #606060&quot; id=&quot;lnum10&quot;&gt;  10:&lt;/span&gt; 281           250000.00&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot;&gt;&lt;span style=&quot;color: #606060&quot; id=&quot;lnum11&quot;&gt;  11:&lt;/span&gt; 282           250000.00&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot;&gt;&lt;span style=&quot;color: #606060&quot; id=&quot;lnum12&quot;&gt;  12:&lt;/span&gt; 283           250000.00&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Ahora bien, una vez llevamos esto a SSRS en Datasets Separados podríamos tener 2 reportes, 2 tablas, 2 gráficos, 2 matrices o 2 listas…&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://lh3.ggpht.com/_hpD3dFwMIwA/TL9sOAHzewI/AAAAAAAADKo/zd_3OiA8hZs/s1600-h/image%5B7%5D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://lh3.ggpht.com/_hpD3dFwMIwA/TL9sOrWdTVI/AAAAAAAADKs/k6RmFWLjvks/image_thumb%5B3%5D.png?imgmax=800&quot; width=&quot;635&quot; height=&quot;138&quot; /&gt;&lt;/a&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Sin embargo muchas personas me han consultado para poder llegar a algo así&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://lh4.ggpht.com/_hpD3dFwMIwA/TL9sPHzY6nI/AAAAAAAADKw/5PE4YCLDi9o/s1600-h/image%5B11%5D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://lh4.ggpht.com/_hpD3dFwMIwA/TL9sPWETniI/AAAAAAAADK0/TPV2g3mnSf0/image_thumb%5B5%5D.png?imgmax=800&quot; width=&quot;641&quot; height=&quot;129&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Pero me dicen que al intentar hacerlo, SSRS devuelve un error así&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://lh5.ggpht.com/_hpD3dFwMIwA/TL9sP-3e_EI/AAAAAAAADK4/P6DxvksEQJw/s1600-h/image%5B15%5D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://lh5.ggpht.com/_hpD3dFwMIwA/TL9sQdREHnI/AAAAAAAADK8/O8aAJplvfjI/image_thumb%5B7%5D.png?imgmax=800&quot; width=&quot;466&quot; height=&quot;145&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;La solución esta en el uso de la función &lt;strong&gt;Lookup&lt;/strong&gt;, disponible en SQL Server Reporting Services, y que nos permite que podamos hacer este tipo de cosas, la sintaxis de la función es la siguiente:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;csharpcode&quot;&gt;=Lookup(CampoDataSet1, CampoDataSet2, CampoQueQueremosTraer, DataSetSecundario)&lt;/pre&gt;&lt;br /&gt;&lt;style type=&quot;text/css&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, &quot;Courier New&quot;, courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;La función Lookup es el equivalente a un Join, solo que lastimosamente con esta función podemos traer un campo a la vez, así que si deseamos traer mas de un campo, tendremos que poner la función mas de una vez.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Si aplicamos esto a nuestro ejemplo, nuestra función quedaría de la siguiente manera.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;csharpcode&quot;&gt;=Lookup(Fields!SalesPersonID.Value, Fields!SalesPersonID.Value, Fields!SalesQuota.Value, &lt;span class=&quot;str&quot;&gt;&amp;quot;DataSet2&amp;quot;&lt;/span&gt;)&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Obteniendo los siguientes resultados&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://lh5.ggpht.com/_hpD3dFwMIwA/TL9sRWgkk5I/AAAAAAAADLA/M0eBz79jSUg/s1600-h/image%5B19%5D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://lh4.ggpht.com/_hpD3dFwMIwA/TL9sSPSsECI/AAAAAAAADLE/179geXhBeSw/image_thumb%5B9%5D.png?imgmax=800&quot; width=&quot;540&quot; height=&quot;272&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Espero les sea de mucha utilidad…&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Si tienen dudas o desean que tratemos algun tema en el blog, no duden en escribirme a jbocachica (arroba) sqlgeek.net&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Descárgate el RDL aquí&amp;#160; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;&lt;a href=&quot;http://tinyurl.com/sqlgeek1&quot;&gt;http://tinyurl.com/sqlgeek1&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://jboca.blogspot.com/feeds/6173781037141493310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3478804414142902008/6173781037141493310' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/6173781037141493310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/6173781037141493310'/><link rel='alternate' type='text/html' href='http://jboca.blogspot.com/2010/10/unir-o-mezclar-datasets-en-reporting.html' title='Unir o Mezclar Datasets en Reporting Services'/><author><name>John J. Bocachica</name><uri>http://www.blogger.com/profile/05173460945632553184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp2.blogger.com/_hpD3dFwMIwA/R9bYn9MbUPI/AAAAAAAAA_s/4nygb2QlOak/S220/boca+linchtestein+.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_hpD3dFwMIwA/TL9sOrWdTVI/AAAAAAAADKs/k6RmFWLjvks/s72-c/image_thumb%5B3%5D.png?imgmax=800" height="72" width="72"/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3478804414142902008.post-5657825942789835389</id><published>2010-07-22T17:02:00.001-05:00</published><updated>2010-07-22T17:02:30.399-05:00</updated><title type='text'>SQL Azure “Houston” -  CTP Disponible</title><content type='html'>&lt;p&gt;El CTP 1 de “Houston” esta dispobible para descarga…&lt;/p&gt;  &lt;p&gt;&lt;a title=&quot;http://blogs.msdn.com/b/sqlazure/archive/2010/07/21/10040258.aspx&quot; href=&quot;http://blogs.msdn.com/b/sqlazure/archive/2010/07/21/10040258.aspx&quot;&gt;http://blogs.msdn.com/b/sqlazure/archive/2010/07/21/10040258.aspx&lt;/a&gt;&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://jboca.blogspot.com/feeds/5657825942789835389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3478804414142902008/5657825942789835389' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/5657825942789835389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3478804414142902008/posts/default/5657825942789835389'/><link rel='alternate' type='text/html' href='http://jboca.blogspot.com/2010/07/sql-azure-houston-ctp-disponible.html' title='SQL Azure “Houston” -  CTP Disponible'/><author><name>John J. Bocachica</name><uri>http://www.blogger.com/profile/05173460945632553184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp2.blogger.com/_hpD3dFwMIwA/R9bYn9MbUPI/AAAAAAAAA_s/4nygb2QlOak/S220/boca+linchtestein+.jpg'/></author><thr:total>0</thr:total></entry></feed>