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

<channel>
	<title>PortalSQL &#187; Relacional</title>
	<atom:link href="http://portalsql.com/index.php/category/relacional/feed/" rel="self" type="application/rss+xml" />
	<link>http://portalsql.com</link>
	<description>Compartiendo conocimiento SQL</description>
	<lastBuildDate>Sun, 18 Jul 2010 18:53:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Training Kit R2 listo en la web</title>
		<link>http://portalsql.com/index.php/2010/06/training-kit-r2-listo-en-la-web/</link>
		<comments>http://portalsql.com/index.php/2010/06/training-kit-r2-listo-en-la-web/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 16:52:53 +0000</pubDate>
		<dc:creator>Miguel Egea</dc:creator>
				<category><![CDATA[Analisys Services]]></category>
		<category><![CDATA[Noticias]]></category>
		<category><![CDATA[Relacional]]></category>

		<guid isPermaLink="false">http://portalsql.com/?p=277</guid>
		<description><![CDATA[Algunos de mis compañeros en Solid han trabajado duro en esto, pero ya está listo para descarga en: http://go.microsoft.com/?linkid=9710868
esto lo dejo en inglés porque el video estará en inglés  
Or if you just want to see what’s in it, you can preview training kit content online in the SQL Server 2008 R2 Learning Center [...]]]></description>
			<content:encoded><![CDATA[<p>Algunos de mis compañeros en Solid han trabajado duro en esto, pero ya está listo para descarga en: <a href="http://go.microsoft.com/?linkid=9710868">http://go.microsoft.com/?linkid=9710868</a></p>
<p>esto lo dejo en inglés porque el video estará en inglés <img src='http://portalsql.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Or if you just want to see what’s in it, you can preview training kit content online in the SQL Server 2008 R2 Learning Center on Channel 9 at <a href="http://channel9.msdn.com/learn/courses/SQL2008R2TrainingKit">http://channel9.msdn.com/learn/courses/SQL2008R2TrainingKit</a></p>
]]></content:encoded>
			<wfw:commentRss>http://portalsql.com/index.php/2010/06/training-kit-r2-listo-en-la-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Buscador sencillo en c#</title>
		<link>http://portalsql.com/index.php/2010/04/buscador-sencillo-en-c/</link>
		<comments>http://portalsql.com/index.php/2010/04/buscador-sencillo-en-c/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 10:44:12 +0000</pubDate>
		<dc:creator>Miguel Egea</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Relacional]]></category>

		<guid isPermaLink="false">http://portalsql.com/?p=263</guid>
		<description><![CDATA[En un post del grupo de noticias un compañero tenía una duda sobre como crear buscadores, de forma que la consulta SQL no fuese muy compleja de tratar y escribir, a la vez que no tenga problemas de inyección de código y que cumpla con sus requisitos. Yo me he permitido escribir el código todo [...]]]></description>
			<content:encoded><![CDATA[<p>En un post del grupo de noticias un compañero tenía una duda sobre como crear buscadores, de forma que la consulta SQL no fuese muy compleja de tratar y escribir, a la vez que no tenga problemas de inyección de código y que cumpla con sus requisitos. Yo me he permitido escribir el código todo en C#, aunque me hubiese gustado escribir un procedimiento almacenado, creo que de forma didactica esto va a quedar más claro.</p>
<p><a href="http://www.portalsql.com/wp-content/uploads/2010/04/demo%20buscador.zip" target="_self">Desde aquí puedes bajarte la aplicacion en zip.</a></p>
<p>Espero que disfruteis el  post.</p>
<pre lang="c#">using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Configuration;

namespace Demo_Buscador
{
    public partial class Form1 : Form
    {
        SqlConnection con = new SqlConnection( ConfigurationManager.ConnectionStrings["AdventureWorks2008"].ConnectionString.ToString() ) ;
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

            DataTable dt=new DataTable();
            SqlDataAdapter da = new SqlDataAdapter("select DISTINCT PERSON.PersonType From Person.Person",con);
            da.Fill(dt);
            TipoPersona.DataSource = dt;
            TipoPersona.DisplayMember = "PersonType";

        }

        private void button1_Click(object sender, EventArgs e)
        {
            string SQL = "SELECT * FROM Person.Person  ";
            string where="";
            SqlDataAdapter da = new SqlDataAdapter();
            da.SelectCommand = new SqlCommand();
            da.SelectCommand.Connection = con;
            if (TipoPersona.Text != null &amp;&amp; TipoPersona.Text!="")
            {
                TipoPersona.Text += "   ";
                da.SelectCommand.Parameters.Add("@PersonType",SqlDbType.NChar,2).Value=TipoPersona.Text.Substring(0,2);

                where += " PersonType=@PersonType AND ";

            }
            if (Nombre.Text != "")
            {
                da.SelectCommand.Parameters.Add("@name", SqlDbType.NVarChar, 50).Value = Nombre.Text;
                where += " LastName like @name  AND ";

            }

            if (where != "")
                SQL += " WHERE " + where.Substring(0, where.Length - 4);

            da.SelectCommand.CommandText = SQL;

            DataTable DT=new DataTable();
            da.Fill(DT);

            dataGridView1.DataSource = DT;

        }
    }
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://portalsql.com/index.php/2010/04/buscador-sencillo-en-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pruebas unitarias en proyectos multidimensionales</title>
		<link>http://portalsql.com/index.php/2010/04/pruebas-unitarias-en-proyectos-multidimensionales/</link>
		<comments>http://portalsql.com/index.php/2010/04/pruebas-unitarias-en-proyectos-multidimensionales/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 10:27:20 +0000</pubDate>
		<dc:creator>Miguel Egea</dc:creator>
				<category><![CDATA[Analisys Services]]></category>
		<category><![CDATA[Noticias]]></category>
		<category><![CDATA[Relacional]]></category>

		<guid isPermaLink="false">http://portalsql.com/?p=251</guid>
		<description><![CDATA[Mi compañero en SolidQ Italia, Davide Mauri ha desarrollado un proyecto que me parece muy positivo.  Este es el mensaje que ha puesto Davide.
Y aquí puedes llegar al proyecto
A project that allow the execution of Unit Testing against a database (Relational or Multidimensional).
It uses NUnit (http://www.nunit.org/) )as unit-testing framework and does not require DBA or [...]]]></description>
			<content:encoded><![CDATA[<p>Mi compañero en SolidQ Italia, Davide Mauri ha desarrollado un proyecto que me parece muy positivo.  Este es el mensaje que ha puesto Davide.</p>
<p><a href="http://queryunit.codeplex.com/">Y aquí puedes llegar al proyecto</a></p>
<p>A project that allow the execution of Unit Testing against a database (Relational or Multidimensional).<br />
It uses NUnit (<a href="http://www.nunit.org/">http://www.nunit.org/</a>) )as unit-testing framework and does not require DBA or BI Developer to know anything about .NET: just write your SQL or MDX queries and test them. QueryUnit will take care of automatically create the assembly that will test your query for you, using NVelocity (<a href="http://nvelocity.codeplex.com/">http://nvelocity.codeplex.com/</a>) to generate .NET classes and the CodeDom engine to compile them at runtime.</p>
<p><a href="http://portalsql.com/wp-content/uploads/2010/04/QueryUnitPOC0006.png"><img class="aligncenter size-large wp-image-252" title="QueryUnitPOC0006" src="http://portalsql.com/wp-content/uploads/2010/04/QueryUnitPOC0006-1024x659.png" alt="" width="1024" height="659" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://portalsql.com/index.php/2010/04/pruebas-unitarias-en-proyectos-multidimensionales/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Un curso gratuito sobre SQL Server Azure</title>
		<link>http://portalsql.com/index.php/2010/04/un-curso-gratuito-sobre-sql-server-azure/</link>
		<comments>http://portalsql.com/index.php/2010/04/un-curso-gratuito-sobre-sql-server-azure/#comments</comments>
		<pubDate>Sat, 03 Apr 2010 20:46:05 +0000</pubDate>
		<dc:creator>Miguel Egea</dc:creator>
				<category><![CDATA[Noticias]]></category>
		<category><![CDATA[Relacional]]></category>

		<guid isPermaLink="false">http://portalsql.com/?p=248</guid>
		<description><![CDATA[Para hacer el curso puedes pulsar aquí.  
Esto es lo que trata.








This two-hour clinic explores the capabilities of Introduction to Microsoft SQL Azure.
This clinic covers the following topics:

Understanding the SQL Azure Platform
Designing Applications for SQL Azure
Migrating Applications to SQL Azure
Achieving Scale with SQL Azure

Users completing this collection should have a basic understanding of SQL Server [...]]]></description>
			<content:encoded><![CDATA[<p>Para hacer el curso puedes pulsar <a href="https://www.microsoftelearning.com/eLearning/courseDetail.aspx?courseId=168190&amp;tab=overview" target="_blank">aquí</a>.  </p>
<p>Esto es lo que trata.</p>
<table>
<tbody>
<tr>
<td>
<div id="courseMasterTabContents_overview">
<table width="100%">
<tbody>
<tr>
<td>This two-hour clinic explores the capabilities of Introduction to Microsoft SQL Azure.</p>
<p>This clinic covers the following topics:</p>
<ul>
<li>Understanding the SQL Azure Platform</li>
<li>Designing Applications for SQL Azure</li>
<li>Migrating Applications to SQL Azure</li>
<li>Achieving Scale with SQL Azure</li>
</ul>
<p>Users completing this collection should have a basic understanding of SQL Server and relational database systems.</td>
</tr>
<tr>
<td><img src="/themes/default/images/1px.gif" border="0" alt="" width="1" height="8" /></td>
</tr>
<tr>
<td><strong>Objetivos</strong></td>
</tr>
<tr>
<td><img src="/themes/default/images/1px.gif" border="0" alt="" width="1" height="4" /></td>
</tr>
<tr>
<td>
<div>Al finalizar el curso, los alumnos serán capaces de:</div>
<ul>
<li>Understand SQL Server Development</li>
<li>Understand relational database concepts</li>
</ul>
</td>
</tr>
</tbody>
</table>
</div>
<div id="courseMasterTabContents_systemReqs">
<table width="100%">
<tbody>
<tr>
<td><img src="/themes/default/images/1px.gif" border="0" alt="" width="1" height="6" /></td>
</tr>
<tr>
<td><strong>Requisitos del sistema</strong></td>
</tr>
<tr>
<td><img src="/themes/default/images/1px.gif" border="0" alt="" width="1" height="4" /></td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td>
<div>Para ver este curso, necesita:</div>
<ul>
<li>Pentium II, RAM de 256 MB con una velocidad de procesamiento de 400 MHZ o más.</li>
<li>Microsoft® Windows® 2000 o posterior.</li>
<li>Microsoft Internet Explorer 6.0 con SP1.</li>
<li>Macromedia Flash 7.0 o posterior (se necesita 1 MB de espacio en disco para la instalación).</li>
<li>Microsoft Virtual Server ActiveX control (necesario para los laboratorios virtuales; se necesita 1 MB de espacio en disco para la instalación).</li>
<li>Microsoft Windows Media Player 7.0 o posterior.</li>
<li>Microsoft XML Core Services 3.0 o posterior.</li>
<li>Un monitor Super VGA con resolución mínima de 1024 x 768, con colores a 16 bits.</li>
<li>Se recomiendan una tarjeta de sonido, parlantes o auriculares.</li>
<li>Un ancho de banda de Internet de 56K o superior. Se recomienda banda ancha.</li>
</ul>
<div>Para los cursos que incluyan prácticas basadas en Virtual Server (cursos en el catálogo para el programador y el profesional de tecnología de la información), necesitará:</div>
<ul>
<li>Control ActiveX de Microsoft Virtual Server (se requiere 1MB de espacio en disco para la instalación)</li>
</ul>
<p><a href="JavaScript:popupHelp('/help/systemRequirements.aspx');">Pruebe las capacidades de su equipo</a> para ver si podrá ejecutar este curso.</td>
</tr>
<tr>
<td><img src="/themes/default/images/1px.gif" border="0" alt="" width="1" height="8" /></td>
</tr>
<tr>
<td><strong>Requisitos de accesibilidad</strong></td>
</tr>
<tr>
<td><img src="/themes/default/images/1px.gif" border="0" alt="" width="1" height="4" /></td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td>
<div>El software siguiente tiene que estar en ejecución en su equipo para poder obtener acceso a este curso con el software lector de pantalla:</div>
<ul>
<li>Microsoft Internet Explorer 5.0 o posterior</li>
<li>Window-Eyes de GW Micro</li>
<li>JAWS de Freedom Scientific</li>
<li>Habilitado para MSAA</li>
</ul>
</td>
</tr>
</tbody>
</table>
</div>
<div id="courseMasterTabContents_details">
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr valign="top">
<td width="100%"><img src="/themes/default/images/1px.gif" border="0" alt="" width="1" height="20" /></td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr valign="top">
<td>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr valign="top">
<td width="100%" height="20">Módulos y lecciones<br />
<img src="/themes/default/images/1px.gif" alt="" width="100%" height="1" /></td>
</tr>
<tr>
<td colspan="2">Clinic Overview</td>
</tr>
<tr>
<td colspan="2">Module Overview</td>
</tr>
<tr>
<td colspan="2">Clinic Overview</td>
</tr>
<tr>
<td colspan="2">Navigation Overview</td>
</tr>
<tr>
<td colspan="2">Clinic Information</td>
</tr>
<tr>
<td colspan="2">Introduction to Microsoft SQL Azure</td>
</tr>
<tr>
<td colspan="2">Module Overview</td>
</tr>
<tr>
<td colspan="2">Understanding the SQL Azure Platform</td>
</tr>
<tr>
<td colspan="2">Introduction</td>
</tr>
<tr>
<td colspan="2">Windows Azure Platform</td>
</tr>
<tr>
<td colspan="2">Extending the SQL Data Platform to the Cloud</td>
</tr>
<tr>
<td colspan="2">What SQL Azure Is</td>
</tr>
<tr>
<td colspan="2">What SQL Azure Is Not</td>
</tr>
<tr>
<td colspan="2">When to Use SQL Azure vs Azure Tables</td>
</tr>
<tr>
<td colspan="2">SQL Azure Provisioning Model</td>
</tr>
<tr>
<td colspan="2">Provisioning a SQL Azure Account and Connecting to SQL Azure</td>
</tr>
<tr>
<td colspan="2">SQL Azure Architecture</td>
</tr>
<tr>
<td colspan="2">Creating a SQL Azure Database</td>
</tr>
<tr>
<td colspan="2">High Availability and Recovery</td>
</tr>
<tr>
<td colspan="2">Self Test</td>
</tr>
<tr>
<td colspan="2">Designing Applications for SQL Azure</td>
</tr>
<tr>
<td colspan="2">Introduction</td>
</tr>
<tr>
<td colspan="2">Logical vs Physical Administration</td>
</tr>
<tr>
<td colspan="2">Creating Objects in SQL Azure</td>
</tr>
<tr>
<td colspan="2">Compatibility Goals</td>
</tr>
<tr>
<td colspan="2">T-SQL</td>
</tr>
<tr>
<td colspan="2">T-SQL Support</td>
</tr>
<tr>
<td colspan="2">SQL Azure Security Model</td>
</tr>
<tr>
<td colspan="2">Managing Logins and Security</td>
</tr>
<tr>
<td colspan="2">Connection Model</td>
</tr>
<tr>
<td colspan="2">Managing Connections in SQL Azure Applications</td>
</tr>
<tr>
<td colspan="2">Managing Connections in a SQL Azure Application</td>
</tr>
<tr>
<td colspan="2">Self Test</td>
</tr>
<tr>
<td colspan="2">Migrating Applications to SQL Azure</td>
</tr>
<tr>
<td colspan="2">Introduction</td>
</tr>
<tr>
<td colspan="2">Migrating Database Schemas to SQL Azure</td>
</tr>
<tr>
<td colspan="2">Migrating Database Schema to SQL Azure</td>
</tr>
<tr>
<td colspan="2">Migrating Application Data to SQL Azure</td>
</tr>
<tr>
<td colspan="2">SQL Server Integration Services</td>
</tr>
<tr>
<td colspan="2">Working with BCP</td>
</tr>
<tr>
<td colspan="2">Migrating Application Data to SQL Azure Using SSIS</td>
</tr>
<tr>
<td colspan="2">Choosing an Appropriate Local Caching Strategy</td>
</tr>
<tr>
<td colspan="2">Using Local Caching with SQL Azure Data Sync</td>
</tr>
<tr>
<td colspan="2">PHP Support for SQL Azure</td>
</tr>
<tr>
<td colspan="2">Self Test</td>
</tr>
<tr>
<td colspan="2">Achieving Scale with SQL Azure</td>
</tr>
<tr>
<td colspan="2">Introduction</td>
</tr>
<tr>
<td colspan="2">Why Scale Out?</td>
</tr>
<tr>
<td colspan="2">Database Size</td>
</tr>
<tr>
<td colspan="2">Performance Considerations</td>
</tr>
<tr>
<td colspan="2">Accessing Usage Data from System Views</td>
</tr>
<tr>
<td colspan="2">Scale out Considerations</td>
</tr>
<tr>
<td colspan="2">Throttling Considerations</td>
</tr>
<tr>
<td colspan="2">Sharding Basics</td>
</tr>
<tr>
<td colspan="2">Example Sharded Database Model</td>
</tr>
<tr>
<td colspan="2">Working with a Sharded Database</td>
</tr>
<tr>
<td colspan="2">Self Test</td>
</tr>
<tr>
<td colspan="2">Module Summary</td>
</tr>
<tr>
<td colspan="2">Module Summary</td>
</tr>
<tr>
<td colspan="2">Glossary</td>
</tr>
<tr>
<td colspan="2">Glossary</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
<div id="courseMasterTabContents_assessment">
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr valign="top">
<td colspan="2"><img src="/themes/default/images/1px.gif" border="0" alt="" width="1" height="10" /></td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr valign="top">
<td width="100%">Para realizar una evaluación, <a href="/signIn.aspx">conéctese</a> a su cuenta Passport Network.</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr valign="top">
<td width="100%">
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr valign="top">
<td valign="middle">
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr valign="top">
<td width="100%" valign="middle"><strong>Puntaje más reciente: </strong><a href="/signIn.aspx"><strong>Ingresar</strong></a></td>
<td align="right">
<input onclick="openAssessmentWindow( 168190,&quot;&quot; )" disabled="disabled" type="button" value="Hacer evaluación" /></td>
<td width="10"> </td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr valign="top">
<td width="100%">Seleccionó la opción de realizar una evaluación. Recibirá distintas preguntas para la evaluación. Respóndalas lo mejor que pueda.</p>
<ul>
<li>Podrá revisar sus respuestas en cualquier momento, antes de finalizar la evaluación, al hacer clic en <strong>Revisar</strong></li>
<li>Podrá finalizar la evaluación en cualquier momento al hacer clic en <strong>Finalizar</strong>. En ese momento, cualquier pregunta sin responder será considerada como incorrecta.</li>
<li>Haga clic en <strong>Ayuda</strong> en cualquier momento para obtener información acerca de la utilización de las evaluaciones.</li>
</ul>
</td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
<tr>
<td><img src="/themes/default/images/1px.gif" border="0" alt="" width="1" height="30" /></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://portalsql.com/index.php/2010/04/un-curso-gratuito-sobre-sql-server-azure/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Publicado Curso gratuito sobre Microsoft SQL Server R2 Master Data Services</title>
		<link>http://portalsql.com/index.php/2010/03/publicado-curso-gratuito-sobre-microsoft-sql-server-r2-master-data-services/</link>
		<comments>http://portalsql.com/index.php/2010/03/publicado-curso-gratuito-sobre-microsoft-sql-server-r2-master-data-services/#comments</comments>
		<pubDate>Fri, 26 Mar 2010 08:28:54 +0000</pubDate>
		<dc:creator>Miguel Egea</dc:creator>
				<category><![CDATA[Noticias]]></category>
		<category><![CDATA[Relacional]]></category>

		<guid isPermaLink="false">http://portalsql.com/?p=244</guid>
		<description><![CDATA[Clinic 10331: Introduction to Microsoft SQL Server 2008 R2 Master Data Services



Introducción





This two-hour clinic describes the capabilities of Microsoft SQL Server 2008 Master Data Services.This clinic covers the following topics:Master Data Services concepts, hierarchies, how to plan and implement Master Data Services Projects.
Users completing this collection should have a basic understanding of SQL Server and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://www.microsoftelearning.com/eLearning/courseDetail.aspx?courseId=167980&amp;tab=overview" target="_blank">Clinic 10331: Introduction to Microsoft SQL Server 2008 R2 Master Data Services</a></p>
<table width="100%">
<tbody>
<tr>
<td><strong>Introducción</strong></td>
</tr>
<tr>
<td><img src="/themes/default/images/1px.gif" border="0" alt="" width="1" height="4" /></td>
</tr>
<tr>
<td>This two-hour clinic describes the capabilities of Microsoft SQL Server 2008 Master Data Services.This clinic covers the following topics:Master Data Services concepts, hierarchies, how to plan and implement Master Data Services Projects.</p>
<p>Users completing this collection should have a basic understanding of SQL Server and relational database systems. It is also desirable to have an understanding of dimensions in analytic models.</td>
</tr>
<tr>
<td><img src="/themes/default/images/1px.gif" border="0" alt="" width="1" height="8" /></td>
</tr>
<tr>
<td><strong>Objetivos</strong></td>
</tr>
<tr>
<td><img src="/themes/default/images/1px.gif" border="0" alt="" width="1" height="4" /></td>
</tr>
<tr>
<td>
<div>Al finalizar el curso, los alumnos serán capaces de:</div>
<ul>
<li>Explain the importance of and value provided by master data management and the features provided by Microsoft SQL Server Master Data Services.</li>
<li>Explain the core concepts in designing master data management solutions.</li>
<li>Describe the process involved in implementing a solution using Microsoft SQL Server Master Data Services</li>
</ul>
</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://portalsql.com/index.php/2010/03/publicado-curso-gratuito-sobre-microsoft-sql-server-r2-master-data-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Publicado el centro de Desarrollo SQL en MSDN</title>
		<link>http://portalsql.com/index.php/2010/03/publicado-el-centro-de-desarrollo-sql-en-msdn/</link>
		<comments>http://portalsql.com/index.php/2010/03/publicado-el-centro-de-desarrollo-sql-en-msdn/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 19:49:27 +0000</pubDate>
		<dc:creator>Miguel Egea</dc:creator>
				<category><![CDATA[Noticias]]></category>
		<category><![CDATA[Relacional]]></category>

		<guid isPermaLink="false">http://portalsql.com/?p=242</guid>
		<description><![CDATA[Llevabamos un tiempo trabajando tras de cámaras y hoy por fin está ya publicado.   Mañana os pondré también algunas otras novedades.
De momento  disfrutad con el centro de desarrollo de SQL
]]></description>
			<content:encoded><![CDATA[<p>Llevabamos un tiempo trabajando tras de cámaras y hoy por fin está ya publicado.   Mañana os pondré también algunas otras novedades.</p>
<p>De momento  disfrutad con el<a href="http://msdn.microsoft.com/es-es/sqlserver/default.aspx"> centro de desarrollo de SQL</a></p>
]]></content:encoded>
			<wfw:commentRss>http://portalsql.com/index.php/2010/03/publicado-el-centro-de-desarrollo-sql-en-msdn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL Server 2008 R2 White papers (Data Tier Applications)</title>
		<link>http://portalsql.com/index.php/2010/03/sql-server-2008-r2-white-papers-data-tier-applications/</link>
		<comments>http://portalsql.com/index.php/2010/03/sql-server-2008-r2-white-papers-data-tier-applications/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 09:26:20 +0000</pubDate>
		<dc:creator>Miguel Egea</dc:creator>
				<category><![CDATA[Relacional]]></category>

		<guid isPermaLink="false">http://portalsql.com/?p=232</guid>
		<description><![CDATA[Ya hay algunos publicados, en un perfecto inglés. No es nada nuevo, en nuestra profesión ¿verdad?  En este caso podemos aprender sobre la nueva funcionalidad Data-Tier applications, que es una ayuda a mantener el ciclo de vida de una aplicación de datos, tanto para objetos de bases de datos (procedimientos almacenados, tablas) como de instancia [...]]]></description>
			<content:encoded><![CDATA[<p>Ya hay algunos publicados, en un perfecto inglés. No es nada nuevo, en nuestra profesión ¿verdad?  En este caso podemos aprender sobre la nueva funcionalidad Data-Tier applications, que es una ayuda a mantener el ciclo de vida de una aplicación de datos, tanto para objetos de bases de datos (procedimientos almacenados, tablas) como de instancia (logins). </p>
<p>Todo queda muy bien explicado <a href="http://msdn.microsoft.com/en-us/library/ff381683.aspx">en este libro blanco</a></p>
]]></content:encoded>
			<wfw:commentRss>http://portalsql.com/index.php/2010/03/sql-server-2008-r2-white-papers-data-tier-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Demos de SQL Azure y Storage por Eladio y Amigos</title>
		<link>http://portalsql.com/index.php/2010/02/demos-de-sql-azure-y-storage-por-eladio-y-amigos/</link>
		<comments>http://portalsql.com/index.php/2010/02/demos-de-sql-azure-y-storage-por-eladio-y-amigos/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 08:30:08 +0000</pubDate>
		<dc:creator>Miguel Egea</dc:creator>
				<category><![CDATA[Noticias]]></category>
		<category><![CDATA[Relacional]]></category>

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

		<guid isPermaLink="false">http://portalsql.com/index.php/2010/02/ciclo-de-webcast-sobre-sql-server-2008-r2-aka-kilimanjaro/</guid>
		<description><![CDATA[Creo que  un ciclo de conferencias tan interesante y tan elaborado merecen un link mas largo, explicando que encontrar en cada uno de ellos etc.. lo haremos espero con tiempo. De momento, aquí teneis el link
Ciclo de WebCast sobre SQL Server 2008 R2 en castellano
]]></description>
			<content:encoded><![CDATA[<p>Creo que  un ciclo de conferencias tan interesante y tan elaborado merecen un link mas largo, explicando que encontrar en cada uno de ellos etc.. lo haremos espero con tiempo. De momento, aquí teneis el link<br />
<a href="http://www.microsoft.com/spain/technet/jornadas/webcasts/webcasts_ant.aspx?id=9">Ciclo de WebCast sobre SQL Server 2008 R2 en castellano</a></p>
]]></content:encoded>
			<wfw:commentRss>http://portalsql.com/index.php/2010/02/ciclo-de-webcast-sobre-sql-server-2008-r2-aka-kilimanjaro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scripts curiosos, para construir otros scripts</title>
		<link>http://portalsql.com/index.php/2010/02/scripts-curiosos-para-construir-otros-scripts/</link>
		<comments>http://portalsql.com/index.php/2010/02/scripts-curiosos-para-construir-otros-scripts/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 12:36:40 +0000</pubDate>
		<dc:creator>Miguel Egea</dc:creator>
				<category><![CDATA[AntiCursores]]></category>
		<category><![CDATA[Relacional]]></category>

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

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

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

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

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

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

<p>Disfrutad del código </p>
]]></content:encoded>
			<wfw:commentRss>http://portalsql.com/index.php/2010/02/scripts-curiosos-para-construir-otros-scripts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
