Inicio > Curso básico de SQL Server 2008 > Sinonimos – Sql Server 2008

Sinonimos – Sql Server 2008


Los sinónimos hacen referencia a los objetos de una base de datos de  manera más entendible, clara, o simplemente para abreviar los nombres de tal manera que nos faciliten su uso en nuestras Consultas.
Los sinónimos se pueden aplicar a los siguientes Objetos de BD:

• Procedimiento almacenado del ensamblado (CLR).
• Función con valores de tabla del ensamblado (CLR).
• Función escalar del ensamblado (CLR).
• Funciones de agregado del ensamblado (CLR).
• Procedimiento de filtro de replicación.
• Procedimiento almacenado extendido.
• Función escalar de SQL.
• Función SQL con valores de tabla.
• Función SQL con valores de tabla insertados.
• Procedimiento almacenado de SQL.
• Vista.
• Tabla1 (definida por el usuario)  se incluyen tablas temporales locales y globales

USE Pruebas
GO

— Creamos una nueva tabla
CREATE TABLE dbo.Clientes (Id_Cliente INT IDENTITY, Nombre VARCHAR(80))
GO

INSERT INTO dbo.Clientes VALUES(‘JUAN AVILA’)
INSERT INTO dbo.Clientes VALUES(‘ALDO LADERAS’)
INSERT INTO dbo.Clientes VALUES(‘VICTOR MORENO’)

— Creamos un sinonimo de la tabla clientes
CREATE SYNONYM ClientesSynonym FOR dbo.Clientes
GO

— Probamos el SYNONYM (ClientesSynonym)
SELECT * FROM dbo.ClientesSynonym

— Borramos el SYNONYM (ClientesSynonym)
DROP SYNONYM ClientesSynonym

——————————————————————————————–
— Seguridad y sinonimos
— Creamos un nuevo login y usuario
——————————————————————————————–
— Eliminamos el usuario y login
DROP USER Ricardo
DROP LOGIN Ricardo

— Creamos el usuario y login
CREATE LOGIN Ricardo WITH PASSWORD = ‘Zorro’ 
GO
CREATE USER
Ricardo FOR LOGIN ricardo WITH DEFAULT_SCHEMA=dbo

— Creamos un nuevo sinonimo
CREATE SYNONYM ClientesSynonym FOR dbo.Clientes
GO

— Le damos permisos a Ricardo sobre el sinonimo
GRANT SELECT,INSERT,UPDATE,DELETE ON ClientesSynonym TO Ricardo
 
— Nos conectamos como Ricardo
EXECUTE AS LOGIN=’Ricardo’
SELECT SUSER_SNAME()
 
— Probammos usar el sinonimo que tiene permisos
SELECT * FROM ClientesSynonym
 
— Si ententaramos usar otros objetos no tendriamos permiso
— por ejemplo si tubieramos la tabla Personas saldria el mensaje
— Se denegó el permiso SELECT en el objeto ‘Personas’, base de datos ‘Pruebas’, esquema ‘dbo’.
SELECT * FROM dbo.Personas
 
— Revertimos el usuario
REVERT

— Limpiamos lo generado
DROP SYNONYM ClientesSynonym
DROP USER Ricardo
DROP LOGIN Ricardo

  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: