Permisos en vistas

09/06/2006 - 09:58 por mooonk | Informe spam
Hola , tengo un problemilla con una base de datos SQL Server , os
cuento.

Tengo una base de datos para mi aplicación , en dicha aplicacion
existe la opcion de generar empresas nuevas . Cuando genero una empresa
nueva , lo que hago es ejecutar un script de base de datos que me crea
otra base de datos exactamente igual , menos una tabla.

Esa tabla está en la base de datos "Inicial" y lo que creo en la
"Secundaria" es una vista a dicha tabla,pues necesito poder leerla.

El problema viene porque si creo un usuario en la base de datos
"Secundaria" e intento hacer un select de la vista que he creado , no
puedo ya que me indica este error:

Servidor: mensaje 916, nivel 14, estado 1, procedimiento <<tabla>> ,
línea 3
El usuario de servidor 'usuario' no es válido en la base de datos
'Secundaria'

Le he puesto a la tabla original permisos totales en public , pero
sigue sin funcionar . Supongo que el error viene porque no puedo darle
permisos sobre un usuario que nisiquiera es de esa base de datos. Me
gustaria saber si es posible solucionarlo, ya que de no ser asi , seria
un traspies importante en mi aplicacion.

GRacias
 

Leer las respuestas

#1 Carlos Sacristán
09/06/2006 - 11:49 | Informe spam
Es que el nuevo usuario que creas en la base de datos 'Secundaria' tiene
que estar también en la base de datos 'Primaria' y además asignarle los
permisos a esa tabla de forma explícita.

De todos modos, no sé hasta qué punto tiene sentido que desde una
aplicación cliente se pueda generar tareas de administración como es crear
bases de datos, crear usuarios, asignar permisos... Desde mi punto de vista
este concepto es erróneo; yo intentaría hacerlo todo desde una única base de
datos y si lo que necesitas es distinguir las diferentes empresas puedes
usar, por ejemplo, los esquemas


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"mooonk" escribió en el mensaje
news:
Hola , tengo un problemilla con una base de datos SQL Server , os
cuento.

Tengo una base de datos para mi aplicación , en dicha aplicacion
existe la opcion de generar empresas nuevas . Cuando genero una empresa
nueva , lo que hago es ejecutar un script de base de datos que me crea
otra base de datos exactamente igual , menos una tabla.

Esa tabla está en la base de datos "Inicial" y lo que creo en la
"Secundaria" es una vista a dicha tabla,pues necesito poder leerla.

El problema viene porque si creo un usuario en la base de datos
"Secundaria" e intento hacer un select de la vista que he creado , no
puedo ya que me indica este error:

Servidor: mensaje 916, nivel 14, estado 1, procedimiento <<tabla>> ,
línea 3
El usuario de servidor 'usuario' no es válido en la base de datos
'Secundaria'

Le he puesto a la tabla original permisos totales en public , pero
sigue sin funcionar . Supongo que el error viene porque no puedo darle
permisos sobre un usuario que nisiquiera es de esa base de datos. Me
gustaria saber si es posible solucionarlo, ya que de no ser asi , seria
un traspies importante en mi aplicacion.

GRacias

Preguntas similares