none
Permisos de usuarios de Base de datos RRS feed

  • Pregunta

  • Hola tengo una duda o confusión, espero me puedan ayudar, tengo un codigo por el cual mediante SMO

    creo una base de datos

    un Login

    Un Usuario

    y asigno dos roles de usuario  (lectura y escritura)

    pero creo que estoy haciendo algo mal, primero muestro el codigo y luego la confusión que tengo.

     

     

    ServerConnection serverConnection = new ServerConnection(cnn);

     

     

    Server server = new Server(serverConnection);

     

     

    Database NewDB = new Database(server, NuevaBase);

    NewDB.Create();

     

     

    Login login = new Login(server, loginName);

    login.LoginType =

     

    LoginType.SqlLogin;

    login.Create(password);

     

     

     

    User user = new User(server.Databases[NuevaBase], userName);

     

    user.Login = login.Name;

     

     

    //user.AddToRole("db_datawriter");

     

     

    //user.AddToRole("db_datareader");

    user.Create();

    NewDB.Roles[

     

    "db_datawriter"].AddMember(user.Name);

    NewDB.Roles[

     

    "db_datareader"].AddMember(user.Name);

     

    serverConnection.Disconnect();

    El codigo hace lo que quería que hiciera, jejeje aqui la confusión, para comprobar acceso al Microsoft SQL Server Management Studio, con el nuevo Login y con el nuevo Password  y acceso sin problemas pero ...................

    1.- Puedo mirar todas las bases de datos y no accesar a ellas pero : ¿ Hay forma de que ni siquiera las vea, que el usuario no tenga posibilidad de saber que bases existen en la instancia?

    2.-  La más importante  : Las Bases de sistema no estan bloqueadas sólo   model

         pero    master, msdb y tempdb  se pueden consultar y ver todo lo que contienen, no entiendo porque y como lo bloqueo.

         Ayuda por favor y de antemano gracias.

     

    lunes, 16 de agosto de 2010 23:45

Respuestas