Interesante informe de IDC sobre SQL Server 2012

by Maxi Accotto 23. febrero 2012 01:57

 

Les dejo este interesante documentode la gente de IDC sobre la nueva versión de SQL Server (SQL 2012)

Tags: ,

Noticias | SQL 2012

Paginación de datos en SQL Server 2012

by Maxi Accotto 17. febrero 2012 07:27

 

La paginación de datos desde el propio motor es una técnica que se utiliza en algunos procesos para poder llevar a la aplicación una cantidad reducida de registros y de ser necesarios mas saltar a una pagina posterior.

Para poder lograr esto han existido durante muchos años distintas técnicas de programación a nivel TSQL.

Ahora en SQL 2012 se ha incorporado la paginación de forma nativa la cual es parte del ANSI SQL 2000.

Para ello se utiliza dentro del Order By el seteo de OFFSET, FETCH { FIRST | NEXT } { integer_constant | fetch_row_count_expression } { ROW | ROWS } ONLY.

El siguiente link tiene información detallada de como se utiliza.

El siguiente código traerá los primeros 10 registros de un set de datos.

SELECT DepartmentID, Name, GroupName FROM HumanResources.Department ORDER BY DepartmentID OFFSET 0 ROWS FETCH NEXT 10 ROWS ONLY;

Bien ahora veremos un ejemplo de como se aplica la paginación antes de SQL 2012 y con esta nueva versión.

Para usar paginación antes de SQL 2012 una de las técnicas mas utilizadas es el uso de las CTE y Row_Number()

DECLARE @pagesize AS INT, @pagenum AS INT; SET @pagesize = 5; SET @pagenum = 1; WITH SalesRN AS ( SELECT ROW_NUMBER() OVER(ORDER BY Name) AS rownum, ProductNumber, ProductID,Name FROM[Production].[Product] ) SELECT rownum, ProductNumber, ProductID,Name FROM SalesRN WHERE rownum > @pagesize * (@pagenum-1) AND rownum <= @pagesize * @pagenum ORDER BY rownum; go

Ahora bien, si queremos hacer la misma query con SQL 2012, podríamos escribir lo siguiente

DECLARE @PageSize TINYINT = 5, @CurrentPage INT = 1; SELECT ProductNumber, ProductID,Name FROM[Production].[Product] ORDER BY Name OFFSET (@PageSize * (@CurrentPage - 1)) ROWS FETCH NEXT @PageSize ROWS ONLY;

Como se puede observar es mucho mas simple y natural ya que respeta a un estándar como el ANSI y la otra solución es un simple truco para lograr esto.

Veamos que sucede con los Query Plan de cada uno

image

image

Como se podrá observar en ambos casos es necesario hacer un Scan del Clustered pero al hacerlo con las nuevas instrucciones tenemos menos procesos y esto podría tener efectos del tamaño de una tabla.

Aquí comparamos ambos query plan de forma conjunta.

image

Ahora haremos una query que contemple paginación y el uso de Where, el primer ejemplo es antes de SQL 2012 y el segundo usando SQL 2012.

DECLARE @pagesize AS INT, @pagenum AS INT; SET @pagesize = 5; SET @pagenum = 1; WITH SalesRN AS ( SELECT ROW_NUMBER() OVER(ORDER BY Name) AS rownum, ProductNumber, ProductID,Name FROM[Production].[Product] WHERE Color = 'Red' ) SELECT rownum, ProductNumber, ProductID,Name FROM SalesRN WHERE rownum > @pagesize * (@pagenum-1) AND rownum <= @pagesize * @pagenum ORDER BY rownum;

image

DECLARE @PageSize TINYINT = 5, @CurrentPage INT = 1; SELECT ProductNumber, ProductID,Name FROM [Production].[Product] where Color = 'Red' ORDER BY Name OFFSET (@PageSize * (@CurrentPage - 1)) ROWS FETCH NEXT @PageSize ROWS ONLY;

image



Tags: , ,

SQL 2012 | TSQL

16 virtual labs para probar sql 2012

by Maxi Accotto 11. enero 2012 16:00

 

Les dejo este excelente link de Microsoft donde encontraran laboratorios virtuales para que puedan ir probando SQL Server 2012

Tags:

Denali | Material | How To

Script de PowerShell para scriptiar los Jobs de un servidor

by Maxi Accotto 7. enero 2012 02:50

 

En muchas oportunidades necesitamos hacer un Script de los jobs de producción para llevarlos a otro sitio. Por ejemplo a contingencia.

Para ello podríamos utilizar el siguiente script de Powershell y agregarlo a un step de un job de SQL 2005 / 2008 / R2.

El mismo toma los Jobs que tienen como categoría la palabra producción y genera el script (.sql) de dichos jobs

 

 

[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO')| out-null

$RutaScripts = "\\servername\"
# Create an SMO connection to the instance
$s = new-object ('Microsoft.SqlServer.Management.Smo.Server') "SERVIDORSQL" 

$jobs = $s.JobServer.Jobs


$scrp = new-object ('Microsoft.SqlServer.Management.Smo.Scripter') ($s)

$scrp.Options.FileName = $f
$scrp.Options.AppendToFile = $true


foreach ($job in $s.jobserver.jobs) 
{
$a = $job.category




if ($a.toupper() -eq "PRODUCCION")
           
    {
    
     $filename = $job.name + ".sql"
     
     write-host $filename
     
     $f = [System.IO.Path]::Combine($RutaScripts, $filename)
     out-file -filePath $f -inputobject "USE MASTER `nGO`n"


     out-file -filePath $f -inputobject "DECLARE @jobId binary(16) `n SELECT @jobId = job_id FROM msdb.dbo.sysjobs WHERE (name = N'$job') `n  
     IF (@jobId IS NOT NULL) `n  EXEC msdb.dbo.sp_delete_job @jobid `n  go `n " -append

  
     $scrp.Script($job) >> $f

     out-file -filePath $f -inputobject "`n" -append
  
     out-file -filePath $f -inputobject "`n EXEC msdb.dbo.sp_update_job @job_name=N'$job',@enabled=0 `n GO `n" -append


    }

else
 {

 }
}

 

ScriptJobByPowerShell scriptjobByPowerShell

Tags:

SQL 2008 | SQL 2008 R2 | Administracion | How To

SQL Server 2012 RC0–Links de descarga

by Maxi Accotto 24. noviembre 2011 15:45

 

Con la liberación del RC0 de SQL Server 2012 (Denali) aquí les pongo una serie de links para las distintas descargas.

Microsoft SQL Server 2012 Release Candidate 0 (RC0)

Aquí podrán encontrar todo el SQL Server donde se incluyen los servicios de: Engine, SSIS, SSAS, SSRS, Powerview, etc.

Microsoft SQL Server 2012 PowerPivot for Excel 2010 Release Candidate 0 (RC0)

Aquí podrán descargar la nueva versión de Powerpivot

Microsoft SQL Server 2012 Express edition RC0

Desde aquí se podrá acceder a la edición gratuita de SQL Server (Express Edición) versión 2012

Microsoft SQL Server 2012 Release Candidate 0 (RC0) Manageability Tool Kit

Este es el kit de herramientas independientes que dan valor adicional a SQL Server 2012

Microsoft SQL Server 2012 Semantic Language Statistics RC0

La base de datos de estadísticas semánticas de lenguaje es un componente obligatorio para la característica Búsqueda semántica estadística en Estadísticas semánticas de lenguaje de Microsoft® SQL Server® 2012 RC0.

Microsoft SQL Server 2012 Data Tool

Las Data Tool son las que nos permitirán hacer desarrollos contra SQL Server de forma mucho mas profesional. Estas herramientas son la evolución de Visual Studio for Database  en versiones anteriores a RC0 se la conocía como  Juneau

Tags:

Denali

Ediciones y licenciamiento de SQL Server 2012 (Denali)

by Maxi Accotto 5. noviembre 2011 19:17

 

Ya se ha dado a conocer como serán las ediciones y los cambios en licenciamiento de la nueva versión de SQL Server.

Aquí les dejo estos dos links.

Ediciones de SQL Server 2012 (Denali)

Licenciamiento de SQL Server 2012 (Denali)

Tags: , ,

Denali

Creando roles a nivel servidor con SQL server 2012 (Denali)

by Maxi Accotto 30. octubre 2011 10:29

Una de las grandes novedades a nivel seguridad en SQL Server 2012 (Denali) es la posibilidad de crear nuestros propios Roles a nivel Servidor.

En versiones anteriores a 2012 solo se podían crear roles a nivel base de datos pero no a nivel instancia.

En este post veremos cómo se realiza esta operación sencilla dentro de SQL Server 2012.

Para esta nueva funcionalidad , SQL 2012 dispone de nuevos comandos TSQL.

  • CREATE SERVER ROLE
  • ALTER SERVER ROLE
  • DROP SERVER ROLE

Ahora veamos un ejemplo.

Creamos un nuevo Server Role

CREATE

SERVER ROLE DBARole

Creamos un login

CREATE

LOGIN [dba1] WITH PASSWORD = 'Yukon900'

Asignamos permisos al Role creado para control del servidor

GRANT

CONTROL SERVER TO DBARole

Le sacamos permisos para el manejo de Logins al Role

DENY

ALTER ANY LOGIN TO DBARole

Agregamos el usuario DBA1 al role DBAROLE

ALTER

SERVER ROLE DBARole ADD MEMBER dba1

Probamos los permisos

EXECUTE

AS LOGIN = 'DBA1'

ALTER

LOGIN SA DISABLE

Msg 15151, Level 16, State 1, Line 1

Cannot alter the login 'SA', because it does not exist or you do not have permission.

CREATE database test1

Command(s) completed successfully.

Desde el Management Studio.

También se puede hacer esta operación desde el SSMS (SQL Server Management Studio 2012)

  1. Iniciar el SSMS
  2. Ir a la solapa Security
  3. Buscar Server Roles
  4. Hacer Click alterno del mouse y seleccionar “New Server Role”

a

Tags:

Denali

Material de la charla sobre novedades en seguridad de SQL 2012

by Maxi Accotto 22. octubre 2011 18:22

 

El día 19 de octubre he tenido el placer de presentar en SQL Passuna charla en vivo sobre las novedades que trae SQL 2012 en relación a la seguridad.

Aquí les dejo el link de la presentación como así también los ejemplos utilizados

Tags: ,

Denali

KIT de entranamiento SQL Denali para developers

by Maxi Accotto 16. octubre 2011 08:18

 

Se acaba de liberar el kit de entrenamiento para desarrolladores de SQL 2012 (Denali).

En el mismo podrán encontrar varias PPT, script y documentos con los cuales podrán hacer un entrenamiento de SQL 2012.

Aquí les dejo el link de descarga

Recuerden que el SQL 2012 (Denali) esta aun en versión beta (CTP3)

Tags:

Denali

Jornada de capacitación en el MUG: Performance Tunning y Monitoreo de SQL Server

by Maxi Accotto 14. octubre 2011 00:35

 

El día 18/10 de 2011 estaré dando una jornada de 8hs en el Club de usuarios Microsoft Argentina sobre temas de monitoreo y tunning en SQL Server 2008 / 2008 R2.

La misma se realizara en Buenos Aires.

En el siguiente link hay mas información

Tags:

Comunidad | Tunning

Libro gratuito de SQL Denali (Ingles Draf)

by Maxi Accotto 13. octubre 2011 20:13

image

Para los que les interese tener una introducción a SQL Denali (SQL 2012) Ms press esta armando un ebook gratuito.

El mismo cuenta con los siguientes capítulos

Chapter 1. Denali Editions and Enhancements

Chapter 2. High Availability and Disaster Recovery Enhancements

Chapter 3. Scalability and Performance

Chapter 4. Security Enhancements

Chapter 5. Beyond Relational

Chapter 6. Integration Services

Chapter 7. Data Quality Services

Chapter 8. Master Data Services

Chapter 9. Analysis Services

Chapter 10. PowerPivot

Chapter 11. Reporting Services

Tags: , ,

Denali

Se libero el SP3 de SQL 2008

by Maxi Accotto 7. octubre 2011 04:08

Tags: ,

SQL 2008

Reconocimiento como MVP en SQL server por séptimo año

by Maxi Accotto 1. octubre 2011 19:17

 

Hoy recibí en mi bandeja de entrada el correo de Microsoft donde me premian como MVP en SQL server por 7 año consecutivo.

La verdad que es un gran honor y placer recibir este premio desde el año 2005.

Gracias a Fernando García Loera mi MVP Lead por todo lo que hace, además es una excelente persona Sonrisa

Para los que no conocen lo que es el programa MVP aquí les dejo un link.

Aquí también les dejo mi perfil publico en la pagina de Microsoft

 

MVP_FullColor_ForScreen

Tags:

Comunidad

24hs de charlas online y gratis de SQL Server 11 (Denali)

by Maxi Accotto 29. septiembre 2011 19:22

 

Los días 4 y 5 de octubre se va a realizar el gran evento de la comunidad PASS en vivo, el mismo cuenta con muchas charlas en modalidad Webcast de forma gratuita y en Español y Portugués.

Las mismas serán dadas por los profesionales mas reconocidos de habla hispana donde se asegura un excelente nivel de las charlas.

Es imperdible y gratis, aquí les comparto el link

Tags: , ,

Denali | Comunidad

Como detectar problemas de performance con el Management Studio

by Maxi Accotto 28. septiembre 2011 17:01

 

El día 27/9/2011 di un webcast donde muestro como se puede utilizar el SSMS para determinar problemas de performance.

En el mismo se muestra el uso de los reportes del SSMS como así también del Active Monitor.

Aquí les comparto el link

Webcast TechNet: Detectando problemas de performance usando el Management Studio

Tags:

SQL 2008 | SQL 2008 R2 | SQL 2005 | Videos | Comunidad | Administracion

Queres probar SQL Denali con todas las funciones de BI?

by Maxi Accotto 14. septiembre 2011 18:56

 

Microsoft libero una maquina virtual en VHD donde tenemos toda una instalación de SQL Server Denali CTP3.

En la maquina virtual tendrán SQL Denali CTP3, Sharepoint 2010 y Office 2010 y todo configurado.

Con lo cual podrán probar Denali Ctp3 con sus funciones de Engine y BI.

Aquí les dejo el link

Tags: ,

Denali

Maximiliano Damian Accotto