SQL SERVER ATTACH

Adjuntar una base de datos “Attach”

Hola a todos de nuevo!!!

Hace poco he tenido graves problemas con la instalación del sistema operativo y he tenido que recuperarlo, pues bien, antes de formatear y demás copie lo necesario a un disco duro para reimplantar todo.

A la hora de recuperar las bases de datos de las cuales no tenia backup
podemos utilizar la opción de Attach de SQL SERVER, lo cual nos dejará volver a insertarlas bajo en Engine de SQL .

Un problema con el que nos podemos encontrar es que nos de el siguiente error
Unable to open the physical file (‘TUBBB’)

Pues bien para resolver este problema debemos ir a el fichero .mdb y mdf y agregarle de nuevo los permisos, ya que cuando lo creamos fue otra instalación y no la actual, una vez hecho esto podemo continuar.

La forma más sencilla de recuperar y o adjuntar las BBDD es la siguiente.

En el Motor de bbdd hacemos clic con el botón derecho del ratón y hacemos clic en Attach o Adjuntar. se nos mostrara el siguiente cuadro.
.
Hacemo clic en add o Añadir y seleccionamos la BBDD que queremos adjuntar.
y el propio sql nos cargar el Mdf y Ldf correspondiente.

Pulsamos OK , y si todo es correcto tendremos la base de datos recuperada en el sistema.

Un saludo y espero que os sirva de ayuda.

 

Ya sabes, como siempre sigueme , y suscribete , con ello tendras acceso a el chat y a el foro de soulsmakers.com



SQL SEVER WITH FORCESEEK

SQL SEVER WITH FORCESEEK

Un metodo para optimizar consultas de SQL SERVER en tablas relacionadas es utilizar esta clausula.

¿Que es lo que hace?, veamoslo en un ejemplo.
Tenemos nuestra tabla de clientes con nuestra clave primaria que es idcliente y por otro lado tenemos la tabla personas de contacto con ForeingKey de IDCliente.

Pues bien si ejecutaramos la consulta tal cual ;


Sql Prioriza la busqueda sobre la tabla de cliente y luego la relación con PerContacto sacando solo las coincidencias por idcliente. pues bien. Marcando ForceSeek , forzamos a SQL a que no empieze por la tabla cliente si no por la tabla PerContacto, el ejemplo quedaria de la siguiente forma:

Un dato a tener en cuenta es que al marcar ForceSeek la union entre tablas debe estar realizada por la PrimaryKey -> ForeingKey si no , no nos dejara ejecutarla.

Para que esto sea mas efectivo debemos utilizar un where sobre la tabla marcada con forceseek y con ello veremos que el tiempo de ejecución de SQL sobre esa consulta se vera reducido, el cambio no es muy significativo en tablas con pocos registros.

Si quieres saber como optimizar mas tus consultas consulta tambien este otro articulo WITH(NOLOCK)



Transacciones de Sql que son y como lo utilizo

Transacciones

El este breve articulo vamos a tratar de explicar que es una transacción

Una transacción es una operacion dentro de SQL cuyo contenido puede ser cancelado o aceptado dentro de la BBDD.

Para que lo entendais mejor veamos un ejemplo con la sintaxis que debemos utilizar.



Si la transacción la transaccion es correcta y no la finalizaramos para SQL todavia quedaria pendiente. por ello siempre es mejor controlar la situación de la siguiente manera.

 

.Si Antes de confirmar o hacer el rollback de una transacción la consultamos para ver el resultado este estaria reflejado, pero en SQL veriamos que queda una transacción pendiente con la siguiente consulta.




 

Espero que este breve post os sirva para realizar procesos seguros.

y ya sabes unete a nuestro foro y comentanos esas cosas que tanto te inquieta.

y si quieres ver el ejemplo en este video te lo explico

Consultas utilies para sql server

Consultas que nos puede ayudar a encontrar y reutilizar consultas sin tener que generar nuevas si conocemos su contenido usando sql server.

Bien es sabido, que la tendencia a reutilizar consultas muchas veces es nula. Sin embargo hay ciertas consulas podemos utilizar, claro esta que tendremos que analizar la información que nos muestra, pero si es valida, habremos recortado tiempo en el desarrollo de una nueva vista.


Nos devuelve información de nombres de tabla y vistas


Nos devuelve información de nombres de columna por tabla o vista


Nos devuelve información de la vista y su composición (TSQL)

Simplemente con estos datos podemo ahorrarno un poco de tiempo, y asi tambien no llenar nuestra base de datos con vistas que al final serán una copia con distinto nombre.

Os dejo un procedimiento para encontrar un campo en que tablas está, cambia el where en vez de BASE TYPE por VIEW

y ya sabes , si quieres unete a SoulsMakers y participa en nuestro foro.

Si no existe alguna seccion y quieres que la incorporemos, manda un email a Smakers@SoulsMakers.com

SQL with(nolock) como y porqué

El tiempo de que tarda en ejecutar una cosulta y devolverla a nuestro programa a veces puede ser una tarea ardua, con tiempos de espera bastante elevados, dependiendo de los casos muchas veces nos encotramos que una consulta aparentemente sencilla se nos demora más de 5 sergundos. si tomamos este tiempo como referencia, en consultar un dato , la experiencia para el usuario es mala, por que el sistema es lento.

Para poder solventar parte del problema podemos utilizar la clausula with(nolock) dentro de nuestras consultas y o vistas de SQL, como lo hacemos?.

Pues muy sencillo , lo unico que debemos hacer es añadir la clausula al final de cada tabla como en el ejemplo:

Leer másSQL with(nolock) como y porqué