RSS

LocalDB–SQL Server 2012 RC0

19 Feb

 

Nueva herramienta incluida en SQL SERVER el cual tiene varias ventajas para crear una base de datos como si fuera un archivo, sin necesidad de instalar todo el sql server en las maquinas ya sea deun desarollador o de una aplicacion

Que hace un LocalDB

Un LocalDB trabaja bajo sqlservr.exe al igual que cualquier version de SQL, asi mismo puede usar diferentes proveedores de datos (ADO.NET, ODBC, PDO y otros) para las conexiones y tambien es factible utilizar T-SQL

LocalDb puede tener multiples aplicaciones conectadas en la misma maquina y mismo sqlserver.exe

LocalDB no crea ningun servicio a la base de datos, LocalDB inicia y termina automaticamente cuando es necesario, las aplicaciones se conectan atravez “Data Source=(localdb)\v11.0” y LocalDB inicia un proceso para la aplicacion

La propiedad AttachDbFileName permite a los desarolladores conectarse a un archivo especifico, LocalDB adjunta la base de datos y realiza la conexion

Instancias en LocalDB

LocalDB, se encuentra ubicado y funciona utlizando los dlls que se encuentran en la siguiente ruta “C:\Program Files\Microsoft SQL Server\110\LocalDB\Binn”.

Cuando una aplicacion se utilizan los providers, para realizar las conexiones es de la siguiente manera “Data Source=(localdb)\v11.0” El proveedor lo primero que realiza es verificar si la instancia esta inicializada para establecer la conexion si detecta que estan conectada.Una de las cosas que hay que tener en cuenta, es que cada usuario de Windows Login tienen su propia instancia LocalDB.

Para realizar pruebas hay que usar el siguiente connection string :”Data Source=(localdb)\v11.0;Integrated Security=true”.

Base de Datos como un archivo

AttachDbFileName  es una propiedad de LocalDB para adjuntar los archivos de la base de datos durante el proceso de conexion, esto permite a los desarrolladores trabajar directamente con la base de datos en lugar de un servidor de base de datos. Suponiendo que existe la base de datos (*.mdf con su correspondiente *.ldf) esta en la siguiente ruta “C:\MyData\Database1.mdf” , el desarollador puede empezar a trabajar con dicha base de datos utilizando la siguiente cadena de conexion  “Data Source=(localdb)\v11.0;Integrated Security=true;AttachDbFileName=C:\MyData\Database1.mdf”

La ventaja de usar una LocalDB es que en un futuro se puede migrar a una instancia SQL Server ya sea la version completao incluisve una version express

LocalDB vs SQL Server Compact

La idea es que LocalDB se comportara como si fuera un SQL Server Compact, salvo las siguientes diferencias
  1. La forma en como se ejecutan : SSC(SQL Server Compact) es un dll mientras que LDB(LocalDB) se ejecuta en un proceso separado
  2. Uso en Disco 4 MB de SSC vs 140Mb de LDB
  3. LocalDb tiene la capacidades de un RDBMS igual que SSC ademas de que es factible crear StoreProcedures, data types, etc.
 

Tabla comparativa

Feature

SQL Server Compact 3.5 SP2

SQL Server Compact 4.0

SQL Server
Express 2008 R2

SQL Server ”Denali” LocalDB

Deployment/Installation Features

       

Installation size

2.5 MB download size
12 MB expanded on disk

2.5 MB download size
18 MB expanded on disk

74 MB download size
> 300 MB expanded on disk

32 MB download size
> 160 MB on disk (TBD)

ClickOnce deployment

Yes

Yes

Yes

Yes

Privately installed, embedded, with the application

Yes

Yes

No

No

Non-admin installation option

Yes

Yes

No

No

Runs under ASP.NET

No

Yes

Yes

Yes

Runs on Windows Mobile / Windows Phone platform

Yes

No

No

No

Installed centrally with an MSI

Yes

Yes

Yes

Yes

Runs in-process with application

Yes

Yes

No

No (as process started by app)

64-bit support

Yes

Yes

Yes

Yes

Runs as a service

No – In process with application

No – In process with application

Yes

No – as launched process

Data file features

       

File format

Single file

Single file

Multiple files

Multiple files

Data file storage on a network share

No

No

No

No

Support for different file extensions

Yes

Yes

No

No

Database size support

4 GB

4 GB

10 GB

10 GB

XML storage

Yes – stored as ntext

Yes – stored as ntext

Yes

Yes

Binary (BLOB) storage

Yes – stored as image

Yes – stored as image

Yes

Yes

FILESTREAM support

No

No

Yes

No

Code free, document safe, file format

Yes

Yes

No

No

Programmability

       

Transact-SQL – Common Query Features

Yes

Yes

Yes

Yes

Procedural T-SQL – Select Case, If, features

No

No

Yes

Yes

Remote Data Access (RDA)

Yes

No (not supported)

No

No

ADO.NET Sync Framework

Yes

No

Yes

Yes

LINQ to SQL

Yes

No

Yes

Yes

ADO.NET Entity Framework 4.1

Yes (no Code First)

Yes

Yes

Yes

Subscriber for merge replication

Yes

No

Yes

No

Simple transactions

Yes

Yes

Yes

Yes

Distributed transactions

No

No

Yes

Yes

Native XML, XQuery/XPath

No

No

Yes

Yes

Stored procedures, views, triggers

No

No

Yes

Yes

Role-based security

No

No

Yes

Yes

Number of concurrent connections

256 (100)

256

Unlimited

Unlimited (but only local)

Como conectarse a LocalDB usando Microsoft SQL Server Management Studio

Leyendo varios manuales de como conectarse a LocalDB, casi en todos era por linea de comandos, hasta que vi esta manera interesante de conectarse usando el SMS del Denial, el unico requisito es que mediante la instalacion se haya seleccionado LocalDB y poner un parche al Runtamin .Net 4 en el cual se puede descargar del siguiente enlace:http://support.microsoft.com/kb/2544514

Una vez instalado el Update al runtime, (el cual no es necesario reiniciar la maquina), se procede a abrir el Magnament studio y en Server Name se introduce (localdb)\v11.0 y se procede a presionar el boton Connect

Denail LocalDB

Mostrando la siguiente imagen ya cuando la conexion haya sido realizada con exito

image

La ubicacion de las base de datos que se estan mostrando al momento de ralizar la conexion es la siguiente

LocalDBPath

En el AppData del usuario.

Creando una LocalDB\

Para crear una local DB hay 2 maneras por medio del Asistente o por el uso del TSQL

image

Por medio del asistente se da click derecho y seleccionar New Database

image

Solo hay que poner El nombre de la base de Datos y muy importante Definir un Path, por que si no es defino el path marca el siguiente error

Fail

La otra forma de crear es mediante setencias SQL, como se muestra acontinuacion

image

Cuando se ejecuta dicha instruccion, crea la base de datos, pero si no se especifica donde se van a guardar los archivos de la base de datos a crear, esta se crean en la la ruta %USERPROFILE%

Para especificarle donde se va generar la base de datos seria con la siguiente sintaxis

image

image

image

Como conectarse a una LocalDB desde Visual Studio

Para logarar conectarse a se tiene que descargar el SQL Server Data Tools CTP4, una vez instalado se procede a realizar la siguiente prueba.

Abrir VS2010 y en la seccion de Server Explorer, se agrega una nueva conexion

image

 

Y se configura de la siguiente manera la pantalla

image

Para el uso de un conectionstring seria el siguiente

SqlConnection con = new SqlConnection(@”Server=(localdb)\v11.0; Initial Catalog=Northwind;Integrated Security=True”);

Ejemplo CRUD de LocalBD

http://blogs.windowsclient.net/pirate11/archive/2011/12/29/simple-console-app-using-the-new-quot-sql-server-express-localdb-quot.aspx

Fuente:

http://erikej.blogspot.com/2011/01/comparison-of-sql-server-compact-4-and.html

http://blogs.msdn.com/b/sqlexpress/archive/2011/10/27/net-framework-4-now-supports-localdb.aspx

http://blogs.msdn.com/b/sqlexpress/archive/2011/10/28/localdb-where-is-my-database.aspx

http://blogs.msdn.com/b/sqlexpress/archive/2011/11/28/using-localdb-in-visual-studio-2010.aspx

 
Leave a comment

Posted by on February 19, 2012 in SQL SERVER

 

Tags: ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: