sql

12
SQL – Buscar tabla o columna en una base de datos de SQL Server Muchas veces cuando comenzamos a utilizar un nuevo sistema con base de datos en SQL Server, ya sea para dar soporte o simplemente necesitamos realizar consultas y buscamos algún campo en especifico dentro de la base datos, esto puede volverse tedioso si la base de datos contiene cientos de tablas, ahora vemos que podemos reducir nuestros tiempos debúsqueda realizando consultas con el dato que deseamos encontrar. Características del Query Buscar el nombre de la tabla o columna en la Base de Datos sin tener el nombre exacto, podremos buscar por ejemplo una tabla o columna que se llama EmpleadosRegionMexico y solo poner en busqueda EmpleadosRegion, nos arrojara como resultado todas las tablas que contengan EmpleadosRegion, o también si ponemos solo Empleados, o Emplead nos arrojara todas las tablas que contengan esos caracteres. Query de búsqueda En este solo tenemos que cambiar el dato NombreABuscar por el nombre de la tabla ocolumna que buscamos, 1 2 3 4 5 6 7 8 9 10 11 12 13 USE SistCont DECLARE @busqueda AS VARCHAR(20) SET @busqueda = 'NombreABuscar' select t.name as 'Tabla', c.name as 'Columna', ti.name as 'Tipo', c.is_nullable as 'Acepta Datos Nulos', c.max_length as 'Largo Máximo' from sys.tables t left join sys.all_columns c on (c.object_id = t.object_id) left join sys.types ti on (c.system_type_id = ti.system_type_id)

Upload: percy2880

Post on 22-Nov-2015

10 views

Category:

Documents


3 download

TRANSCRIPT

SQL Buscar tabla o columna en una base de datos de SQL Server

Muchas veces cuando comenzamos a utilizar un nuevo sistema conbase de datosenSQL Server, ya sea para dar soporte o simplemente necesitamos realizarconsultasy buscamos algn campo en especificodentro dela base datos, esto puede volverse tedioso si labase de datoscontiene cientos de tablas, ahora vemos que podemos reducir nuestros tiempos debsquedarealizandoconsultascon el dato que deseamos encontrar.Caractersticas del QueryBuscar el nombre de latablaocolumnaen laBase de Datossin tener el nombre exacto, podremos buscar porejemplounatablaocolumnaque se llama EmpleadosRegionMexico y solo poner en busqueda EmpleadosRegion, nos arrojara como resultado todas las tablas que contengan EmpleadosRegion, o tambin si ponemos solo Empleados, o Emplead nos arrojara todas las tablas que contengan esos caracteres.Query de bsquedaEn este solo tenemos que cambiar el datoNombreABuscarpor el nombre de latablaocolumnaque buscamos,

1234567891011121314151617USE SistContDECLARE @busqueda AS VARCHAR(20)SET @busqueda = 'NombreABuscar'selectt.name as 'Tabla',c.name as 'Columna',ti.name as 'Tipo',c.is_nullable as 'Acepta Datos Nulos',c.max_length as 'Largo Mximo'fromsys.tables t left joinsys.all_columns c on (c.object_id = t.object_id) left joinsys.types ti on (c.system_type_id = ti.system_type_id)wherec.name like '%' + @busqueda + '%' ORt.name like '%' + @busqueda + '%'order by 'tabla'

Funcionamiento de Query en Microsoft SQL Server Management Studio,Primero buscaremos el nombre de unatablael cual se llamaEmpleado.

1234567891011121314151617USE SistContDECLARE @busqueda AS VARCHAR(20)SET @busqueda = 'Empleado'selectt.name as 'Tabla',c.name as 'Columna',ti.name as 'Tipo',c.is_nullable as 'Acepta Datos Nulos',c.max_length as 'Largo Mximo'fromsys.tables t left joinsys.all_columns c on (c.object_id = t.object_id) left joinsys.types ti on (c.system_type_id = ti.system_type_id)wherec.name like '%' + @busqueda + '%' ORt.name like '%' + @busqueda + '%'order by 'tabla

Resultados de la bsquedaComo podemos ver en elQueryel nombre que busque esEmpleadoy el resultado nos dio las tablas que contenanEmpleado, en este caso en labase de datosde muestra solo tenemos unatablacon el nombreempleadoscomo se muestra en la imagen.Ahora figuraremos que requerimos unaColumnadel cual no sabemos o recordamos el nombre completo, lo podemos buscar con tan solo una parte de esta porejemploClie, ahora veamos cual es el resultado.Como podemos ver, nuestrabsquedame arrojo como resultado Tablas y Columnas que contienenClie.

SQL Buscar texto dentro de procedimientos almacenados

Cuando comenzamos a dar soporte o continuidad a unproyectoya iniciado, es necesario conocer donde se encuentran algunos elementos, en este caso si necesitamos realizar la bsqueda de instrucciones en losprocedimientosalmacenados y noperder tiempobuscando en cada uno de losprocedimientoses recomendable utilizar las funciones de bsqueda que SQL nos ofrece, a continuacin se mostrara como funciona y el resultado que arroja.Query para bsqueda en procedimientos almacenados.

1SELECT SUBSTRING(text,0,40) FROM syscomments WHERE text LIKE '%BUSQUEDA%'

EjemploVeamos elqueryen funcionamiento, realizare una busqueda para encontrar el texto MAX, elqueryme dara como resultado todos losprocedimientosalmacenados que contengan en su interior MAX.

SQL - Buscar dato O Campo ES: Todas Las Tablas de base de la de Datos en Creando servidor Procedure ONU almacenado La SQL

Es Comn Que necesitemos ENCONTRAR UN dato o campo En Unala Base de Datos, Pero CUANDOQueremosver en CuantasTablasPodemos ENCONTRAR Este dato, this tarea Se Puede volver ONU tediosa Poco Por lo Complejo Que se tornaran los querys prr realizar this Proceso.Consulta prr Crear el Procedure almacenado La prr realizar bsquedasCon thisconsultas DeCLARA y crea elProcedureanidado Que utilizaremos prr Realizar labsquedade los Datos o campos en Toda Lastablasde lala Base de Datos, Donde solo utilizaremos Una linea deCdigoCual es el "GO SearchAllTables EXEC 'PC'", Pero mas Adelante les mostrare ESTO.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758CREATE PROC SearchAllTables(@SearchStr nvarchar(100))ASBEGINCREATE TABLE #Results (ColumnName nvarchar(370), ColumnValue nvarchar(3630))SET NOCOUNT ONDECLARE @TableName nvarchar(256), @ColumnName nvarchar(128), @SearchStr2 nvarchar(110)SET@TableName = ''SET @SearchStr2 = QUOTENAME('%' + @SearchStr + '%','''')WHILE @TableName IS NOT NULLBEGINSET @ColumnName = ''SET @TableName = (SELECT MIN(QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME))FROM INFORMATION_SCHEMA.TABLESWHERE TABLE_TYPE = 'BASE TABLE'ANDQUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) > @TableNameANDOBJECTPROPERTY(OBJECT_ID(QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) ), 'IsMSShipped' ) = 0)WHILE (@TableName IS NOT NULL) AND (@ColumnName IS NOT NULL)BEGINSET @ColumnName =(SELECT MIN(QUOTENAME(COLUMN_NAME))FROM INFORMATION_SCHEMA.COLUMNSWHERE TABLE_SCHEMA= PARSENAME(@TableName, 2)ANDTABLE_NAME= PARSENAME(@TableName, 1)ANDDATA_TYPE IN ('char', 'varchar', 'nchar', 'nvarchar')ANDQUOTENAME(COLUMN_NAME) > @ColumnName)IF @ColumnName IS NOT NULLBEGININSERT INTO #ResultsEXEC('SELECT ''' + @TableName + '.' + @ColumnName + ''', LEFT(' + @ColumnName + ', 3630) FROM ' + @TableName + ' (NOLOCK) ' +' WHERE ' + @ColumnName + ' LIKE ' + @SearchStr2)ENDENDENDSELECT ColumnName, ColumnValue FROM #ResultsEND

Consulta prr Realizar la bsqueda Realizando La Llamada al Procedure anidado.Con this ejecutarconsultasCambiando 'Busqueda' Por El Texto del campo o dato Que deseemos Buscar, nos realizara LaGoogle bsquedade Este bao: Todas Lastablasy Columnas de lala Base de Datos.

12EXEC SearchAllTables 'Busqueda'GO

Restaurar una BD enSQL Server 2008 R23 dic 2012 |Bases de datosComo restaurar una base de datos usando SQL Server 2008 r2?1. Instalar SQL server 2008 r22. Restaurando base de datosLo primero que debemos hacer es conectarnos con el servidor, lo haremos de la siguiente manera:Al momento de iniciar nuestro SQL Server 2008 r2 por primera vez nos mostrara una pantalla como la siguiente

No modificar ningn campo excepto por el de nombre del servidor aqu pondremos el nombre del servidor que hayamos creado en mi caso lo deje por default as que pondr (local) no olvidar los parntesis y a continuacin le damos en conectar.Una vez conectados nos mostrara una ventana ala izquierda con una serie de carpetas (bases de datos, seguridad, objetos de servidor, replicacin, administracin) tal como lo muestra la siguiente imagen

Para poder restaurar nuestra base de datos lo primero que debemos hacer es ubicar el archivo o la base de datos que necesitamos restaurar normalmente tiene la terminacin (.bak), este archivo esta alojado dentro de nuestro proyecto en la carpeta o ruta siguiente C:\Users\Lucho\Desktop\Fondeos\construccin\base de datos\respaldos\desarrollo el archivo normalmente esta comprimido (.rar) o (.zip) una ves identificado nuestro archivo lo que debemos hacer es descomprimir este archivo para que nos quede el archivo (.bak) el cual es el que necesitaremos para poder restaurar nuestra base de datos.

Se muestra el archivo comprimido (.rar) y el archivo o base de datos descomprimido (.bak)Volviendo nuestro SQL Server 2008 r2 con el click derecho de nuestro mouse seleccionamos la carpeta bases de datos y seleccionamos la opcin (restaurar bases de datos)

Nos abrir una ventana en la cual asignaremos un nombre a nuestra base de datos en mi caso la base de datos la cual quiero restaurar se llama Fondeos as que dentro del campo (A una base de datos:) pondr Fondeos y como la queremos restaurar desde un archivo en nuestra computadora en la opcin (origen de la restauracin) seleccionaremos la opcin desde dispositivo y a continuacin damos click en el botn con putos.

Nos abrir nuevamente una nueva ventana en la cual buscaremos el archivo o la base de datos que deseamos restaurar no olvidar que nuestro archivo debe terminar (.bak) vamos a la opcin agregar y buscamos nuestro archivo, lo seleccionamos y le damos aceptar

Nos aseguramos que nuestro archivo este correcto y presionamos aceptar, a continuacin nos mostrara la ventana en la cual estbamos anteriormente pero ahora en la parte de abajo nos mostrara la base de datos que hemos seleccionamos, Activamos la casilla restaurar y presionamos aceptar

Por ultimo nos abrir una ventana la cual nos dir que la base de datos se restauro correctamente.