sql server: Dar permiso de acceso a bd a una cuenta de máquina

Hola, escribo despues de mucho tiempo, y en esta ocasion quiero compartir un script que nos permitirá dar permiso de acceso a bd a una cuenta de maquina (equipo, pc, etc), para los que no lo sabian, tambien se puede dar permiso de acceso a una base de datos a un ordenador, y esto es necesario para que funcionen algunas aplicaciones o sistemas. El script en cuestion es el siguiente:

USE MASTER
GO
CREATE LOGIN [midominio\miequipo$] –dominio\equipo$
FROM WINDOWS
WITH DEFAULT_DATABASE = [mibd] –base de datos
, DEFAULT_LANGUAGE = [us_english] –idioma del sql server
GO

espero le sirva este query a mas de uno, y comentarles que esto mismo se puede hacer de forma visual en el administrador de sql server, pero a veces esta opcion no esta disponible (desconozco el por qué, pero lo investigaré), saludos…

Publicado en Base de datos, Informatica | Deja un comentario

sql server: Limpiar tablas de una base de datos

Hola a todos, alguna vez hemos querido limpiar las tablas de una base de datos, y pues la verdad quizas hemos corrido un delete o truncate para cada tabla, sin embargo esta entrada es justamente para eso, para mostrar una forma de borrar los datos de las tablas de una base de datos con un solo script, y sin importar la cantidad de tablas que se tenga, el script es el siguiente:

–limpiar tablas de una base de datos, limpiar datos

USE mibd

EXEC sp_MSForEachTable ‘ALTER TABLE ? NOCHECK CONSTRAINT ALL’–deshabilitar restricciones de tablas
GO
EXEC sp_MSForEachTable ‘ALTER TABLE ? DISABLE TRIGGER ALL’–deshabilitar triggers
GO

BEGIN TRY
EXEC sp_MSForEachTable ‘TRUNCATE TABLE ?’–limpiar tabla
END TRY
BEGIN CATCH
–EXEC sp_MSForEachTable ‘DELETE FROM ?’
PRINT ‘Error en el truncado de tablas’
END CATCH

EXEC sp_MSForEachTable ‘ALTER TABLE ? CHECK CONSTRAINT ALL’–habilitar restricciones de tablas
GO
EXEC sp_MSForEachTable ‘ALTER TABLE ? ENABLE TRIGGER ALL’–habilitar triggers
GO

——————————————-

Espero les sirva, y saludos hasta la proxima…

Publicado en Base de datos, Informatica | Deja un comentario

sql server: Crear Base de datos desde query

Hola nuevamente, en la presente entrada quiero exponer un query (script sql) que nos permitirá crear una base de datos, en dicho query basta indicar el nombre de la base de datos a crear, y la ruta y nombre de los archivos DBF y LDF. Recordemos que una base de datos consta de 2 archivos:

  • Un archivo mdf: que guarda los datos que contiene la base de datos
  • Un archivo ldf: que guarda un log de las transacciones realizadas en la base de datos

Ahora bien, aca expongo el query mencionado:

–crear una base de datos de nombre AdventureWorks
IF db_id (‘AdventureWorks’) is not null drop database AdventureWorksDW2008R2;
CREATE DATABASE AdventureWorksDW2008R2–nombre de bd
ON
( NAME = AdventureWorksDW2008R2_2,
FILENAME = ‘D:\SQLData2008\AdventureWorks.mdf’,–ruta del mdf
SIZE = 2MB,–tamaño inicial
MAXSIZE = UNLIMITED,–tamaño maximo
FILEGROWTH = 1MB –tasa de crecimiento del archivo
)
LOG ON
( NAME = AdventureWorksDW2008R2_log_2,
FILENAME = ‘D:\SQLLog2008\AdventureWorks_log.ldf’,–ruta del ldf
SIZE = 1MB,–tamaño inicial
MAXSIZE = UNLIMITED,–tamaño maximo
FILEGROWTH = 10% –tasa de crecimiento del archivo
)

Espero les sea de utilidad, y saludos…

Publicado en Base de datos, Informatica | Deja un comentario

sql server: Repeat Until

Hola a todos, alguna vez hemos necesitado realizar un REPEAT UNTIL en transact sql, y nos hemos topado con que dicha instruccion no existe en transact sql, pues bien investigando un poco encontre una forma de realizar un REPEAT UNTIL, como se conoce en algunos lenguajes de programacion; la forma de realizar esto es de la siguiente forma:

WHILE (1 = 1)
BEGIN
— do stuff
— …..
— do more stuff

if (break_condition = true)
BREAK
END

Ahora bien alguien se preguntará por que no usar simplemente la instruccion WHILE si esta existe en transact sql, pues la repuesta es por que no haria lo que debe hacer, verán ambas intrucciones tienen diferente forma de trabajo:

  • WHILE(condicion=true): repetir mientras la evaluacion de la condicion dé verdadero, ademas de que la condicion se evalua al principio del bucle.
  • REPEAT UNTIL(condicion=true): repetir hasta que la evaluacion de la condicion dé verdadero, ademas de que la condicion se evalua al final del bucle.

Espero sea de utilidad el articulo, y saludos…

Publicado en Base de datos, Informatica | Deja un comentario

sql server: Ver instrucciones sql ejecutadas

Hola a todos, en esta ocasion quiero exponer el tema de como ver las instrucciones sql ejecutadas sobre nuestras base de datos sql server, o visto de otra manera: como ver las consultas sql ejecutadas sobre cierto motor de sql server en un determinado tiempo, para este fin la opcion mas facil es usando una herramienta de sql server llamada: “SQL SERVER PROFILER”.

Un caso de uso seria por ejemplo, cuando queremos hacer ingenieria inversa a un sistema o aplicacion que tiene una base de datos sql server, en cuyo caso solo deberemos abrir el sql profiler en la maquina donde esta el motor de sql server y hacer operaciones en el sistema/aplicacion para ver con que tabla, vistas, stores,etc. interactua el aplicativo; como ven en ese caso es muy util.

Ahora bien como podemos hacer uso del sql profiler?, pues muy simple:

  • ir al menu de inicio de windows
  • desplegar todos los programas
  • ubicar la carpeta del sql server que ocupamos
  • abrir la subcarpeta “Performance Tools” (o herramientas de rendimiento)
  • Abrir la aplicacion “Sql Server Profiler”
  • Crear un “New Trace” (nuevo trazo) con el user y password correspondiente (sa, etc)
  • Hacer click en Run (ejecutar)
  • y podran ver las consultas que se ejecutan en cada momento sobre el motor de sql server
  • El profiler tiene ademas la posibilidad de limpiar las consultas anteriores, o pausar, detener el trazo

Podemos seguir los pasos indicados en las siguientes imagenes:

 

Publicado en Base de datos, Informatica | 2 comentarios