• No se han encontrado resultados

SQL Server 2008 Course. Jesus Garcia Correa

N/A
N/A
Protected

Academic year: 2021

Share "SQL Server 2008 Course. Jesus Garcia Correa"

Copied!
74
0
0

Texto completo

(1)

1

SQL Server 2008 Course

Jesus Garcia Correa

(2)

Objetivos

Conocer la forma almacenamiento físico

y lógico de una Base de Datos en MS

SQL Server, para poder Implementar y

Administrar una Base de Datos como

una solución integral, donde los datos

dependen del almacenamiento físico

disponible.

(3)

3

Que es exactamente SQL

Server?

SQL Server es un Enterprise-Class Database Management System, que es capaz de soportar almacenamiento específico desde información proveniente de Windows Movil hasta

(4)

The SQL Server Database Engine

El DataBase Engine es el core principal de SQL Server, el cual se ve reflejado mediante un servicio Windows, sus Principales responsabilidades son:

•Proporcionar almacenamiento confiable de los datos

•Proporcionar un medio para recuperar rápidamente los datos •Proporcionar acceso consistente a los datos

(5)

5

Reliable Storage

(Almacenamiento Confiable)

El Almacenamiento confiable comienza a nivel de hardware, esto no es responsabilidad del DataBase Engine, pero es parte de un buen diseño de la base de datos:

•La base de datos puede colocarse en diferentes IDE o SATA drives

•La mejor manera de asegurar la confiabilidad es manteniendo los datos en RAID arrays.

•El mas común arreglo RAID es capaz de soportar fallas de hardware a nivel de disco, sin perder datos.

(6)

Rapid Data Access

SQL Server permite la creación de índices, habilitando el rápido acceso a datos.

Otra manera de proveer acceso rápido a los datos es

manteniendo accesos a datos frecuentes en memoria, cuando se realiza una consulta, SqlServer Database Engine verifica primero si la información se encuentra en cache. Si no esta, lee la información del disco y la almacena en el storage

cache.

Rapid Data Access

SQL Server permite la creación de índices, habilitando el rápido acceso a datos.

Otra manera de proveer acceso rápido a los datos es

manteniendo accesos a datos frecuentes en memoria, cuando se realiza una consulta, SqlServer Database Engine verifica primero si la información se encuentra en cache. Si no esta, lee la información del disco y la almacena en el storage

(7)

7

Consistent Data Access

La obtención de información rápida y constante no significa que esta deba ser incorrecta, SQL Server contiene un

conjunto de normas y políticas que asegura que los datos que se reciben de una consulta sean consistentes. La idea

general de la consistencia de los datos es permitir solo un cliente a la hora de modificar los datos y prevenir la

consistencia durante la lectura de datos mientras se estan experimentando cambios.

La consistencia de datos y transacciones son mantenidos utilizando transactional locking.

(8)

Access Control

SQL Server controla los accesos brindando seguridad en

múltiples niveles, la seguridad se aplica a los servidores, base de datos, schemas, y niveles objetos. A nivel de acceso al

servidor se aplica la seguridad directa de SQL Server o a través de integrated network security.

(9)

9

Data Integrity

Algunas bases de datos sirven como Front-End de mas de una aplicación, una DB que contiene información

indispensable puede ser objeto de acceso para varios departamentos para cubrir distintas necesidades. En un

ambiente como el descrito, la mejor manera de mantener los datos sanos y utilizables por todos, es hacer cumplir un

conjunto de reglas de integridad de datos, en la propia base de datos.

(10)

SQL Server 2008 Administration and Management

Tools

SQL Server 2008 y SQL Server 2008 R2 proveen un conjunto de herramientas para administrar el SQL Server DataBase

(11)

11

SQL Server Management

Studio (SSMS)

SSMS es la consola central de administración, desde la cual se realizan las tareas de gestión a las bases de datos. Provee una interfaz simple desde la cual pueden ser visualizados y administrados, todos los servidores dentro de la roganización.

(12)
(13)

13

Las siguientes son algunas tareas que se pueden realizar desde SSMS

•Gestionar varios servidores desde una sola interfaz

•Configurar las opciones de servidor y los valores de configuración, tales como la cantidad de memoria y número de procesadores que se utilizarán, el idioma predeterminado y la ubicación por defecto de los datos y los

archivos de registro.

•Administrar inicios de sesión, los usuarios de bases de datos y roles.

•Crear, editar y programar trabajos automatizados a través del Agente SQL Server.

• Copia de seguridad y restaurar bases de datos y definir los planes de mantenimiento.

•Crear nuevas bases de datos. Navegar por contenidos de la tabla

•Crear y administrar objetos de base de datos, como tablas, índices y procedimientos almacenados

(14)

Las siguientes son algunas tareas que se pueden realizar desde SSMS

•Generar scripts DDL para bases de datos y objetos de base de datos.

•Configurar y administrar Replicaciones.

•Crear, editar, ejecutar y depurar Transact-SQL (T-SQL) scripts

•Definir, implementar, administrar e invocar las políticas de SQL Server

•Habilitar y deshabilitar características de SQL Server.

(15)

15

SQL Server Configuration Manager

SQL Server Configuration Manager es una herramienta proveída por SQL Server para la administración de los

servicios asociados a él, y para configurar los protocolos de red usados por SQL Server. Primariamente SQL Server

Configuration Manager, es utilizado para iniciar, pausar, reiniciar y detener los servicios asociados a SQL Server, o para cambiar las propiedades de los mismos.

(16)

SQL Server Agent

El Agente de SQL Server es una herramienta de

calendarización integrada en SSMS que permite la definición y ejecución de scripts calendarizados y trabajos de

mantenimiento. SQL Server Agent que corre al mismo tiempo que el servicio principal de ejecución, este puede ser detenido o reiniciado, cada job en espera de ejecución puede ser

(17)

17

SQL Server Profiler

El SQL Server Profiler es una interface GUI que captura las queries y los resultados provenientes del engine de la base de datos, esto es análogo a un sniffer. El profile puede

capturar y salvar todas las transacciones realizadas desde T-SQL. Esto sirve para realizar el debbuging de consultas

(18)

Replicación

Replicación es una herramienta basada en servidor que se puede utilizar para sincronizar datos entre 2 o mas base de datos, la replicación puede enviar datos desde una instancia de SQL Server a otra, o replicar datos hacía Oracle, o

cualquier otra base de datos vía ODBC o OLEDB, SQL Server soporta 3 tipos de replicación:

•Snapshot replication

•Transactional replication •Merge replication

La disponibilidad y funcionalidad de la replicación puede ser restringida, dependiendo de la edición del producto.

(19)

19

SnapShot Replication

Este tipo de replicación, el servidor toma una foto o snapshot, de los datos en una tabla en un punto en el tiempo.

Usualmente la operación es calendarizada, y cada snapshot reemplaza al anterior, según la configuración. Esta manera de replicación es recomendada para pequeños data sets, su

(20)

Transactional Replication

La replicación transaccional, funciona emitiendo la consulta hecha en el servidor en producción hacia otro de respaldo, esta tipo de replica normalmente puede mantener los datos de las DB sincronizados 5 segundos, dependiendo del tipo de carga y de producción que se posea, será el factor principal para determinar si es viable o no utilizar este tipo de

(21)

21

Merge Replication

Con snapshot y transactional replication solo existe una sola fuente de datos la cual envía a muchas otros target de

respaldo, en algunas otras situaciones podría ser necesario o conveniente permitir replicaciones desde los targets y

fusionar la información posteriormente, la sincronización de esta información puede realizarse segundos después de recibida. Por ejemplo Outlook.

(22)

Inmediate Updating

Este Tipo de replicación es la mas sencilla y se ejecuta al mismo tiempo que se hace la consulta, escribiendo en el target, para hacer eso utiliza un trigger distribuido.

(23)

23

Mas Características

•Full-Text Search

•SQL Server Integration Services (SSIS): Es una plataforma para construir soluciones de alto desempeño de integración de datos y soluciones tipo workflow.

•SQL Server Analysis Services (SSAS): Provee

procesamiento analítico en línea para soluciones Business Inteligence.

•SQL Server Reporting Services (SSRS): es reporteador cliente servidor, que entrega reportes especializados web.

(24)

Storage Area

Network

•Son Redes que se realizan mediante Canales.

•Administran el trafico FC •Provee alto nivel de

conectividad en los canales de comunicación

•Permiten la comunicación entre distintos dispositivos.

(25)
(26)
(27)
(28)
(29)
(30)
(31)
(32)
(33)
(34)
(35)
(36)

36

Ejemplos de Implementación

Se muestra la implementación de SQL Server en el ERP SAP, basada en 3 niveles de servicio

(37)

37

(38)
(39)

39

Administración por Consola

La utilidad sqlcmd le permite escribir instrucciones

Transact-SQL, procedimientos del sistema y archivos de script en el símbolo del sistema, en el Editor de consultas en modo SQLCMD, en un archivo de script de Windows o en un paso de trabajo del sistema operativo (Cmd.exe) de un trabajo del Agente de SQL Server.

(40)

40

Funciones DBCC

El lenguaje de programación Transact-SQL proporciona instrucciones DBCC que actúan como comandos de consola de base de datos en SQL Server.

Las instrucciones de comandos de consola de base de datos se dividen en las siguientes categorías.

Acciones Categoría

Operaciones de validación en una base de datos, tabla, índice, catálogo, grupo de archivos o

asignación de páginas de base de datos.

Validación

Tareas que recopilan y muestran diversos tipos de información

Informativa

Tareas varias como habilitar marcas de seguimiento o quitar una DLL de la memoria.

Varias

Tareas de mantenimiento en las bases de datos, los índices o los grupos de archivos

(41)

41

Funciones DBCC

Los siguientes comandos DBCC operan en una instantánea de la base de datos interna de solo lectura que crea el Motor de base de datos. Así se evitan problemas de bloqueo y

simultaneidad cuando se ejecutan estos comandos.

DBCC CHECKTABLE DBCC CHECKFILEGROUP DBCC CHECKCATALOG DBCC CHECKDB DBCC CHECKALLOC

(42)

Funciones DBCC

Cuando se ejecuta uno de estos comandos DBCC, el Motor de base de datos crea una instantánea de la base de datos y la pone en un estado coherente desde el punto de vista

transaccional. El comando DBCC ejecuta entonces las

comprobaciones de esta instantánea. Una vez completado el comando DBCC, la instantánea se quita.

Algunas veces no es necesaria una instantánea de la base de datos interna o no se puede crear. Cuando esto ocurre, el

comando DBCC se ejecuta de nuevo en la base de datos real. Si la base de datos está en línea, el comando DBCC

utiliza el bloqueo de tabla para asegurar la coherencia de los objetos que está comprobando.

(43)

43

Funciones DBCC

No se crea ninguna instantánea de la base de datos interna al ejecutar un comando DBCC:

•En master y cuando la instancia de SQL Server se está ejecutando en el modo de usuario único.

•En una base de datos distinta de master, pero cuando la base de datos se haya puesto en el modo de usuario único mediante la instrucción

ALTER DATABASE.

•En una base de datos de solo lectura.

•En una base de datos que se ha establecido en modo de emergencia mediante la instrucción ALTER DATABASE.

•En tempdb. En este caso, no se puede crear una instantánea de la base de datos debido a restricciones internas.

•Utilizando la opción WITH TABLOCK. En este caso, DBCC respeta la solicitud no creando ninguna instantánea de la base de datos.

(44)

Los comandos DBCC utilizan bloqueos de tabla en lugar de instantáneas internas de la base de datos cuando el comando se ejecuta en:

•Un grupo de archivos de solo lectura •Un sistema de archivos FAT

•Un volumen que no admite "secuencias con nombre" •Un volumen que no admite "secuencias alternativas"

(45)

45

Funciones DBCC

DBCC CHECKALLOC (Transact-SQL)

Comprueba la coherencia de las estructuras de asignación de espacio en disco de una base de datos determinada.

-- Checa en la base de datos actual: DBCC CHECKALLOC;

GO

-- Ejemplo

DBCC CHECKALLOC (AdventureWorksDW2008R2); GO

(46)

Funciones DBCC

DBCC CHECKCATALOG (Transact-SQL)

Comprueba la coherencia del catálogo en la base de datos especificada. La base de datos debe en línea.

DBCC CHECKCATALOG(AdventureWorksDW2008R2); GO

DBCC CHECKTABLE (Transact-SQL)

Comprueba la integridad de todas las páginas y estructuras que constituyen la tabla o la vista indizada.

USE AdventureWorksDW2008R2; GO

DBCC CHECKTABLE ("DimDate"); GO

(47)

47

Funciones DBCC

DBCC CHECKDB (Transact-SQL)

Comprueba la integridad física y lógica de todos los objetos de la base de datos especificada mediante las siguientes operaciones:

•Ejecuta DBCC CHECKALLOC en la base de datos.

•Ejecuta DBCC CHECKTABLE en todas las tablas y vistas de la base de datos. •Ejecuta DBCC CHECKCATALOG en la base de datos.

•Valida el contenido de cada vista indizada de la base de datos.

•Valida la coherencia de nivel de vínculo entre los metadatos de la tabla y los directorios y archivos del sistema de archivos cuando almacena datos varbinary(max) en el sistema de archivos mediante FILESTREAM.

•Valida los datos de Service Broker en la base de datos.

DBCC CHECKDB (AdventureWorksDW2008R2, NOINDEX); GO

(48)

Funciones DBCC

DBCC FREESESSIONCACHE (Transact-SQL)

Vacía la caché de conexión de las consultas distribuidas utilizada por las consultas distribuidas con una instancia de MicrosoftSQL Server.

USE AdventureWorksDW2008R2; GO

DBCC FREESESSIONCACHE; GO

(49)

49

Funciones DBCC

DBCC SHOW_STATISTICS muestra las estadísticas de optimización de consulta actuales de una tabla o vista indizada. El optimizador de consultas utiliza las estadísticas para estimar la cardinalidad o el número de filas del resultado de la consulta, lo que hace posible que el optimizador de consultas pueda crear un plan de consulta de alta calidad. Por ejemplo, el optimizador de consultas podría utilizar las estimaciones de cardinalidad para elegir el operador index seek en lugar del operador index scan en el plan de consulta, lo que mejoraría el rendimiento de las consultas al evitar el examen de índices con una gran cantidad de recursos.

USE AdventureWorks; GO

DBCC SHOW_STATISTICS ("Person.Address", AK_Address_rowguid) WITH HISTOGRAM; GO

USE AdventureWorks; GO

DBCC SHOW_STATISTICS ("Person.Address", AK_Address_rowguid); GO

(50)

Funciones DBCC

DBCC USEROPTIONS

Devuelve las opciones SET activas (establecidas) para la conexión actual. USE AdventureWorks;

GO

DBCC USEROPTIONS; GO

DBCC SQLPERF

Proporciona estadísticas de uso del espacio del registro de transacciones para todas las bases de datos. También puede utilizarse para reiniciar las estadísticas de esperas y bloqueos temporales.

USE AdventureWorks;

DBCC SQLPERF(LOGSPACE); GO

(51)

51

Funciones DBCC

DBCC HELP

Devuelve información de la sintaxis del comando DBCC especificado.

USE AdventureWorks; DBCC HELP ('?');

(52)

SET (Transact-SQL)

El lenguaje de programación Transact-SQL ofrece varias instrucciones SET que cambian el tratamiento de información específica por parte de la sesión actual. Las instrucciones SET se agrupan en las categorías que figuran en la siguiente tabla.

•Instrucciones de fecha y hora •Instrucciones de bloqueo

•Otras instrucciones

•Instrucciones de ejecución de consultas •Instrucciones de configuración de ISO •Instrucciones de estadísticas

(53)

53

SET (Transact-SQL)

SET DATEFIRST (Transact-SQL) (FECHA Y HORA)

Establece el primer día de la semana en un número del 1 al 7. SET DATEFIRST 7;

SELECT CAST('1999-1-1' AS datetime2) AS FechaSeleccionada ,DATEPART(dw, '1999-1-1') AS DiaDeLaSemana;

Se selecciona el día domingo por default (7) y se muestra el valor de un viernes (la fecha indicada) el resultado es 6.

SET DATEFIRST 3;

Se indica el primer día en 3, dando como resultado el día 3 para la misma fecha. SELECT CAST('1999-1-1' AS datetime2) AS FechaSeleccionada

(54)

SET (Transact-SQL)

SET DATEFORMAT (Transact-SQL) (FECHA Y HORA)

Establece el orden de las partes correspondientes al mes, día y año de una fecha para interpretar las cadenas de caracteres date, smalldatetime, datetime,

datetime2 y datetimeoffset.

SET DATEFORMAT dmy; GO DECLARE @datevar datetime2 = '31/12/2008 09:01:01.1234567'; SELECT @datevar; GO

Selecciona el formato dmy

SET DATEFORMAT dmy; GO DECLARE @datevar datetime2 = '12/31/2008 09:01:01.1234567'; SELECT @datevar; GO

(55)

55

SET (Transact-SQL)

SET LOCK_TIMEOUT (INSTRUCCIONES DE BLOQUEO) Especifica el número de milisegundos que una instrucción espera a que se libere un bloqueo.

SET LOCK_TIMEOUT 1800 GO

En el ejemplo siguiente se establece el período de tiempo de espera de bloqueo en 1800 milisegundos.

(56)

SET (Transact-SQL)

SET LANGUAGE (Transact-SQL) (OTRAS INSTRUCCIONES)

Especifica el entorno de idioma de la sesión. El idioma de la sesión determina los formatos de datetime y los mensajes del sistema.

DECLARE @Today DATETIME SET @Today = '12/5/2007'

SET LANGUAGE Italian

SELECT DATENAME(month, @Today) AS 'Month Name' SET LANGUAGE us_english

SELECT DATENAME(month, @Today) AS 'Month Name' SET LANGUAGE spanish

SELECT DATENAME(month, @Today) AS 'Month Name' GO

(57)

57

SET (Transact-SQL)

SET CONCAT_NULL_YIELDS_NULL (OTRAS INSTRUCCIONES)

Determina si los resultados de la concatenación se tratan como valores NULL o como valores de cadena vacía.

PRINT 'Seteando CONCAT_NULL_YIELDS_NULL ON'; GO

SET CONCAT_NULL_YIELDS_NULL ON; GO

SELECT 'abc' + NULL ; GO

-- SET CONCAT_NULL_YIELDS_NULL OFF SET CONCAT_NULL_YIELDS_NULL OFF; GO

SELECT 'abc' + NULL; GO

(58)

58

SET (Transact-SQL)

SET NOCOUNT (Instrucciones de ejecución de consultas)

Evita que se devuelva el mensaje que muestra el recuento del número de filas afectadas por una instrucción o un procedimiento almacenado de Transact-SQL como parte del conjunto de resultados. USE AdventureWorks;

GO

SET NOCOUNT OFF; GO

-- Muestra el mensaje con el numero de columnas afectadas. SELECT TOP(5)AddressLine1

FROM Person.Address

WHERE AddressLine1 LIKE 'A%'; GO

-- No Muestra el mensaje con el numero de columnas afectadas. SET NOCOUNT ON;

GO

SELECT TOP(5)AddressLine1 FROM Person.Address

(59)

59

SET (Transact-SQL)

SET FMTONLY (Instrucciones de ejecución de consultas)

Devuelve sólo metadatos al cliente. Se puede usar para probar el formato de la respuesta sin ejecutar realmente la consulta.

USE AdventureWorks; GO

SET FMTONLY OFF; GO

SELECT *

FROM Person.Address GO

SET FMTONLY ON; GO

SELECT *

FROM Person.Address GO

(60)

SET (Transact-SQL) SET STATISTICS IO (Estadísticas)

Hace que SQL Server muestre información relacionada con la cantidad de actividad de disco generada por las instrucciones Transact-SQL.

USE AdventureWorks

SET STATISTICS IO ON; -- Cambiar a OFF GO

SELECT TOP 1000 [AddressID] ,[AddressLine1] ,[AddressLine2] ,[City] ,[StateProvinceID] ,[PostalCode] ,[rowguid] ,[ModifiedDate] FROM [AdventureWorks].[Person].[Address]

(61)

61

SET (Transact-SQL) SET STATISTICS TIME (estadísticas)

Muestra el número de milisegundos necesarios para analizar, compilar y ejecutar cada instrucción.

USE AdventureWorks

SET STATISTICS TIME ON; GO

SELECT * from Production.ProductCostHistory where StandardCost < 500.00

GO

SET STATISTICS TIME OFF; GO

(62)

SET (Transact-SQL) SET STATISTICS XML (estadísticas)

Hace que Microsoft SQL Server ejecute instrucciones Transact-SQL y genere información detallada sobre cómo se ejecutaron las instrucciones en un documento XML definido

correctamente.

USE AdventureWorks GO

SET STATISTICS XML ON; GO -- Primera Consulta SELECT * FROM HumanResources.Employee WHERE NationalIDNumber = '509647174'; GO -- Segunda consulta. SELECT * FROM HumanResources.Employee WHERE Title LIKE 'Production%'; GO

SET STATISTICS XML OFF; GO

(63)

63 SET TRANSACTION ISOLATION LEVEL (Transacciones)

Controla el comportamiento del bloqueo y de las versiones de fila de las instrucciones Transact-SQL emitidas por una conexión a SQL Server.

USE AdventureWorks GO

SET TRANSACTION ISOLATION LEVEL REPEATABLE READ; GO BEGIN TRANSACTION; GO SELECT * FROM HumanResources.EmployeePayHistory; GO SELECT * FROM HumanResources.Department; GO COMMIT TRANSACTION; GO SET (Transact-SQL)

(64)

64

Procedimientos Almacenados Del Sistema En SQL Server, muchas actividades administrativas e

informativas se pueden realizar mediante los procedimientos almacenados del sistema. Los procedimientos almacenados del sistema se agrupan en las categorías que aparecen a continuación:

Procedimientos almacenados de Active Directory Se utilizan para registrar instancias de SQL Server y bases de datos de SQL Server en Active Directory de Microsoft Windows 2000. Procedimientos almacenados del catálogo Se utilizan para implementar las funciones del diccionario de datos ODBC y aislar las aplicaciones ODBC de los cambios en las tablas subyacentes del sistema.

(65)

65

Procedimientos Almacenados Del Sistema En SQL Server, muchas actividades administrativas e

informativas se pueden realizar mediante los procedimientos almacenados del sistema. Los procedimientos almacenados del sistema se agrupan en las categorías que aparecen a continuación:

Procedimientos almacenados de Active Directory Se utilizan para registrar instancias de SQL Server y bases de datos de SQL Server en Active Directory de Microsoft Windows 2000. Procedimientos almacenados del catálogo Se utilizan para implementar las funciones del diccionario de datos ODBC y aislar las aplicaciones ODBC de los cambios en las tablas subyacentes del sistema.

(66)

66

Procedimientos Almacenados Del Sistema

Procedimientos almacenados de cursor Se utilizan para implementar la funcionalidad de variable de cursor.

Procedimientos almacenados del motor de base de datos Se utilizan para el

mantenimiento general del SQL Server Database Engine (Motor de base de datos de SQL Server).

Procedimientos almacenados de Correo electrónico de base de datos y SQL Mail

Se utilizan para realizar operaciones de correo electrónico desde una instancia de SQL Server.

Procedimientos almacenados de planes de mantenimiento de bases de datos Se utilizan para configurar las tareas de mantenimiento fundamentales necesarias para administrar el rendimiento de las bases de datos.

Procedimientos almacenados de consultas distribuidas Se utilizan para implementar y administrar consultas distribuidas.

Procedimientos almacenados de la búsqueda de texto completo Se utilizan para implementar y consultar índices de texto completo.

Procedimientos almacenados del trasvase de registros Se utilizan para establecer, modificar y supervisar las configuraciones de trasvase de registros.

Procedimientos almacenados de automatización Permiten habilitar el uso de objetos de automatización estándar en un lote estándar de Transact-SQL.

(67)

67

Procedimientos Almacenados Del Sistema

Procedimientos almacenados de administración basada en directivas Se usan para la administración basada en directivas.

Procedimientos almacenados de replicación Se utilizan para administrar la replicación.

Procedimientos almacenados de seguridad Se utilizan para administrar la seguridad.

Procedimientos almacenados de SQL Server Profiler Lo utiliza SQL Server Profiler para supervisar el rendimiento y la actividad.

Procedimientos almacenados del Agente SQL Server Los utiliza el Agente SQL Server para administrar actividades programadas y controladas por eventos.

Procedimientos almacenados de XML Se utilizan para la administración del texto XML.

Procedimientos almacenados extendidos generales Proporcionan una interfaz de una instancia de SQL Server a los programas externos para diversas actividades de mantenimiento.

(68)

Procedimientos Almacenados Del Catalogo

sp_column_privileges

Devuelve información acerca de los privilegios de columna de una tabla del entorno actual. USE AdventureWorks;

GO

EXEC sp_column_privileges @table_name = 'Employee' ,@table_owner = 'HumanResources'

,@table_qualifier = 'AdventureWorks' ,@column_name = 'SalariedFlag';.

sp_databases

Enumera las bases de datos que residen en una instancia del SQL Server 2005 Database Engine (Motor de base de datos de SQL Server 2005) o que están accesibles a través de una puerta de enlace de la base de datos.

USE master; GO

(69)

69

Procedimientos Almacenados Del Catalogo

sp_table_privileges

Devuelve una lista de permisos de tabla (como INSERT, DELETE, UPDATE, SELECT o REFERENCES) para la tabla o las tablas especificadas.

USE AdventureWorks; GO

EXEC sp_table_privileges @table_name = 'Contact%';

sp_stored_procedures

Devuelve una lista de los procedimientos almacenados del entorno actual. USE AdventureWorks;

GO

(70)

Procedimientos Almacenados Del Motor de DB

sp_datatype_info

Devuelve información acerca de los tipos de datos que admite el entorno actual. USE master;

GO

EXEC sp_datatype_info; GO

sp_clean_db_free_space

Quita la información residual que queda en las páginas de base de datos a causa de las rutinas de modificación de datos en SQL Server. sp_clean_db_free_space limpia todas las páginas de todos los archivos de la base de datos.

USE master GO

EXEC sp_clean_db_free_space @dbname = N'AdventureWorks' ;

(71)

71

Procedimientos Almacenados Del Motor De DB

sp_configure

Muestra o cambia las opciones de configuración global del servidor actual.

En este ejemplo se muestra cómo establecer y enumerar todas las opciones de configuración. Para ver las opciones de configuración avanzadas, primero hay que

establecer en 1 el valor de show advanced option. A continuación, si se ejecuta sp_configure sin parámetros, se mostrarán todas las opciones de configuración.

USE master; GO EXEC sp_configure 'show advanced option', '1';

Este es el mensaje: "Se ha cambiado la opción de configuración 'show advanced options' de 0 a 1. Ejecute la instrucción RECONFIGURE para instalar".

ejecutamos RECONFIGURE y se muestran todas las opciones de configuración: RECONFIGURE;

(72)

72

sp_who

Proporciona información acerca de los usuarios, sesiones y procesos actuales en una instancia de SQL Server Database Engine (Motor de base de datos de SQL Server) de Microsoft. La información se puede filtrar para obtener sólo los procesos que están activos, que pertenecen a un usuario específico o que pertenecen a una sesión específica.

Mostrar la lista de todos los procesos actuales

En el ejemplo siguiente se utiliza sp_who sin parámetros para informar de todos los usuarios actuales. USE master;

GO EXEC sp_who; GO

Mostrar un proceso de un usuario específico

En el ejemplo siguiente se muestra cómo ver información acerca de un usuario actual a partir de su nombre de inicio de sesión.

USE master; GO

EXEC

sp_who ‘ejemplo'; --EXEC sp_who 'active'; Todos los procesos activos

(73)

73

Procedimientos Almacenados Del Sistema

Ejercicio

Utilizando procedimientos almacenados, realizar una copia de la base de datos AdventureWorks,

(74)

74

Procedimientos Almacenados Del Sistema

Solución

use master GO

EXEC sp_addumpdevice 'disk', 'dispositivo', 'C:\Program Files\Microsoft SQL

Server\MSSQL10_50.MSSQLSERVER2\MSSQL\DATA\dispo sitivo.bak'

GO

BACKUP DATABASE AdventureWorks TO dispositivo

WITH FORMAT; GO

Referencias

Documento similar

• Las suscripciones a plataformas de contenidos audiovisuales OTT (que incluyen Amazon Prime Video, Netflix, HBO y Disney+) alcanzaron los 18,9 millones de abonados..

Industrial concentrado Industrial disperso Agrícola-Secano Agrícola-Regadío Otros usos rurales Forestal. Infraestructuras: carreteras Infraestructuras: ferrocarriles

La vida real, no obstante, proporciona la certidumbre de que, en multitud de ocasiones, el interés de cada uno se satisface con el concurso propio y de otro u otros portadores

ELABORACIÓN DE LOS MAPAS DE PELIGROSIDAD Y RIESGO REQUERIDOS POR EL R.D...

Las microalgas representan un importante soporte trófico para la acuicultura, tanto cualitativa como cuantitavamente, en diversos aspectos y especies objeto de cultivo.. Factores

La combinación, de acuerdo con el SEG, de ambos estudios, validez y fiabilidad (esto es, el estudio de los criterios de realidad en la declaración), verificada la

Gastos derivados de la recaudación de los derechos económicos de la entidad local o de sus organis- mos autónomos cuando aquélla se efectúe por otras enti- dades locales o

Es este el camino que, sin ninguna duda, tienen que tomar otras leyes de nuestro ordenamiento para ofrecer la posibilidad de almacenamiento, tratamiento y transmisión informática