sql >> Base de Datos >  >> RDS >> Sqlserver

Búsqueda de objetos de base de datos y datos de tabla en SQL Server

Si es administrador o desarrollador de una base de datos de SQL Server, debe buscar con frecuencia objetos específicos de la base de datos cuyos nombres solo puede recordar parcialmente. El enfoque manual para realizar estas operaciones de búsqueda requiere mucho tiempo, especialmente cuando la base de datos tiene una gran cantidad de objetos.

Otro escenario es aquel en el que desea buscar datos específicos en todas las tablas de la base de datos. En este caso, debe ejecutar una instrucción SELECT varias veces en función de la cantidad de tablas o vistas de la base de datos en las que desea buscar, o escribir un cursor complejo para realizar un bucle y buscar en todas las tablas de la base de datos, lo que requiere habilidades avanzadas de desarrollo de SQL Server.

En este artículo, veremos diferentes formas de buscar un objeto de base de datos específico o datos en SQL Server, pasando gradualmente de métodos integrados y sumergiéndonos en una herramienta de terceros que hace que sea pan comido obtener la base de datos solicitada. objeto o datos.

Consultando sys.objetos

Sys.objetos es una vista de administración dinámica del sistema SQL Server que se puede usar para enumerar todos los objetos que se definen en una base de datos específica.

Por ejemplo, para enumerar todos los objetos de la base de datos que tienen "Emp" en sus nombres, podemos consultar el DMV del sistema sys.objects según el nombre del objeto, como en la consulta T-SQL a continuación:

SELECT NAME AS ObjName
    ,schema_name(schema_id) AS SchemaName
	,type AS ObjType
	,type_desc AS ObjTypeDesc
	,create_date
	,modify_date
	FROM sys.objects
WHERE NAME LIKE '%Emp%'
ORDER BY ObjName ASC, ObjType ASC

Y el resultado devuelto por mi base de datos de prueba, con información completa sobre el nombre completo del objeto, el tipo, la creación y los datos de modificación, será el siguiente:

Explorador de objetos de SQL Server Management Studio

Otro método que se puede utilizar para buscar un objeto de base de datos específico en su base de datos es el Explorador de objetos de SQL Server Management Studio.

Cuando utilice SQL Server Management Studio para conectarse y administrar su instancia de SQL Server, puede abrir el Explorador de objetos eligiendo la opción Detalles del Explorador de objetos en el menú Ver, o simplemente presionando la tecla F7 , como se muestra a continuación:

Cuando se abre el Explorador de objetos, puede buscar un objeto de base de datos específico de la siguiente manera:

  • vaya a la base de datos en la que desea buscar
  • escriba el nombre (completo o parcial) del objeto de la base de datos en la Buscar cuadro de texto
  • presione Intro para iniciar el proceso de búsqueda

La lista de todos los objetos de la base de datos que cumplen con sus criterios de búsqueda se mostrará como se muestra a continuación:

Para ir a la ubicación de un objeto de base de datos específico, desde el resultado de búsqueda del Explorador de objetos abierto, haga clic con el botón derecho en ese objeto de base de datos y seleccione Sincronizar opción, como se muestra a continuación:

El puntero lo llevará automáticamente a la ubicación de ese objeto como se muestra a continuación:

Filtrado de SQL Server Management Studio

SQL Server Management Studio nos proporciona otra forma de buscar y ubicar un objeto de base de datos específico mediante filtros.

Los objetos de la base de datos se pueden filtrar de la siguiente manera:

  • busque la base de datos donde se encuentran los objetos
  • expandir el nodo de la base de datos
  • señale la carpeta en la que se encuentra el objeto (como tablas, vistas, procedimientos almacenados o funciones)
  • haga clic con el botón derecho en ese nodo y elija Configuración de filtro debajo del Filtro lista de opciones, como se muestra a continuación:

Desde la Configuración de filtro abierta ventana, elija los criterios de búsqueda que utilizará para identificar el objeto de la base de datos (por ejemplo, el nombre, el esquema o el propietario de ese objeto, el operador que se utilizará en el filtro de búsqueda). Por ejemplo, puede buscar un objeto de base de datos con el nombre igual a, que contenga o no el valor proporcionado. Después de especificar los criterios de filtro, haga clic en Aceptar para aplicar el filtro:

Una vez que se aplica el filtro, verá que solo los objetos de la base de datos que cumplan con los criterios de búsqueda del filtro se enumerarán en el nodo de tipo de objetos, como se muestra a continuación:

Para eliminar el filtro y volver a ver todos los objetos de la base de datos, haga clic con el botón derecho en el nodo de la lista de objetos de la base de datos relevante, que es Tablas en nuestro ejemplo, y elija Eliminar filtro de la lista de opciones de filtro y todos los objetos de la base de datos se mostrarán de nuevo, como se muestra a continuación:

Búsqueda de datos en SQL Server Management Studio

Además de escribir consultas SELECT para buscar un valor específico, SQL Server Management Studio nos brinda otra forma de buscar valores de columna y modificarlos directamente en el nivel del objeto de la base de datos según los criterios especificados.

Para buscar un valor de datos de una tabla específica, busque esa tabla en SQL Server Management Studio, haga clic con el botón derecho en esa tabla y seleccione Editar las 200 filas principales opción, como se muestra a continuación:

Desde la ventana abierta, haga clic en el icono de la tabla que se muestra a continuación para ver la ventana de filtrado:

En la ventana de filtrado abierta, especifique la condición y la(s) columna(s) que le interesan. En el siguiente ejemplo, enumeraremos todas las filas de empleados con ID mayor que 10:

Después de configurar el filtro, haga clic derecho en cualquier lugar en un área vacía y seleccione Ejecutar SQL opción de aplicar las condiciones:

Las filas que cumplan con las condiciones aplicadas se mostrarán en la cuadrícula de resultados, y puede realizar actualizaciones en estos datos, como se muestra a continuación:

Buscar una herramienta de terceros de SQL Server

Hasta este punto, discutimos diferentes métodos de búsqueda de objetos de base de datos y datos de tabla. Pero estos métodos nos brindan tipos específicos de información que no se pueden filtrar, ordenar o administrar fácilmente. Es por eso que debemos buscar herramientas de terceros disponibles en el mercado y, con suerte, encontrar una que proporcione toda la funcionalidad de búsqueda discutida en la misma ventana y nos permita administrar los resultados según nuestros requisitos.

Una de las herramientas de terceros más útiles y fáciles de usar que se puede usar fácil y rápidamente para buscar cualquier tipo de datos o objetos de base de datos es dbForge Search for SQL Server de Devart.

dbForge Search for SQL Server es un complemento gratuito de SQL Server Management Studio que nos brinda la capacidad de ubicar cualquier objeto o datos de la base de datos de SQL Server, sin la necesidad de buscar a través del Explorador de objetos de SSMS o recordar la ubicación de ese objeto. Nos permite buscar en todos los objetos de la base de datos o configurar nuestros propios filtros de búsqueda para localizar rápidamente objetos o datos de la base de datos y navegarlos fácilmente en el Explorador de objetos de SSMS. Con dbForge Search for SQL Server, también puede ordenar y filtrar los resultados de búsqueda como desee.

La herramienta gratuita dbForge Search for SQL Server se puede descargar desde la página de descargas de Devart y se instala fácilmente en su máquina mediante un asistente de instalación sencillo, como se muestra a continuación:

El asistente de instalación primero le pedirá que especifique la carpeta de instalación para dbForge Search for SQL Server:

Luego le permitirá elegir la versión de SQL Server Management Studio instalada en su máquina:

Y finalmente, puede elegir qué optimización de inicio se aplicará a la herramienta para mejorar su rendimiento, como se muestra a continuación:

Cuando se inicia la instalación de dbForge Search for SQL Server, puede monitorear el proceso de instalación a través de la barra de progreso de la instalación:

Después de completar el proceso de instalación del complemento dbForge Search for SQL Server, el asistente de instalación nos notificará que el complemento se instaló correctamente para la versión de SSMS seleccionada y está listo para usarse:

Para comenzar a utilizar la herramienta de búsqueda de dbForge, abra SQL Server Management Studio. Encontrará el ícono único de la herramienta de búsqueda, como se muestra a continuación:

Haga clic en Búsqueda de dbForge y se abrirá una nueva ventana, brindándole la opción de buscar tanto objetos de la base de datos como datos de la tabla:

Búsqueda de objetos de base de datos

Suponga que necesitamos buscar todos los objetos de la base de datos que contengan "emp" en sus nombres en la base de datos AdevtureWorks2016.

Haga clic en DDL botón a la izquierda para elegir Buscar objetos de base de datos opción, escriba la frase de búsqueda en el cuadro de búsqueda, luego seleccione la instancia de SQL Server que contiene esa base de datos y el nombre de la(s) base(s) de datos para realizar la búsqueda:

Después de eso, seleccione el tipo de objeto(s) de base de datos que desea buscar en Tipos de objeto lista desplegable:

Y por último, especifica el tipo de búsqueda que realizarás. Puede buscar objetos de la base de datos con las mayúsculas y minúsculas exactas proporcionadas, los objetos que coincidan con la palabra completa proporcionada o utilizar comodines (por ejemplo, '%') para devolver objetos con nombres que contengan la frase proporcionada:

Después de hacer clic en el botón de búsqueda cerca del texto proporcionado, verá los resultados que se muestran en dos secciones. La primera sección contiene detalles completos sobre todos los objetos de la base de datos que cumplen con los criterios de búsqueda proporcionados. En la segunda sección, encontrará la instrucción T-SQL que se utiliza para crear el objeto de base de datos seleccionado:

Además de la capacidad de ordenar el resultado devuelto en función de cualquier columna, la herramienta de búsqueda de dbForge nos brinda la capacidad de agrupar el resultado de la búsqueda por tipo de objeto. Para agrupar el resultado de la búsqueda por cada objeto de la base de datos, haga clic en el icono Agrupación, como puede ver a continuación:

El resultado de la búsqueda se agrupará por tipos de objetos de la base de datos, lo que facilita la localización y gestión de los objetos que le interesan:

Después de seleccionar el objeto de la base de datos necesario de los resultados de la búsqueda, puede ubicar fácilmente ese objeto en el Explorador de objetos de SSMS haciendo clic con el botón derecho y seleccionando Buscar en el Explorador de objetos opción:

Búsqueda de datos

La herramienta de búsqueda de dbForge también nos permite buscar un texto específico o un valor numérico en las tablas o vistas de la base de datos. Para cambiar el modo de búsqueda de búsqueda de objetos de la base de datos a búsqueda de datos, haga clic en el botón Datos botón de búsqueda en el lado izquierdo de la ventana, seleccione la instancia de SQL Server donde está alojada su base de datos y las bases de datos, tablas y vistas para buscar los datos. Después de especificar los criterios y filtros de búsqueda de datos, escriba el valor de los datos que buscará y haga clic en el icono de búsqueda cerca del texto provisto, como se muestra a continuación:

Nuevamente, el resultado se mostrará en dos secciones. La primera sección muestra información completa sobre la ubicación del valor devuelto y la segunda sección muestra la fila completa que contiene ese valor:

De los ejemplos anteriores, podemos ver claramente cuán fácil y rápida es la herramienta de búsqueda de dbForge para buscar y ubicar cualquier objeto o dato de la base de datos, teniendo en cuenta que el proceso de búsqueda será más rápido cuando proporcionemos criterios de búsqueda precisos y específicos. ¡Pruébelo usted mismo!