Mostrando entradas con la etiqueta Nuevas funciones T-SQL en SQL Server 2012 Denali. Mostrar todas las entradas
Mostrando entradas con la etiqueta Nuevas funciones T-SQL en SQL Server 2012 Denali. Mostrar todas las entradas

lunes, 30 de enero de 2012

¿Qué es LocalDB?

Aplica a: SQL Server 2012, SQL Server Denali.

¿Qué es LocalDB?

Es una nueva versión de SQL Server Express especialmente dirigida a los desarrolladores para evitarles una instalación completa de otras ediciones de SQL Server. De esta forma los desarrolladores se pueden enfocar en el desarrollo de aplicaciones sin hacer una gran inversión de tiempo instalando y configurando un servidor de base de datos.


Beneficios.

bullet Tiene un instalador de tamaño reducido. La versión 32-bit tiene 28.2 MB y la de 64-bit tiene 33.7 .
bullet Simplificado. No requiere configuración o administración.
bullet Ejecuta como un usuario con pocos privilegios a nivel de sistema operativo.
bullet Se instala de una forma sencilla.
bullet Ofrece el mismo lenguaje T-SQL que tiene SQL Server Express. Soporta procedimientos almacenados (stored procedures), triggers, vistas (views), y los tipos de datos geometry y geography.
bullet LocalDB usa el mismo sqlservr.exe que usan otras ediciones de SQL Server y los mismos proveedores (providers) a nivel de cliente.
bullet LocalDB no crea ningún servicio de base de datos, y el servicio se inicia y se detiene automática.
bullet Las conexiones de LocalDB soportan la propiedad AttachDbFileName, que permite a los desarrolladores especificar la localización de una base de datos.
bullet Los "service packs" de LocalDB pueden ser usados para actualizar una instalación de LocalDB o para realizar una nueva instalación de LocalDB.
bullet Una sola instalación de LocalDB para todos los usuarios que usan un computador.
bullet Permite instalación silenciosa vía línea de comando.
bullet Le resulta familiar a desarrolladores que hace uso de SQL Server Compact.
bullet Funciona con ASP .NET
bullet Soporta XML (XQuery, XPath) y BLOBs.
bullet Soporta ADO .NET Sync Framework
bullet Soporta LINQ.
bullet Soporta transacciones distribuidas.
bullet Permite ilimitadas conexiones locales.


Requerimientos.

bullet Requiere SQL Server 2012 Native Client, el cual no está incluido en el instalador de LocalDB.
bullet Requiere derechos administrativos para instalarse, debido a que se instala para todos los usuarios de un computador.
bullet Requiere 140 MBs de espacio de disco.
bullet Requiere que .NET Framework 4 sea llevado a la versión 4.0.2.


Limitaciones.

bullet No soporta Windows XP, Windows Server 2003, Window 2000.
bullet No soporta WOW. LocalDB no soporta una instalación de 32 bits en un Windows de 64 bits.
bullet Sólo permite conexiones locales. Sólo permite conexiones Named Pipes.
bullet Sólo SQL Server 2012 Mangement Studio (en un computador actualizado con .NET Framework 4.0.2) puede usarse para administrar LocalDB. Versiones anteriores de SQL Server Management Studio no pueden ser usadas.
bullet Visual Studio 2010 RTM no soporta LocalDB. Permite conectarse a LocalDB, pero en los diseños que involucran a base de datos se presentan errores. Se espera una actualización de Visual Studio que elimine esta limitación.
bullet No funciona en equipos móviles, a diferencia de SQL Compact.
bullet Tamaño límite de una base de datos: 10 GB.
bullet No soporta  FileStream. FileStream no es soportado en instancias de usuario.
bullet Limitado a hacer uso de un CPU.


¿Cómo instalarlo?

Primero, obténgalo aquí.

Como notará debajo, LocalDB sólo requiere aceptar el acuerdo de licenciamiento para instalarse.

Para una instalación silenciosa haga uso del siguiente comando:
msiexec /i SqlLocalDB.msi /qn IACCEPTSQLLOCALDBLICENSETERMS=YES

Usando la interfaz gráfica, se instala como sigue:
























Cómo conectarse a LocalDB usando SQL Server Management Studio (SSMS).


Usted se puede conectar a LocalDB usando SQL Server 2012 Management Studio si el .NET Framework 4 ha sido actualizado a 4.0.2 o posterior.

Use "(localdb)\v11.0" como nombre de servidor.





Versiones anteriores de SQL Server Management Studio no pueden conectarse a LocalDB, debido a que no usan .NET Framework 4.0.



Cómo crear una nueva base de datos usando SQL Server 2012 Management Studio.

Se crea una base de datos de la misma forma en que se crea en otras versiones de SQL Server: haga un clic derecho en "Databases" y selecciones "New database". Sin embargo, no deje de proveer una ruta (path) para alojar la base de datos en disco, o recibirá un error.






jueves, 1 de diciembre de 2011

14 Nuevas Funciones T-SQL en SQL Server 2012

Aplica a: SQL Server 2012.

SQL Server 2012 trae 14 nuevas funciones T-SQL y mejora otra existente..


Funciones de conversión.


Función TRY_CONVERT. Retorna un valor convertido a un tipo de datos especificado, si la conversión es exitosa. En caso contrario retorna null.









Función TRY_PARSE. Retorna el resultado de una expresión, convertida al tipo de datos solicitado, o nulo si la conversión falla.

Ejemplo:

SELECT CASE WHEN TRY_PARSE('Morillo' AS decimal) IS NULL
THEN 'True'
ELSE 'False'
END
AS Result

Resultado:

True

(1 row(s) affected)

Ejemplo:

SELECT TRY_PARSE('1234.5' AS decimal(5,1)) AS Result

Resultado:

Result
---------------------------------------
1234.5

(1 row(s) affected)


Función PARSE. Retorna el resultado de una expresión, convertida al tipo de datos solicitado. Sintaxis: PARSE (string_value AS data_type [USING culture])

Ejemplo:

SELECT PARSE('Monday, 13 december 2010' AS datetime2) AS Resultado

Resultado:

Resultado
----------------------
2010-12-13 00:00:00.00

(1 row(s) affected)


Funciones de Fecha y Tiempo.


Función EOMONTH. Esta función retorna el último día del mes correspondiente a la fecha pasada como parámetro.

Ejemplo:

SELECT EOMONTH('2/2/2011')

Resultado:

----------------------
2011-02-28 00:00:00.00

(1 row(s) affected)



Función TIMEFROMPARTS. Retorna un valor de tipo "time" para el tiempo pasado como parámetro, y con la precisión especificada. Sintaxis: TIMEFROMPARTS(hora, minutos, segundos, fracciones, precisión)

Ejemplo:

DECLARE @time time
SET @time = TIMEFROMPARTS(23, 59, 59, 0, 0)
SELECT @time

Resultado:


----------------
23:59:59.0000000

(1 row(s) affected)


Función SMALLDATETIMEFROMPARTS. Retorna un valor de tipo "smalldatetime" para la fecha y hora especificada. Sintaxis: SMALLDATETIMEFROMPARTS (año, mes, día, hora, minutos)

Ejemplo:

SELECT SMALLDATETIMEFROMPARTS(2011, 10, 24, 16, 35)

Resultado:


-----------------------
2011-10-24 16:35:00

(1 row(s) affected)



Función DATEFROMPARTS. Retorna un valor de tipo "date" para el año, mes y día especificados. Sintaxis: DATEFROMPARTS (año, mes, día)


Ejemplo:

SELECT DATEFROMPARTS(2011, 10, 24)

Resultado:


----------
2011-10-24

(1 row(s) affected)



Función DATETIMEFROMPARTS. Retorna un valor de tipo "datetime" para la fecha y hora especificadas. Sintaxis: DATETIMEFROMPARTS (año, mes, día, hora, minutos, segundos, milisegundos)

Ejemplo:

SELECT DATETIMEFROMPARTS (2011, 10, 24, 16, 45, 43, 22)

Resultado:


-----------------------
2011-10-24 16:45:43.023

(1 row(s) affected)



Función DATETIME2FROMPARTS. Retorna un valor de tipo "datetime2" para la fecha y hora especificadas, y con la precisión especificada. Sintaxis: DATETIME2FROMPARTS (año, mes, día, hora, minutos, segundos, fracciones, precisión)

Ejemplo:

SELECT DATETIME2FROMPARTS(2011, 10, 24, 16, 45, 43, 22, 3) -- 3=Milisegundos
-- 7=Nanosegundos

Resultado:


----------------------
2011-10-24 16:45:43.02

(1 row(s) affected)


Función DATETIMEOFFSETFROMPARTS. Retorna un valor de tipo "datetimeoffset" para la fecha y hora especificadas, y con la precisión especificada. Sintaxis: DATETIMEOFFSETFROMPARTS (año, mes, día, minutos, segundos, fracciones, hora_offset, minutos_offset, precisión).

Ejemplo:

SELECT DATETIMEOFFSETFROMPARTS(2011, 10, 24, 16, 45, 43, 0, 12, 0, 3)

Resultado:


----------------------------------
2011-10-24 16:45:43.000 +12:00

(1 row(s) affected)



Funciones Lógicas.


Función CHOOSE. Retorna el elemento de una lista de valores que se encuentra en el índice especificado. Sintaxis: CHOOSE (índice, val1, val2[, val_n]).

Ejemplo:

SELECT CHOOSE( 1, 2.30, 2.90, 4.10) as 'Discount Price'

Resultado:

Discount Price
---------------------------------------
2.30

(1 row(s) affected)



Función IIF. Retorna uno de dos valores, dependiendo de si la expresión booleana se evalúa como verdadero o como falso. Sintaxis: IIF (expresión booleana, valor verdadero, valor falso).

Ejemplo:

DECLARE @value1 int=1
DECLARE @value2 int=5
SELECT IIF(@value1 > @value2, 'True', 'False').

Resultado:


-----
False

(1 row(s) affected)


Funciones Matemáticas.


Función LOG. Retorna el logaritmo natural de la expresión flotante especificada. Sintaxis:
LOG (expresión flotante[, base]).

Por omisión retorna el logaritmo natural, con base e, donde e=2.718281828

Ejemplo:

SELECT LOG(10)

Resultado:

----------------------
2.30258509299405

(1 row(s) affected)

Ejemplo:

SELECT LOG(10,10)

Resultado:

----------------------
1

(1 row(s) affected)



Funciones de cadenas de caracteres.


Función CONCAT. Retorna una cadena de caracteres que es resultado de concatenar dos o más valores.

Ejemplos:

SELECT 'Alberto' + ', ' + 'Morillo'
SELECT CONCAT('Alberto', ' ', 'Morillo', ' ', 'Rodriguez')

Resultados:

----------------
Alberto, Morillo

(1 row(s) affected)


-------------------------
Alberto Morillo Rodriguez

(1 row(s) affected)



Función FORMAT. Retorna un valor formateado con el formato especificado y cultura, si se especifica. Sintaxis: FORMAT (valor, formato[, cultura]).

DECLARE @d DATETIME = '10/24/2011';
--SELECT FORMAT (@d, 'd', 'es-es') AS Result; -- Spanish - Spain
--SELECT FORMAT (@d, 'd', 'es-DO') AS Result; -- Spanish - Dominican Republic
--SELECT FORMAT (@d, 'd', 'af') AS Result; -- Afrikaans
SELECT FORMAT (@d, 'd', 'hy') AS Result; -- Armenian

Dónde se encuentra la lista de "culturas"?

http://msdn.microsoft.com/es-es/library/system.globalization.cultureinfo(VS.80).aspx

SELECT FORMAT(47.127, '0.00') as Price
SELECT FORMAT(47.127, '$0.00', 'es-DO') as Price