Archive for agosto 2014

AdventureWorks2012 en SQL Server 2014

agosto 23, 2014

Descarga_SQL_Server_2014_1

En la actualidad muchos desarrolladores y administradores de Bases de datos están migrando a SQL Server 2014 para nivelar y actualizar sus servicios entre otras cosas, también muchos entusiastas y estudiantes de bases de datos están instalando esta nueva versión para poder ir al día con los cambios que se han realizado en la misma.

Sin embargo quienes por razones de estudio o por prácticas utilizan la base de datos de ejemplo AdventureWorks2012 se han preguntado como poder instalarla para trabajar con ella en SQL Server 2014.

Para ello vamos a ver los pasos elementales de obtención de dicha base de datos y sus procesos de instalación por medio del asistente de SQL Server Management Studio SSMS y por T-SQL.

PASOS ELEMENTALES

El primer paso que debemos realizar es ingresar a la página http://msftdbprodsamples.codeplex.com/ En esta página daremos clic en Download AdventureWorks Databases – 2008, 2008R2 and 2012

1

Esto nos llevará a otra página en la cual nos mostrarán una variedad de archivos para su descarga, es aquí donde elegiremos la primera opción que nos muestran que está señalada como descarga recomendada (RECOMMENDED DOWNLOAD) que tiene por nombre AdventureWorks2012_Database.zip

2

Este archivo lo descargaremos a nuestro equipo en una carpeta que sea de nuestra elección, para este paso a paso he creado una carpeta que lleva por nombre AdventureWorksDB en la unidad E de mi equipo, pudiendo llevar cualquier nombre deseado por ustedes…

3

Luego de descargar el archivo AdventureWorks2012_Database.zip procederemos a descomprimirlo dentro de la misma carpeta…

4

Una vez descomprimido el archivo, abriremos la carpeta que se ha creado al descomprimirlo (AdventureWorks2012_Database) y encontraremos dos archivos AdventureWorks2012_Data.mdf y AdventureWorks2012_log.ldf.

5

6

Seleccionaremos y copiaremos el archivo AdventureWorks2012_Data.mdf y lo pegaremos en el directorio C:\Program Files\Microsoft SQL Server\MSSQL12.XXXX\MSSQL\DATA

Es decir, haremos doble clic en la siguiente secuencia

  • Unidad C
  • Archivos de programa
  • Microsoft SQL server
  • MSSQL12.XXXX
  • MSSQL
  • DATA

NOTA: MSSQL12.XXXX es el nombre de la instancia con el que han instalado su servidor SQL Server, si por ejemplo han instalado el nombre de instancia por defecto de SQL Server Express entonces la carpeta será MSSQL12.MSSQLEXPRESS.

En la última carpeta DATA es donde pegaremos el archivo AdventureWorks2012_Data.mdf.

INSTALANDO ADVENTUREWORKS2012 POR SSMS

Luego, para iniciar la instalación ingresamos a nuestro SSMS y seleccionamos bases de datos con el botón derecho y luego hacemos clic en adjuntar.

7

Aparecerá en pantalla el asistente para adjuntar bases de datos y daremos clic en el botón Agregar

8

Aparecerá en pantalla una ventana con todas las bases de datos que se encuentran dentro de la carpeta DATA en la cual hemos pegado nuestra base de datos AdventureWorks2012, la seleccionamos y damos clic en el botón Aceptar.

9

Esto nos devolverá a la ventana anterior del asistente y nos mostrará en la parte inferior “Detalles de la base de datos” dos tipos de archivos el primero Datos y el segundo Registro, este último con el mensaje “No se encontró”

Seleccionamos el que dice Registro y damos clic en el botón Quitar

11

Luego de quitar el archivo de registro procederemos a hacer clic en el botón Aceptar, esto iniciará el proceso de instalación de la base de datos AdventureWorks2012 dentro de nuestro SQL Server para que podamos comenzar a trabajar con ella.

13

En caso que no veamos la base de datos al finalizar el asistente de adjuntar la misma, haremos clic con el botón derecho sobre la carpeta Bases de datos y en el menú que aparecerá daremos clic en la opción Actualizar para poder ver nuestra nueva base de datos dentro de la carpeta y ya podremos comenzar a trabajar con AdventureWorks2012 en SQL Server 2014.

Instalando por T-SQL

El otro medio de instalar nuestra base de datos AdventureWorks2012 es por medio de sentencias, siguiendo los mismos pasos anteriormente descritos cuando estemos en SSMS en vez de usar el asistente abriremos una nueva consulta (Ctrl+N) y escribiremos lo siguiente:


USE [master]
GO
CREATE DATABASE [AdventureWorks2012] ON
( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL12.POSEIDON\MSSQL\DATA\AdventureWorks2012_Data.mdf' )
FOR ATTACH
GO

Luego de escribir la sentencia la ejecutaremos presionando la tecla F5 o haciendo clic en !Ejecutar

NOTA: Importante recordar que MSSQL12.POSEIDON es la carpeta con nombre de instancia utilizada para este ejemplo, la instancia de ustedes será el nombre colocado al instalar SQL Server 2014.

14

Esto creará nuestra base de datos adjuntándola a nuestro servidor en la carpeta bases de datos haciendo las conversiones necesarias de la versión 706 a la 782 para su correcto funcionamiento dentro de SQL Server 2014.

Como siempre ante cualquier duda o pregunta no dejen de contactarme que con gusto les responderé.

Saludos!

Roberto Pozo

Logical Query Processing

agosto 17, 2014

SQL Server 2012

Cuando escribimos una consulta en SQL Server pensamos que la misma es ejecutada siguiendo línea por línea la manera en la que la hemos escrito, sin embargo esto no es así.

El orden en que una consulta es escrita no es el orden en como es evaluada por el motor de bases de datos.

SQL Server es un lenguaje del tipo Declarative «english-like» es decir; en este lenguaje, Declarativo significa que se debe definir lo «que» se quiere y no el «como».

El Standard SQL describe la interpretación lógica de la petición declarativa es decir la parte del «qué», sin embargo es responsabilidad del motor de base de datos encontrar la manera de procesar físicamente la parte del «cómo» de la solicitud.

Basados en esto observemos la siguiente consulta:

SELECT Apellidos
FROM Personas.Contactos
WHERE Apellidos = 'Pozo';

Revisando la consulta anterior diríamos que se ejecutaría de la siguiente manera:

Primero: SELECIONA todos los Apellidos
Segundo: DE la tabla Personas.Contacto
Tercero: DONDE los Apellidos sean iguales a Pozo;

Sin embargo como hemos dicho, el proceso tiene un orden diferente, primero el motor utiliza la cláusula FROM para verificar la tabla, luego la cláusula WHERE para verificar las columnas y finalmente utiliza la cláusula SELECT para recuperar los datos, es decir, la ejecuta de la siguiente manera:

FROM Personas.Contactos
WHERE Apellidos = 'Pozo'
SELECT Apellidos;

Esto en otras palabras sería: De la tabla Personas.Contactos, donde los apellidos sean Pozo, selecciónalos o muéstralos todos.

Ahora con esto nos surge la siguiente pregunta: ¿Qué sucede con las demás cláusulas que conforman las sentencias, cuál es el orden de ejecución?

Para responder a esta pregunta observemos la siguiente imagen: En ella podemos observar en el lado izquierdo el orden de como se escriben las consultas y en el lado derecho el como se ejecutan.

Logical Query Processing

Como siempre ante cualquier duda o pregunta no dejen de contactarme que con gusto les responderé.

Saludos!

Roberto Pozo