2015/06/01

SQL Server - Utilizando Arrays de parametros en Procedimientos Almacenados

Una característica muy solicitada por los desarrolladores en SQL Server es la de poder pasar varios valores a un procedimiento almacenado en forma de array. Desde hace mucho tiempo utilizo una función de SQL que me permitía trabajar con Arrays a través de una cadena de texto delimitada por comas, normalmente los utilizaba en procesos de selección como en el ejemplo siguiente:
CREATE PROCEDURE SP_GetPerson
 @param VARCHAR(MAX)
AS
 SELECT p.BusinessEntityID,
        p.FirstName,
        p.LastName
 FROM   Person.Person p
 WHERE  p.BusinessEntityID IN (SELECT *
                               FROM   [dbo].[ArrayToTable] (@param))
 ORDER BY
        p.BusinessEntityID ASC
En este procedimiento el parametro @param recibe una cadena delimitada por comas con los valores '1,2,3,4,5', el SP_GetPerson devuelve todas las personas con estos códigos, la definición del parametro '@param' se realiza con varchar(MAX), para que la cadena pueda almacenar la mayor cantidad de códigos posible, sin embargo varchar(MAX) tiene la limitación de 8000 caracteres y en algunas situaciones se nos puede quedar pequeño.
La definición de la función en Transact-Sql es la siguiente:
CREATE FUNCTION [dbo].[ArrayToTable]
(
 @delimStr NVARCHAR(MAX)
)
RETURNS @StrValTable TABLE 
        (StrVal VARCHAR(20))
AS
BEGIN
 DECLARE @strlist     NVARCHAR(MAX),
         @pos         INT,
         @delim       CHAR,
         @lstr        NVARCHAR(MAX)
 
 SET @strlist = ISNULL(@delimStr, '')
 SET @delim = ','
 
 WHILE ((LEN(@strlist) > 0) AND (@strlist <> ''))
 BEGIN
     SET @pos = CHARINDEX(@delim, @strlist)
     
     IF @pos > 0
     BEGIN
         SET @lstr = SUBSTRING(@strlist, 1, @pos -1)
         SET @strlist = LTRIM(SUBSTRING(@strlist, CHARINDEX(@delim, @strlist) + 1, 8000))
     END
     ELSE
     BEGIN
         SET @lstr = @strlist
         SET @strlist = ''
     END
     
     INSERT @StrValTable
     VALUES
       (
         @lstr
       )
 END
 RETURN
END
GO
Básicamente lo que hace es crear una tabla temporal conformada por un campo y cada valor en un único registro, de esta forma la consulta de arriba puede ser ejecutada sin problemas, hay que tener en cuenta que el uso de tablas temporales puede reducir el rendimiento, sin embargo es mejor esto a llamar al SP muchas veces. Podriamos tambien optar por pasar los arrays con XML y readaptar la función.

2015/05/16

SQL Server - Convertir o separar por comas una cadena dividido en filas

La siguiente función convierte y separa comas una cadena dividido en filas.
DECLARE @nombre_db AS VARCHAR(50) 
CREATE FUNCTION fn_SplitString
(
 @Str           NVARCHAR(MAX),
 @Separator     CHAR(1)
)
RETURNS @ResultOutput TABLE(Id INT IDENTITY(1, 1), Result NVARCHAR(100))
AS
BEGIN
 DECLARE @Splitted_string NVARCHAR(4000)
 DECLARE @Pos INT
 DECLARE @NextPos INT
 
 SET @Str = @Str + @Separator
 SET @Pos = CHARINDEX(@Separator, @Str)
 WHILE (@pos <> 0)
 BEGIN
     SET @Splitted_string = SUBSTRING(@Str, 1, @Pos - 1)
     SET @Str = SUBSTRING(@Str, @pos + 1, LEN(@Str))
     SET @pos = CHARINDEX(@Separator, @Str)
     INSERT INTO @ResultOutput
     VALUES
       (
         @Splitted_string
       )
 END
 RETURN
END
Utilizando la función fn_SplitString en consulta:
--Separar una cadena por comas
SELECT Result
FROM   fn_SplitString('Split,string,example,in,sql,server', ',')

--Separar una cadena por símbolo de canalización
SELECT Result
FROM   fn_SplitString('Split|string|example|in|sql|server', '|')

--Separar una cadena por el espacio
SELECT Result
FROM   fn_SplitString('Split string example in sql server', ' ')

2015/05/02

SQL Server - Backup a todas las bases de datos

Aqui les dejo el código para hacer backup de todas sus bases de datos, solo tienen que ponerlo en un trabajo(jobs) para que se ejecute periódicamente.
DECLARE @nombre_db AS VARCHAR(50) 
DECLARE tablas_cursor CURSOR  
FOR
    SELECT NAME
    FROM   sys.databases
    WHERE  NAME NOT IN ('master' ,'tempdb' ,'model' ,'msdb')

OPEN tablas_cursor 

FETCH NEXT FROM tablas_cursor INTO @nombre_db 

WHILE @@fetch_status=0
BEGIN
    DECLARE @nombre VARCHAR(150) 
    
    SET @nombre = CONVERT(VARCHAR(9) ,GETDATE() ,6) 
    SET @nombre = 'D:\Backup\'+@nombre+'-' 
       +@nombre_db+'.bak'
    
    SET @nombre = REPLACE(@nombre ,' ' ,'') 
    
    
    BACKUP DATABASE @nombre_db TO DISK=@nombre WITH COMPRESSION
    
    FETCH NEXT FROM tablas_cursor INTO @nombre_db
END 

CLOSE tablas_cursor 

DEALLOCATE tablas_cursor

2015/02/09

¿Cómo de hackeable eres? Calcula tu puntuación 'Pwned'

Curioso artículo en el Huffington Post en el que se presenta un pequeño cuestionario con el que los usuarios pueden evaluar el riesgo de ser hackeados. Lo hemos adaptado un poquito pero más o menos puedes obtener una puntuación (no excesivamente científica) para ver las posibilidades de ser jodido pwned :


1.- ¿Qué tan fuertes son sus contraseñas? (10 puntos): A menudo las personas cometen errores básicos con sus contraseñas, como elegir aquellas que son fácilmente adivinables/crackeables (por ej: 'password123'), mantener las contraseñas por defecto, la reutilización de la misma contraseña en varias cuentas, etc. Puntuate a ti mismo:
+2 si escribes contraseñas complejas (caracteres, combinación de letras, números y símbolos)
+4 si utilizas contraseñas únicas para cada cuenta
+4 si usas autenticación de dos factores (cuando esté disponible)

2.- ¿Haces copia de seguridad de tus datos? (10 puntos): Los ciberdelincuentes usan cada vez más "ransomware" para victimizar a los consumidores. Dado que estos ataques hacen que los archivos personales (documentos, fotos, vídeos, música, etc.) sean inaccesibles y los PCs inservibles, la mejor manera de protegerse contra ello es mediante copias de seguridad periódicas de los datos a un disco duro externo, unidad flash o una cuenta en la nube. Elige una de estas puntuaciones:
+10 si haces copias de seguridad de los datos al menos una vez a la semana
+5 si haces copias de seguridad de los datos al menos una vez al mes
+1 si haces copias de seguridad con otra periodicidad mayor
+0 si no haces copias de seguridad

3.- ¿Qué sistema operativo utilizas? (5 puntos): Debido a que la mayoría de las personas en todo el mundo utilizan PCs basados en Windows en lugar de OS X o sistemas basados en Linux, los ciber-delincuentes suelen escribir malware diseñado específicamente para este sistema operativo. Como resultado, los usuarios que usan Macs o dispositivos Linux estarán generalmente menos expuestos (aunque no significa que sean inmunes) al malware que los usuarios de Windows. Puntuate a ti mismo:
+5 Si utilizas un dispositivo con Linux
+3 Si utilizas un dispositivo con OS X
+0 Si utilizas un dispositivo con Windows

4.- ¿Utilizas antivirus? (5 puntos):  Es cierto, un antivirus no es una bala de plata - y va a "tragarse" una gran cantidad de malware peligroso. Pero los usuarios todavía tenemos que tenerlo y mantenerlo actualizado, porque sin AV todavía existe un mayor riesgo de infección. Puntuate a ti mismo:
+5 si utilizas un producto antivirus en todos sus dispositivos (ya sea Windows, Mac o Linux) con firewall personal
+3 si utilizas un producto antivirus en todos sus dispositivos (ya sea Windows, Mac o Linux) sin firewall personal
+0 si no utilizas antivirus

5.- ¿Cómo navegas por Internet? (10 puntos): la mayoría de los ataques vienen ahora a través del navegador de Internet (descargas drive-by, cross-site scripting, man-in-the-browser, etc.), así que es importante que los usuarios naveguen por la web con cuidado. Eso significa:
+3 si usas plugins que bloqueen scripts (ScriptSafe, NoScript, Adblock Plus, etc.)
+2 si nunca haces clic en los anuncios pop-up o alertas
+2 si nunca visitas una página de registro de un enlace enviado por correo electrónico
+3 si usas navegadores separados para ir de compras y navegar por la web

6.- ¿Utilizas un PC dedicado para acceder al banco? (10 puntos) - En algún momento, casi todos los ordenadores que navegan por la web se infectan con malware y, en el peor de los casos, se trata de un troyano bancario. Si los usuarios deben proteger una cosa, esa es su cuenta bancaria online. La mejor manera de hacer esto es tener un equipo dedicado (como un netbook barato o Chromebook) que sólo se utilice para acceder online al banco. Puntuate a ti mismo:
+10 si tienes un portátil dedicado que sólo utilizas para la banca en línea
+0 si no

7.- ¿Utilizas redes Wi-Fi públicas? (10 puntos): Si usas WiFis públicas estás pidiendo a gritos ser hackeado. Hay una serie de herramientas de hacking gratuitas o de bajo coste que hacen que sea fácil para casi cualquier persona hackear una conexión Wi-Fi abierta. Puntuate a ti mismo:
+0 si utilizas WiFi públicas por lo menos una vez al año
+10 Si nunca las usas, 10.
-5 Si nunca usas WiFi públicas pero utilizas WiFi protegida por contraseña en tu casa y tus vecinos tienen cobertura

8.- ¿Visitas sitios peligrosos? (10 puntos): Esto no es un juicio personal, pero si frecuentas sitios web para adultos o sitios de intercambio de archivos donde los usuarios comparten películas y música pirateadas, estás aumentando el potencial de exponerte. Puntuate a ti mismo:
+0 si visitas estos sitios, 0
+10 si nunca lo haces

¿El resultado? 

A menos que obtuvieras 60 puntos o más, no estás seguro en absoluto y es el momento de cambiar tus costumbres. 
Y si puntuaste 35  o menos, ten cuidado porque eres un blanco muy fácil para los hackers y lo único que te mantiene a salvo es pura suerte. De hecho, es probable que ya puedas haber sido comprometido de una manera u otra, y que lo sepas o no.

Referencia: http://www.hackplayers.com/

2015/01/08

SQL SERVER - Encontrar tablas creadas o modificadas en la última semana

El siguiente Script SQL muestra una manera de identificar las tablas que se crearon o modificaron en la base de datos en la ultima semana.
 
SELECT o.name AS [Object_Name]
      ,s.name [Schema_Name]
      ,o.type_desc [Description]
      ,o.create_date [Creation_Date]
      ,o.modify_date [Modified_Date]
FROM   sys.all_objects o
       LEFT OUTER JOIN sys.schemas s
            ON  o.schema_id = s.schema_id
WHERE  create_date>(GETDATE()- 7)
       OR modify_date>(GETDATE()- 7)


Como puede ver, la consulta se puede agregar a un Job de SQL Server y podemos enviar el mismo como un correo electrónico al DBA o equipo de seguridad de forma automática.

2014/12/30

Cómo elegir una Base de Datos para su Empresa


A medida que su organización recopila más datos y quiere hacer un mejor uso de los datos que va adquiriendo se tienen varias opciones que van mucho más allá de las bases de datos tradicionales. Quizás ud. se encuentra en el punto en que el uso de herramientas de inteligencia de negocios que hacen extracciones desde su datawarehouse no es  suficiente, y los datos son demasiado grandes para analizarlos lo suficientemente rápido por los medios tradicionales, y por lo tanto, es el momento de realizar un análisis detallado de las alternativas de bases de datos disponibles en el mercado.

Claramente la elección de la tecnología de base de datos estará determinada por los parámetros de su proyecto: la cantidad de datos, la rapidez con que le llegan, el análisis que quiere hacer y si va a utilizarlos operacionalmente o para la toma de decisiones estratégicas. También es posible que desee extraer conocimiento del negocio, por ejemplo, de la venta al detalle en el punto de venta o de las transacciones de un programa de CRM. Quizás usted podría estar tratando de acelerar la logística, identificar dónde está el inventario en tiempo real en su cadena de suministro o realizar un seguimiento del comportamiento de un gran número de clientes en su sitio web.

La pregunta es entonces: ¿Cuáles bases de datos son apropiadas para determinados tipos de proyectos?. La siguiente breve guía que hemos elaborado, puede ayudarle a evaluar las opciones que hay disponibles:

Base de datos relacional

Qué es: Es el sistema tradicional de base de datos relacional, con datos estructurados organizados en tablas.
Fortalezas: Usa el lenguaje estándar de consulta SQL, que  garantiza la consistencia de los resultados de las consultas.
Debilidades: Requiere que la tabla completa se almacene en archivo o memoria, requiere de datos estructurados y esquemas relacionales, la tabla canónica debe ser replicada con el fin de realizar análisis en servidores paralelos.

Si usted está tratando con datos estructurados o de transacciones relativamente simples, por ejemplo, pedidos de clientes o datos de puntos de venta y desea la máxima flexibilidad en las preguntas que quiere responder, el lugar para comenzar es la base de datos relacional. La ventaja directa es que su organización probablemente ya está utilizando un RDBMS, por lo que su personal de TI,  incluyendo los analistas de bases de datos, pueden crear las consultas SQL directamente sin necesidad de mayor entrenamiento. Usted sólo tiene que elegir una base de datos de clase empresarial (a la escala adecuada de su proyecto) para satisfacer sus necesidades de análisis de datos. Puede elegir algunas tales como Oracle, IBM InfoSphere Warehouse, Sybase o Teradata. Hay muchas más, éstas son sólo un ejemplo.

Por otro lado, las desventajas podrian estar en el precio, en la flexibilidad de las consultas a datos que están rigurosamente estructurados y que se almacenan en un único conjunto canónico de tablas, las cuales tienen que ser replicadas si necesitar usar el procesamiento en paralelo para acelerar el rendimiento. En este caso, cada actualización tiene que ser replicada en otras copias, así que si los datos cambian mucho, hay un montón de costos asociados (procesamiento en memoria, procesamiento en disco, equipos, discos,  tiempo, etc.), lo que afectará negativamente a los tiempos de respuesta de las consultas. Usted podría también mantener las tablas en memoria en lugar de tenerlas en el disco, con el fin de acelerar la lectura y escritura, pero esto tiene un costo mayor. Y a medida que crecen los datos, el tiempo de respuesta para las consultas de análisis pueden fácilmente pasar de ser instantáneas a tomar horas, días o semanas.

Base de datos columnar

Qué es: Es una base de datos relacional que almacena los datos por columna en lugar de filas.
Fortalezas: Todos los puntos fuertes de una base de datos relacional, optimizada para un mejor rendimiento en el análisis de los datos de varias columnas a la vez.
Debilidades: Requiere que la tabla completa se almacene en archivo o memoria, requiere de datos estructurados y esquemas relacionales.

¿Qué pasa si sus datos están muy estructurados, pero necesita realizar un mayor análisis de los datos almacenados en unas pocas columnas particulares, por ejemplo, el análisis de las transacciones de venta por tienda o por producto?. En este caso, una base de datos en columnas tiene más sentido, y puede elegir algunas de las opciones tales como Sybase IQ, Microsoft SQL Server 2012, Teradata Columnar o Actian VectorWise.

Aunque suena raro el nombre, una base de datos columnar es también una base de datos relacional. La diferencia está en la forma: en lugar de almacenar cada tabla de datos como una fila tras otra en un solo archivo, una base de datos columnar almacena las columnas en archivos separados, por lo que se pueden indexar y buscar por separado, incluso en diferentes servidores (en un clúster) para mejorar el rendimiento. Como resultado, las bases de datos columnares pueden ser mucho más rápidas para el análisis que una base de datos relacional tradicional, ya que lo concentran en sólo una o unas pocas columnas. A pesar de esta ventaja, este tipo de base también hereda muchos inconvenientes de las bases de datos relacionales, incluyendo el esfuerzo y el tiempo de procesamiento del sistema necesario para mantener las tablas canónicas.

Bases de datos NoSQL

Qué es: Es una base de datos no-relacional que almacena los datos en registros de transacciones en lugar de las tablas.
Fortalezas: Más rápido y más compacto cuando se trata de bases de datos muy grandes, soporta datos no estructurados o estructurados irregularmente, es compatible con el análisis y fácil de distribuir a servidores en paralelo.
Debilidades: La tecnología no está madura, no hay un lenguaje de consulta estándar o herramientas de consulta, no garantiza la consistencia en los resultados de las consultas.

Supongamos ahora que su proyecto se ocupará de un orden de magnitud superior datos, por decir Teras de información, que no están tan estructurados. Por ejemplo, el seguimiento de la logística del inventario en tiempo real o el análisis de cómo los clientes utilizan su sitio web. Con bases de datos convencionales, se podría requerir de grandes tablas multidimensionales en los que la mayor parte de las celdas probablemente estarían vacías, mientras que otras, podrían tener que almacenar varios valores a la vez. Este es el tipo de situación complicada es por la que las bases de datos NoSQL fueron creadas. Estas incluyen bases de datos NoSQL como Hadoop HBase, Hypertable, MongoDB o MarkLogic. Con NoSQL, no hay una tabla real de datos, no hay estructura física de una tabla. Aquí, en cambio, la base de datos consiste en una lista de todos los datos (que puede contener una información con diferente forma cada vez) , que se escriben, haciendo una consulta de búsqueda que lista para saber qué datos se han escrito recientemente en un registro en particular. Es como si se ha creado una enorme tabla que en cada escritura, agrega la información y estira la tabla al terminar la búsqueda en el registro.

Con NoSQL no hay necesidad de una tabla gigante canónica que se almacene en el disco o en la memoria. Los registros individuales no se escriben en una tabla, sino que se almacenan en estructuras de datos complejas en un sólo archivo o documento, como por ejemplo, almacenar la información sobre una publicación de un blog (título, cuerpo de texto, autor, etc.) junto a los comentarios y etiquetas del mismo, ¡todo en un único registro!. Y las copias de la base de datos NoSQL se pueden escribir en varios servidores dentro de un grupo, por lo que el análisis se puede dividir en paralelo. En comparación con las tablas de datos convencionales, NoSQL recorre un camino más pequeño, se realiza mucho más rápido y es más fácil de poner en paralelo. Sin embargo, como su nombre lo indica, NoSQL no ofrece garantías de integridad relacional o consistencia de datos, y en la actualidad no hay lenguaje de consulta estándar que facilite su consulta. Este tipo de bases de datos es más adecuada para el análisis de grandes volúmenes de datos (conocido en la jerga actual, como el famoso Big Data), y especialmente cuando los resultados deben ser entregados en tiempo real.

Por otro lado, tampoco hay soporte generalizado para bases de datos NoSQL, y esto podría ser un problema a la hora de pedir ayuda. Sin embargo, si existen herramientas de software que apoyan el funcionamiento de NoSQL, tales como Hadoop, que divide el trabajo que se realiza en varios servidores en un clúster. Cabe destacar también, que con la llegada del Cloud Computing, hay más proveedores con servidores en “la nube” y una variada oferta de almacenamiento, que hace innecesario adquirir hardware con el fin de hacer un análisis basado en NoSQL.

Consideraciones de gestión a tener en cuenta

Para concluir esta guía, cualesquiera sea la base de datos que elija para su proyecto deberá tener en cuenta que tendrá que adquirir tecnología y desarrollar las habilidades de su personal de TI, es decir, capacitación y entrenamiento. Asegúrese también de que los costos encajen en el contexto de su proyecto empresarial. Recuerde que la tecnología desconocida requiere de tiempo para recibir el veto de los usuarios y también de tiempo para desarrollar las habilidades de su personal de TI. Seguramente su personal de TI sabe cómo lidiar con bases de datos convencionales, pero mucho de ese conocimiento no se transferirá directamente. Una buena idea en este punto es partir con experimentos a pequeña escala o prototipos, para ir adquiriendo experiencia.

Por otro lado, hay que tener en cuenta que los proveedores de bases de datos siempre están trabajando para hacer frente a las limitaciones propias del software y el hardware,  y agregando nuevas funcionalidades para satisfacer las nuevas necesidades de manejo de grandes volúmenes de datos, y quizás ello requiera de cambiar algunas técnicas y prácticas de sus desarrolladores para asimilar e internalizar su uso.

Finalmente, es muy probable que cometa errores. Mientras menos costosos sean, mejor. Por lo que  identificar la mejor tecnología de base de datos para sus proyectos de análisis e inteligencia de negocios, es un buen punto de partida. Y este es el espíritu de esta guía. Buena suerte!.

2014/12/08

SQL SERVER - Nombre de los meses entre intervalos de fechas

Como listar el nombre de los meses entre dos intervalos de tiempo?.
He aquí una manera de lograrlo.
 
DECLARE @StartDate DATETIME
       ,@EndDate DATETIME;
SELECT @StartDate = '20140301' -- March
      ,@EndDate = '20140901'; -- September
SELECT DATENAME(MONTH ,DATEADD(MONTH ,nos.monthnos ,@StartDate)) AS MonthName
FROM   (
           SELECT 1 monthnos UNION SELECT 2 UNION SELECT 3
           UNION SELECT 4 UNION SELECT 5 UNION SELECT 6
           UNION SELECT 7 UNION SELECT 8 UNION SELECT 9
           UNION SELECT 10 UNION SELECT 11 UNION SELECT 12
       ) nos
WHERE  nos.monthnos<= DATEDIFF(MONTH ,@StartDate ,@EndDate);

2014/11/04

Tamaño bases de datos SQL Server

Una de las grandes preocupaciones al tener una aplicación con una o varias bases de datos es el tamaño de los archivos de logs y data, que si no se crea un plan de mantenimiento o una buena configuración acorde a las necesidades pueden llegar a crecer desproporcionadamente.

Para conocer el estado de todos los archivos de una instancia podemos consultarle a Master el tamaño de todos los archivos contenidos en la instancia.
 
SELECT NAME              AS 'Nombre Archivo'
      ,FILENAME          AS 'Dirección Fisica'
      ,CASE groupid
            WHEN 1 THEN 'File'
            ELSE 'Log'
       END               AS 'Tipo archivo'
      ,SIZE              AS Tamaño
      ,(SIZE*8)/(1024.)  AS TamañoEnMBs
FROM   MASTER..sysaltfiles
ORDER BY
       SIZE                 DESC

Si tenemos el servicio de Database Mail habilitado podríamos configurar un job semanal o mensual que esté revisando con esta sentencia y si el tamaño de algún archivo específico sobrepasa el tamaño deseado enviar un correo en forma de alerta al Administrador(es).

2014/10/02

Más de 60 cheatsheets para desarrolladores "full stack"

Los desarrolladores "full stack" son los que se encargan o al menos tienen una amplia visión de todas las capas que componen un proyecto: servidor y entorno de red, modelado de datos, lógica de negocio, APIs, interfaces de usuario, etc.

Digamos que son unos "todo-terreno" que saben juntar la piezas y entienden el funcionamiento del "puzzle", capaces inclusos de montar un servicio o aplicación completo (sobretodo en PYMES y en ciertos entornos). Para ellos y para el resto seguro que vendrá de perlas todas esta colección de cheatsheets que encontré en ídíot ínsíde:

C#
C
C++

CSS
Action script
PHP
Python
Ruby
Javascript
Java
jQuery
MySQL
Perl
HTML/XHTML
WordPress

2014/10/01

Windows 10 Technical Preview: descarga, instalación y primer vistazo

Windows 10 Technical Preview: descarga, instalación y primer vistazo
Como estaba previsto, Microsoft ha publicado Windows 10 Technical Preview, versión previa de desarrollo (fase alfa) del que será su próximo sistema operativo cliente Windows 10.
Esta versión de prueba se distribuye dentro de “Insider Program”, un programa colaborativo puesto en marcha por Microsoft con el objetivo de que usuarios expertos o profesionales prueben el software, reporten y ayuden a mejorar los productos y servicios de la compañía. Por ello, Windows 10 Technical Preview tiene alguna peculiaridades como que Windows Update está configurado para instalar automáticamente las actualizaciones importantes a medida que van apareciendo y no pueden desactivarse.
Microsoft advierte que la versión puede sufrir grandes modificaciones antes de que se publique la versión comercial y Microsoft no otorga ninguna garantía, expresa o implícita de la versión. Con ello en mente, hemos descargado, instalado y probado la versión. Si te interesa, ahí va nuestro primer vistazo a Windows 10.

Descarga Windows 10 Technical Preview

El proceso es más sencillo que lo indicado en un principio y pasa por acceder a esta página web preparada por Microsoft para formar parte del programa.
Si no estás registrado la página pedirá que te autentifiques con una cuenta de correo de Microsoft válida (Outlook, hotmail. msn…). Una vez realizado tendrás que aceptar los términos de uso y eso es todo lo que necesitas para formar parte del programa Insider:
Windows 10 Technical Preview: descarga, instalación y primer vistazo
A partir de ahí ya tienes accesible la página de descarga con archivos en formato .ISO de las versiones de 32 y 64 bits y (de momento) en idiomas inglés, chino y portugués.
Microsoft vuelve a advertir sobre la fase preliminar del software y ofrece un pequeño FAQ con información de la versión antes de instalarla. En ella se comenta que Microsoft probablemente examinará los archivos del sistema y por ello si te preocupa la privacidad de tus archivos del sistema, quizás debas considerar si te conviene usar esta versión y revisar la declaración de privacidad.
Windows 10 Technical Preview: descarga, instalación y primer vistazo
Lo tenemos claro. Nos decantamos por la versión en inglés de 64 bits con peso de 4,1 Gbytes (WindowsTechnicalPreview-x64-EN-US.iso) y que como -casi- todo lo que descargues de los servidores de Microsoft lo tendrás a la máxima velocidad de tu conexión. Junto a los vínculos de descarga encontrarás también la clave del producto. Anótala aunque no la hemos necesitado en la instalación. No sabemos si será personalizada o global para utilización en escenarios de recuperación o similar.

Instalación Windows 10 Technical Preview

Como cualquier versión preliminar de software debes evitar su instalación en equipos informáticos de producción. O emplear la virtualización como hecho nosotros.
Si te decantas por la instalación en local lo ideal sería reservar una partición exclusiva para esta versión que no interfiera con el resto. Si instalas en equipos con otros sistemas instalados ten en cuenta lo siguiente por si después quieres volver al sistema anterior:
  • Para Windows 7 o Windows Vista: antes de la actualización, puedes crear un medio de recuperación desde una partición de recuperación de tu equipo con el software proporcionado por el fabricante del equipo. Para obtener más información, consulta la sección de soporte técnico del sitio web del fabricante del equipo.
  • Para Windows 8.1 o Windows 8: puedes crear una unidad USB de recuperación. Para obtener más información, consulta Crear una unidad USB de recuperación.
En todo caso para la instalación necesitarás transferir el archivo ISO a un medio de instalación, como un DVD o una unidad flash USB, con tu aplicación preferida o siguiendo alguna de las guías que te hemos ofrecido para crear unidades arrancables para Windows, Mac, Linux o DOS.
Como nosotros no vamos a ser unos verdaderos “Insiders” (por falta de tiempo) y sólo pretendemos mostrarte el proceso y el sistema operativo, hemos utilizado la virtualización mediante VMware Workstation. Si no tienes este tipo de herramienta comercial puedes utilizar otras gratuitas como el Oracle VirtualBox, o si estás en Windows, nada mejor que el Windows Virtual PC, software de virtualización desarrollado por Connectix y comprado por Microsoft. Virtualización, ideal para este tipo de pruebas.
Windows 10 Technical Preview: descarga, instalación y primer vistazo
Con VMware Workstation 10 sobre Windows 7 no hemos tenido complicación alguna. Hemos creado una máquina virtual con 60 GB de espacio, 2 GB de RAM y un procesador con cuatro núcleos de procesamiento. La instalación es muy similar a la de Windows 8 y desde el disco duro, se realiza en apenas minutos. Vamos con ello seleccionado idioma y teclado:
Windows 10 Technical Preview: descarga, instalación y primer vistazo
Aceptamos la licencia de uso como en cualquier Windows:
Windows 10 Technical Preview: descarga, instalación y primer vistazo
Dos posibilidades de instalación, actualización de sistema existente o instalación nueva. Elige la segunda:
Windows 10 Technical Preview: descarga, instalación y primer vistazo
Configuración general de la instalación personalizable idéntica a la de Windows 8:
Windows 10 Technical Preview: descarga, instalación y primer vistazo
En muy pocos minutos lo tendremos terminado.

Aquí está Windows 10 Technical Preview

Windows 10 Technical Preview: descarga, instalación y primer vistazo
La primera “en la frente”. Como se anunció, Microsoft deja claro que manda el escritorio clásico y por defecto, el sistema arranca en el escritorio, nada de la página de inicio de Modern UI, aunque se puede configurar. En la barra de tareas aparece el nuevo botón de búsqueda, el destinado a escritorios virtuales, navegador Internet Explorer, explorador de archivos o la tienda de aplicaciones.
Como se esperaba, la Charm Bar ha sido eliminada, al menos en el equipo donde lo hemos probado, un PC de sobremesa sin pantalla táctil. En cuanto a las aplicaciones Modern UI corren en modo ventana y pueden anclarse a la barra de tareas. La versión de evaluación es la 9841.
Windows 10 Technical Preview: descarga, instalación y primer vistazo
Ahí tienes el menú de inicio, el retorno del gran esperado tras centralizar las críticas de la interfaz Metro de Windows 8. Muy parecido al que presentó Microsoft en la pasada BUILD, es una mezcla del instalado en Windows 7 con elementos de Windows 8 como los tiles interactivos personalizables. Cuenta con el botón de apagado y reinicio, acceso a la carpeta de documentos o imágenes, así como el acceso a las aplicaciones de escritorio.
Windows 10 Technical Preview: descarga, instalación y primer vistazo
Si con el clic izquierdo sobre el botón de inicio accedemos al menú de inicio, con el botón derecho accedemos al menú de usuario de Windows 8.1. Tan potente como el actual para Windows 8.1, muchos de nosotros seguiremos utilizándolo:
Windows 10 Technical Preview: descarga, instalación y primer vistazo
El explorador de archivos, el mismo que el de Windows 8.
Windows 10 Technical Preview: descarga, instalación y primer vistazo
Panel de control:
Windows 10 Technical Preview: descarga, instalación y primer vistazo
Una de las novedades, los escritorios virtuales. Su activación se realiza desde la misma barra de tareas. Cuentan con atajos de teclado para saltar de forma rápida entre los escritorios activos y facilitan la organización y productividad sin tener que utilizar sistemas de múltiples monitores:
Windows 10 Technical Preview: descarga, instalación y primer vistazo
La página de configuración en Modern UI, idéntica a la de Windows 8/8.1:
Windows 10 Technical Preview: descarga, instalación y primer vistazo
El navegador web Internet Explorer, todavía versión 11x.
Windows 10 Technical Preview: descarga, instalación y primer vistazo
Y sí, sí, funciona el Copiar y Pegar en el símbolo del sistema. La consola de Windows también existe.
Windows 10 Technical Preview: descarga, instalación y primer vistazo
Terminamos este primer vistazo. Esperamos que te haya sido últil. Ya tendremos tiempo para realizar análisis más profundos del funcionamiento del sistema operativo, incluyendo la versión Enterprise que también ha publicado Microsoft. Ambas terminarán su ciclo de vida el 15 de abril de 2015. Antes de ello, Microsoft ya habrá publicado la versión beta y si el calendario previsto no sufre retrasos, tendremos una RTM la próxima primavera con una versión final de Windows 10 a mediados de 2015.
ACTUALIZACIÓN:
Microsoft ha abierto su portal web de la previa de Windows 10 en español lo que facilita las cosas para usuarios latinos. Ofrece lo mismo que la página en inglés que hemos utilizado nosotros:
- Primeros pasos.
- Ficha Técnica.
- Procedimientos.

Fuente: http://www.muycomputer.com/