Você está na página 1de 5

Escuela superior politécnica de Chimborazo

Facultad de informática y electrónica


Ingeniería en sistemas
Base de datos II

Nombre: Alex Cunachi

Fecha: 23 de mayo de 2018

Tema: objetos en SQL server

Microsoft SQL Server incluye objetos y contadores que el Monitor de sistema puede
utilizar para supervisar la actividad de los equipos en los que se ejecute una instancia de
SQL Server.Un objeto es cualquier recurso de SQL Server , como un bloqueo de SQL
Server o un proceso de Windows.Cada objeto contiene uno o más contadores que
determinan diversos aspectos de los objetos que se van a supervisar. Por ejemplo, el
objeto Bloqueos de SQL Server contiene los contadoresNúmero de
interbloqueos/seg. y Tiempos de espera de bloqueos/seg. Algunos objetos tienen varias
instancias si existen varios recursos de un determinado tipo en el equipo. Por ejemplo: el
tipo de objeto Procesador tendrá varias instancias si un sistema contiene varios
procesadores. El tipo de objeto Bases de datos tiene una instancia para cada base de datos
de SQL Server. Algunos tipos de objetos (por ejemplo, el objeto Administrador de
memoria ) tienen solo una instancia. Si un tipo de objeto tiene varias instancias, puede
agregar contadores para realizar un seguimiento de las estadísticas relativas a cada
instancia o, en muchos casos, de todas las instancias a la vez.

 Los contadores de la instancia predeterminada aparecen con el


formatoSQLServer:<nombre de objeto>.
 Los contadores de las instancias con nombre aparecen con el
formato MSSQL$<nombre de instancia>:<nombre de
contador> o SQLAgent$<nombre de instancia>:<nombre de contador>.

Al agregar o quitar contadores en el gráfico y guardar la configuración del gráfico, puede


especificar los objetos y contadores de SQL Server que se supervisan al iniciar el Monitor
de sistema.

Puede configurar el Monitor de sistema para que muestre las estadísticas de cualquier
contador deSQL Server . Además, puede establecer un valor de umbral para cualquier
contador de SQL Server y generar posteriormente una alerta cuando un contador supere
dicho umbral.

El objeto SQLServer:Databases de SQL Server proporciona contadores para supervisar


las operaciones de copia masiva, el rendimiento de las copias de seguridad y restauración,
y las actividades del registro de transacciones. La supervisión de las transacciones y del
registro de transacciones determina el volumen de actividad de los usuarios en la base de
datos y el espacio libre que queda en el registro de transacciones. El volumen de actividad
de los usuarios puede determinar el rendimiento de la base de datos y puede afectar al
tamaño del registro, los bloqueos y la replicación. La supervisión de la actividad de
registro de bajo nivel para medir la actividad de los usuarios y el uso de los recursos puede
ayudar a identificar cuellos de botella en el rendimiento.
Eliminar o cambiar objetos puede afectar otros objetos de la base de datos como vistas o
procedimientos que dependen de ellos y, en ciertas instancias, pueden “romper” el objeto
dependiente. Un ejemplo puede ser si una Vista consulta a una tabla y el nombre de esa
tabla cambia. La Vista no funcionará más.

En SQL Server hay muchas maneras de encontrar dependencias de objetos.


El procedimiento de sistema sp_depends.
Funciones de Administración Dinámica de SQL Server, incluyendo:
sys.dm_sql_referencing_entities
sys.dm_sql_referenced_entities
La característica View Dependencies en SQL Server Management Studio (SSMS).
sp_depends
sp_depends es un procedimiento almacenado del sistema que muestra información acerca
de todos los tipos de objetos (por ejemplo, procedimientos, tablas, etc.) que dependen del
objeto especificado en el parámetro de entrada, así como todos los objetos de los que el
objeto especificado depende.
El procedimiento sp_depends acepta un parámetro, el nombre de un objeto de base de
datos. Por ejemplo EXECUTE sp_depends ‘ObjectName’
Ejemplos:
- New database
CREATE DATABASE TestDB;
GO

USE TestDB
GO

CREATE TABLE UserAddress (


AddresID INT PRIMARY KEY IDENTITY(1, 1)
,FirstName VARCHAR(100)
,Lastname VARCHAR(150)
,Address VARCHAR(250)
)
GO
-- New procedure
CREATE PROCEDURE sp_GetUserAddress
AS
BEGIN
SELECT FirstName
,Lastname
,Address
FROM UserAddress
END
GO

CREATE TABLE Address (


ID INT NOT NULL IDENTITY(1, 1)
,City VARCHAR(120)
,PostalCode INT
,UserAddressID INT FOREIGN KEY REFERENCES UserAddress(AddresID)
)
GO
-- New View
CREATE VIEW v_Address
AS
SELECT ID
,City
,PostalCode
,UserAddressID
FROM dbo.Address
GO

CREATE PROCEDURE sp_GetUserCity


AS
BEGIN
SELECT UserAddress.FirstName
,UserAddress.Lastname
,Address.City
FROM UserAddress
INNER JOIN Address ON UserAddress.AddresID = Address.UserAddres
sID
END
GO
-- New Trigger
CREATE TRIGGER trgAfterInsert ON [dbo].[UserAddress]
FOR INSERT
AS
PRINT 'Data entered successfully'
GO

El siguiente resultado será:

name type

1 dbo.sp_GetUserAddress stored procedure

2 dbo.sp_GetUserCity stored procedure

 name – nombre del objeto dependiente.

 type – tipo de objeto dependiente (por ejemplo, tabla).

Si un procedimiento almacenado es especificado como un argumento válido


en sp_depends, entonces el nombre de la tabla y los nombres de las columnas de los
que el procedimiento depende serán mostrados.

SQL Server posibilita la exportación de los objetos de la Base de Datos mediante el uso
de scripts, cuya posterior ejecución permita volver a crear los objetos. Así, por ejemplo,
se puede crear un script que guarde la estructura de una tabla y sus datos, de forma
que, si se ejecuta, la reconstruya con todos sus datos.

Resolución:

Para generar un script que guarde objetos de una base de datos, se deberán ejecutar
los siguientes pasos:

 Sobre el esquema de la base de datos sobre la cual se quiere generar el script,


hacer click con el botón derecho. Seleccionar la opción Tareas -> Generar
Scripts...
 Seleccionar de la lista los objetos de los que se quieren generar los scripts
 Pinchar en el botón Avanzadas
 Si se quiere conservar el contenido de las tablas, se deberá indicar en la opción
"Tipos de datos que se deben incluir en el script"
 Es recomendable activar la opción "Incluir DROP y CREATE en el script", para
que éste elimine el objeto automáticamente antes de volver a crearlo.
 También es recomendable activar la opción de incluir USE DATABASE, en caso
de que existan varias bases de datos en el servidor.
 Escoger la opción de salida (fichero, portapapeles o nueva consulta), y hacer
click en Siguiente
 Una vez confirmado que el resumen del proceso es correcto, iniciarlo.

Fuentes:
https://docs.microsoft.com/es-es/sql/relational-databases/performance-monitor/use-sql-
server-objects?view=sql-server-2017
http://aprendiendo.prodastur.com/kb/58
https://solutioncenter.apexsql.com/es/viendo-las-dependencias-de-un-objeto-en-sql-
server/

Você também pode gostar