josealopezpastor@gmail.com
649.74.94.18
Clase 3ª
1. Creación de una base de datos
2. Usuarios
1. Roles de usuarios
2. Sche...
josealopezpastor@gmail.com
649.74.94.18
Podemos crear una BBDD desde el asistente Recordar
que tenemos un asistente para ...
josealopezpastor@gmail.com
649.74.94.18
Repasemos los campos del asistente:
-El nombre de la BBDD
-El propietario de la BB...
josealopezpastor@gmail.com
649.74.94.18
Solamente un archivo de datos principal (*.mdf). Estos
archivos contienen la infor...
josealopezpastor@gmail.com
649.74.94.18
Podemos hacer que nuestros datos estén en más de un
archivo (*.ndf). Algunas bases...
josealopezpastor@gmail.com
649.74.94.18
Podemos indicar el tamaño de nuestro archivo de log
(*.ldf). Estos archivos contie...
josealopezpastor@gmail.com
649.74.94.18
Lo habitual en BBDD pequeñas y medianas es un
fichero de datos y un fichero de Log...
josealopezpastor@gmail.com
649.74.94.18
Siguiendo con el ejemplo de librería.
-Puedo asignar la tabla Libros a un fichero
...
josealopezpastor@gmail.com
649.74.94.18
Al insertar filas sobre una tabla ubicada sobre un Grupo
de Ficheros con múltiples...
josealopezpastor@gmail.com
649.74.94.18
Como se crea un grupo de archivos??
-Cuando creamos una tabla le asignamos un grup...
josealopezpastor@gmail.com
649.74.94.18
Recomendaciones de Microsoft:
•La mayor parte de las bases de datos funcionarán co...
josealopezpastor@gmail.com
649.74.94.18
Recomendaciones de Microsoft:
Distribuya en grupos de archivos distintos las tabl...
josealopezpastor@gmail.com
649.74.94.18
Ya tenemos creada nuestra BBDD creada
Veremos que se han creado unas tablas, vista...
josealopezpastor@gmail.com
649.74.94.18
El propietario es el creador de la BBDD
Es posible que necesitemos que otras perso...
josealopezpastor@gmail.com
649.74.94.18
Cuando hacemos click en Seguridad-Usuarios-Nuevo
Usuario vemos que tenemos selecci...
josealopezpastor@gmail.com
649.74.94.18
Solamente podré seleccionar usuarios que han sido
previamente introducidos en la c...
josealopezpastor@gmail.com
649.74.94.18
Si seleccionamos en el desplegable del tipo de usuario
un Usuario de Windows, podr...
josealopezpastor@gmail.com
649.74.94.18
Vamos a ver las diferencias entre SCHEMA y ROL.
ROL a nivel base de datos.
Para ad...
josealopezpastor@gmail.com
649.74.94.18
ROL a nivel base de datos.
Existen dos tipos de roles de nivel de base de datos en...
josealopezpastor@gmail.com
649.74.94.18
ROL a nivel base de datos.
Roles fijos:
db_owner Pueden realizar todas las activid...
josealopezpastor@gmail.com
649.74.94.18
ROL a nivel base de datos.
Como personalizar roles y crearse los que deseemos.
Usu...
josealopezpastor@gmail.com
649.74.94.18
SCHEMA.
Antes de SQL Server 2005. Cualquier objeto tiene que
tener un Owner. Ya se...
josealopezpastor@gmail.com
649.74.94.18
SCHEMA. Se tiene que entender como un contenedor de
recursos.
Habitualmente en dis...
josealopezpastor@gmail.com
649.74.94.18
SCHEMA.
Cuando creamos una base de datos se crean los
Schemas por defecto.
Para ve...
josealopezpastor@gmail.com
649.74.94.18
SCHEMA.
Para cambiar la pertenencia de una tabla
a un schema determinado
ALTER SCH...
josealopezpastor@gmail.com
649.74.94.18
Ahora, si continuamos con la creación de los usuarios,
podemos decirle que pertene...
josealopezpastor@gmail.com
649.74.94.18
Cuando se crea una BBDD se crean ciertas
dependencias del servidor/instancia: cuen...
josealopezpastor@gmail.com
649.74.94.18
Para poder usarlas tenemos que habilitarlas.
Por defecto se encuentran a false.
Pa...
josealopezpastor@gmail.com
649.74.94.18
Ahora, si intentamos crear una base de datos mediante el
asistente vemos en Opcion...
josealopezpastor@gmail.com
649.74.94.18
En mi caso, al crear una base de datos de este tipo me
salta un error.
sp_configur...
josealopezpastor@gmail.com
649.74.94.18
Lo habitual ahora es crear los usuarios del tipo Usuario
SQL con contraseña dado q...
josealopezpastor@gmail.com
649.74.94.18
Se puede importar una BBDD desde los archivos mdf.
Botón derecho en Bases de Datos...
Próxima SlideShare
Cargando en…5
×

Curso sql server 2012 clase 3

3.936 visualizaciones

Publicado el

Clase 3 del curso SQL Server 2012. Nos centramos en la creación de BBDD y en la gestión de usuario

Publicado en: Datos y análisis
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
3.936
En SlideShare
0
De insertados
0
Número de insertados
2.542
Acciones
Compartido
0
Descargas
44
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.
  • https://msdn.microsoft.com/es-es/library/ms189563(v=sql.110).aspx
    http://blog.mclaughlinsoftware.com/2012/09/16/setup-sql-server-schema/
    http://blog.sqlauthority.com/2009/09/07/sql-server-importance-of-database-schemas-in-sql-server/
    http://www.guillesql.es/Articulos/SQLServerFAQ_Propietario_Esquema_Owner.aspx
  • https://msdn.microsoft.com/es-es/library/ms189563(v=sql.110).aspx
    http://blog.mclaughlinsoftware.com/2012/09/16/setup-sql-server-schema/
    http://blog.sqlauthority.com/2009/09/07/sql-server-importance-of-database-schemas-in-sql-server/
    http://www.guillesql.es/Articulos/SQLServerFAQ_Propietario_Esquema_Owner.aspx
  • https://msdn.microsoft.com/es-es/library/ms189563(v=sql.110).aspx
    http://blog.mclaughlinsoftware.com/2012/09/16/setup-sql-server-schema/
    http://blog.sqlauthority.com/2009/09/07/sql-server-importance-of-database-schemas-in-sql-server/
    http://www.guillesql.es/Articulos/SQLServerFAQ_Propietario_Esquema_Owner.aspx
  • http://www.sqlteam.com/article/understanding-the-difference-between-owners-and-schemas-in-sql-server
  • http://www.sqlteam.com/article/understanding-the-difference-between-owners-and-schemas-in-sql-server
  • http://www.sqlteam.com/article/understanding-the-difference-between-owners-and-schemas-in-sql-server
  • http://www.sqlteam.com/article/understanding-the-difference-between-owners-and-schemas-in-sql-server
  • http://
  • Curso sql server 2012 clase 3

    1. 1. josealopezpastor@gmail.com 649.74.94.18 Clase 3ª 1. Creación de una base de datos 2. Usuarios 1. Roles de usuarios 2. Schemas 3. Bases de datos independientes 4. Importar BBDD desde ficheros
    2. 2. josealopezpastor@gmail.com 649.74.94.18 Podemos crear una BBDD desde el asistente Recordar que tenemos un asistente para todo O podemos crearla mediante una instrucción SQL. Vamos a comenzar por el asistente. Hacemos click con el botón derecho en Bases de Datos – Nueva base de datos Creación de una base de datos
    3. 3. josealopezpastor@gmail.com 649.74.94.18 Repasemos los campos del asistente: -El nombre de la BBDD -El propietario de la BBDD. El usuario que crea la base de datos se convierte en su propietario. -Pueden crearse hasta 32.767 bases de datos en una instancia de SQL Server. -Archivos: vemos que inicialmente especifica 2 por defecto. -Podemos cambiar la ruta de los archivos -Podemos cambiar el nombre de los archivos -Podemos limitar el tamaño de los archivos y hacer que no crezcan más de un tamaño Creación de una base de datos
    4. 4. josealopezpastor@gmail.com 649.74.94.18 Solamente un archivo de datos principal (*.mdf). Estos archivos contienen la información de inicio de la base de datos. Se utilizan también para almacenar datos Cada archivo es utilizado por una base de datos. No podemos tener varias BBDD en el mismo archivo Creación de una base de datos
    5. 5. josealopezpastor@gmail.com 649.74.94.18 Podemos hacer que nuestros datos estén en más de un archivo (*.ndf). Algunas bases de datos pueden ser muy grandes y necesitar varios archivos de datos secundarios o utilizar archivos secundarios en unidades de disco distintas, de modo que los datos estén distribuidos en varios discos. Creación de una base de datos
    6. 6. josealopezpastor@gmail.com 649.74.94.18 Podemos indicar el tamaño de nuestro archivo de log (*.ldf). Estos archivos contienen la información de registro que se utiliza para recuperar la base de datos. Cada base de datos debe tener al menos un archivo de registro de transacciones, aunque puede tener más de uno. Creación de una base de datos
    7. 7. josealopezpastor@gmail.com 649.74.94.18 Lo habitual en BBDD pequeñas y medianas es un fichero de datos y un fichero de Log. El tamaño del fichero del Log depende del espacio que tengamos. Pero se pueden separar los datos en más de un fichero con lo que se aumentará el rendimiento. Esto se hace empleando archivos secundarios Cuando se crea la tabla se especifican los archivos secundarios en los que queremos se almacenen los datos Si se quiere aumentar el rendimiento se puede emplear una unidad de disco distinta para cada archivo secundario Creación de una base de datos
    8. 8. josealopezpastor@gmail.com 649.74.94.18 Siguiendo con el ejemplo de librería. -Puedo asignar la tabla Libros a un fichero -La tabla Editoriales a otro -La tabla Librerías a otro -Y la tabla pedidos a otro distinto De este modo tengo en varios ficheros cada una de las tablas Pero lo interesante son los grupos de ficheros…. Creación de una base de datos
    9. 9. josealopezpastor@gmail.com 649.74.94.18 Al insertar filas sobre una tabla ubicada sobre un Grupo de Ficheros con múltiples Ficheros, las filas se van repartiendo entre los distintos Ficheros proporcionalmente al espacio libre existente en cada uno de estos. Los grupos de archivos utilizan una estrategia de relleno proporcional entre todos los archivos de cada grupo de archivos. A medida que se escriben datos en el grupo de archivos, SQL Server Database Engine (Motor de base de datos de SQL Server) escribe una cantidad proporcional al espacio disponible del archivo en cada archivo del grupo, en lugar de escribir todos los datos en el primer archivo hasta que esté completo. Creación de una base de datos
    10. 10. josealopezpastor@gmail.com 649.74.94.18 Como se crea un grupo de archivos?? -Cuando creamos una tabla le asignamos un grupo de archivos, no solo un archivo secundario -Si cada uno de los archivos del grupo lo metemos en tantos sistemas de archivos distintos como CPU tenemos, estamos optimizando la velocidad de escritura/lectura de los datos. Creación de una base de datos
    11. 11. josealopezpastor@gmail.com 649.74.94.18 Recomendaciones de Microsoft: •La mayor parte de las bases de datos funcionarán correctamente con un solo archivo de datos y un solo archivo de registro de transacciones. •Para maximizar el rendimiento, cree archivos o grupos de archivos en tantos discos físicos disponibles como sea posible y distribuya en grupos de archivos distintos los objetos que compitan de forma intensa por el espacio. •Utilice grupos de archivos para permitir la colocación de los objetos en determinados discos físicos. •Disponga en grupos de archivos distintos las diferentes tablas que se utilicen en las mismas consultas de combinación. De ese modo, el rendimiento mejorará debido a la búsqueda de datos combinados que realizan las operaciones de E/S en paralelo en los discos. Creación de una base de datos
    12. 12. josealopezpastor@gmail.com 649.74.94.18 Recomendaciones de Microsoft: Distribuya en grupos de archivos distintos las tablas de acceso frecuente y los índices no agrupados que pertenezcan a esas tablas. De ese modo, el rendimiento aumentará debido a las operaciones de E/S en paralelo que se realizan si los archivos se encuentran en discos físicos distintos. No coloque el archivo o archivos de registro de transacciones en el mismo disco físico con los demás archivos y grupos de archivos Documentación adicional:  https://msdn.microsoft.com/es-es/library/ms189563(v=sql.110).aspx  http://blog.mclaughlinsoftware.com/2012/09/16/setup-sql-server-schema/  http://blog.sqlauthority.com/2009/09/07/sql-server-importance-of-database- schemas-in-sql-server/  http://www.guillesql.es/Articulos/SQLServerFAQ_Propietario_Esquema_Owne r.asp Creación de una base de datos
    13. 13. josealopezpastor@gmail.com 649.74.94.18 Ya tenemos creada nuestra BBDD creada Veremos que se han creado unas tablas, vistas y procedimientos almacenados que se han creado por defecto. Orden de intercalación por defecto Funciones de seguridad, usuarios, también por defecto. Entre estos usuarios el propietario o dbo (data base owner). Es el creador de la BBDD Creación de una base de datos
    14. 14. josealopezpastor@gmail.com 649.74.94.18 El propietario es el creador de la BBDD Es posible que necesitemos que otras personas accedan Podemos ver los usuarios que tienen permisos sobre una base de datos en Seguridad - Usuarios Usuarios
    15. 15. josealopezpastor@gmail.com 649.74.94.18 Cuando hacemos click en Seguridad-Usuarios-Nuevo Usuario vemos que tenemos seleccionado por defecto Usuario SQL con inicio de sesión Usuarios
    16. 16. josealopezpastor@gmail.com 649.74.94.18 Solamente podré seleccionar usuarios que han sido previamente introducidos en la carpeta de inicios de sesión de SQL Server Management Studio. Se puede ver fácilmente su funcionamiento introduciendo un usuario en la carpeta de inicio de sesión y veremos como está disponible para seleccionarlo mientras que si extraemos el usuario de la carpeta de inicio de sesión, éste no está disponible para agregarle permisos a la BBDD. Pensar además en los grupos de usuarios de Active Directory, tanto para este caso como para el siguiente. Usuarios
    17. 17. josealopezpastor@gmail.com 649.74.94.18 Si seleccionamos en el desplegable del tipo de usuario un Usuario de Windows, podremos seleccionar entonces a todos los usuarios del dominio pero tendremos que vincularlo a un usuario con privilegios de inicio de sesión. Usuarios
    18. 18. josealopezpastor@gmail.com 649.74.94.18 Vamos a ver las diferencias entre SCHEMA y ROL. ROL a nivel base de datos. Para administrar con facilidad los permisos en las bases de datos, SQL Server proporciona varios roles, que son las entidades de seguridad que agrupan a otras entidades de seguridad. Son como los grupos del sistema operativo Microsoft Windows (Active Directory). Los roles de nivel de base de datos se aplican a toda la base de datos en lo que respecta a su ámbito de permisos.  https://msdn.microsoft.com/es-es/library/ms189121(v=sql.110).aspx Usuarios
    19. 19. josealopezpastor@gmail.com 649.74.94.18 ROL a nivel base de datos. Existen dos tipos de roles de nivel de base de datos en SQL Server: los roles fijos de base de datos, que están predefinidos en la base de datos, y los roles flexibles de base de datos, que pueden crearse. Los roles fijos de base de datos se definen en el nivel de base de datos y existen en cada una de ellas. Los miembros de los roles de base de datos db_owner y db_securityadmin pueden administrar la pertenencia a roles fijos de base de datos. Sin embargo, solo los miembros del rol de base de datos db_owner pueden agregar miembros al rol fijo de base de datos db_owner. Usuarios
    20. 20. josealopezpastor@gmail.com 649.74.94.18 ROL a nivel base de datos. Roles fijos: db_owner Pueden realizar todas las actividades de configuración y mantenimiento en la base de datos y también pueden eliminar la base de datos. db_securityadmin Modificar la pertenencia a roles y administrar permisos. Si se agregan entidades de seguridad a este rol, podría habilitarse un aumento de privilegios no deseado. db_accessadmin Agregar o quitar el acceso a la base de datos para inicios de sesión de Windows, grupos de Windows e inicios de sesión de SQL Server. db_backupoperator Pueden crear copias de seguridad de la base de datos. db_ddladmin Ejecutar cualquier comando del lenguaje de definición de datos (DDL) en una base de datos. db_datawriter Agregar, eliminar o cambiar datos en todas las tablas de usuario. db_datareader Leer todos los datos de todas las tablas de usuario. db_denydatawriter NO pueden agregar, modificar ni eliminar datos de tablas de usuario de una base de datos. db_denydatareader NO pueden leer datos de las tablas de usuario dentro de una base de datos. Usuarios
    21. 21. josealopezpastor@gmail.com 649.74.94.18 ROL a nivel base de datos. Como personalizar roles y crearse los que deseemos. Usuarios
    22. 22. josealopezpastor@gmail.com 649.74.94.18 SCHEMA. Antes de SQL Server 2005. Cualquier objeto tiene que tener un Owner. Ya sea una tabla, procedimiento almacenado, vista, etc. Hemos visto antes en la creación de una tabla que el creador de una tabla pasa a ser el owner de la tabla. Por ello que se suelen escribir las tablas dbo.Nombre Que pasa si alguien que ha creado elementos abandona la compañía y por lo tanto se tiene que borrar su cuenta de usuario??  Se tienen que pasar los owners  http://www.sqlteam.com/article/understanding-the-difference-between-owners-and-sc Usuarios
    23. 23. josealopezpastor@gmail.com 649.74.94.18 SCHEMA. Se tiene que entender como un contenedor de recursos. Habitualmente en diseño se crean las tablas con el nombre del departamento la funcionalidad que tienen. Puede parecer lo mismo que el dbo Pero no! Cada esquema tiene un owner pero no está asociado a un nombre. Por lo tanto si se tiene que borrar la cuenta que es owner de un esquema, ahora es posible sin tener que realizar operaciones adicionales. Por otro lado, sino queremos una gestión de este tipo, siempre tenemos el esquema dbo Usuarios
    24. 24. josealopezpastor@gmail.com 649.74.94.18 SCHEMA. Cuando creamos una base de datos se crean los Schemas por defecto. Para ver o modificar Schemas Usuarios
    25. 25. josealopezpastor@gmail.com 649.74.94.18 SCHEMA. Para cambiar la pertenencia de una tabla a un schema determinado ALTER SCHEMA schema_destino TRANSFER dbo.nombre_tabla Para cambiar el schema al que pertenece la tabla desde el asistente tenemos que usar la ventana propiedades: Usuarios
    26. 26. josealopezpastor@gmail.com 649.74.94.18 Ahora, si continuamos con la creación de los usuarios, podemos decirle que pertenecen a un schema o a un rol que determinemos. Usuarios
    27. 27. josealopezpastor@gmail.com 649.74.94.18 Cuando se crea una BBDD se crean ciertas dependencias del servidor/instancia: cuentas de usuario, configuración de intercalación, etc. Conlleva ciertas dificultades a la hora trasladar una base de datos. Por ejemplo de desarrollo a producción. NOVEDAD en SQL Server 2012  Base de datos independientes En la práctica tenemos BBDD parcialmente independientes, cuya estructura, configuración y usuarios se almacenan en la propia BBDD y no en bases de datos maestros o archivos de configuración del servidor. Bases de datos independientes
    28. 28. josealopezpastor@gmail.com 649.74.94.18 Para poder usarlas tenemos que habilitarlas. Por defecto se encuentran a false. Para ello botón derecho en la instanciaPropiedadesAvanzado Bases de datos independientes
    29. 29. josealopezpastor@gmail.com 649.74.94.18 Ahora, si intentamos crear una base de datos mediante el asistente vemos en Opciones – Tipo de contención la posibilidad de cambiar. Bases de datos independientes
    30. 30. josealopezpastor@gmail.com 649.74.94.18 En mi caso, al crear una base de datos de este tipo me salta un error. sp_configure 'contained database authentication', 1; GO RECONFIGURE; GO Se ha cambiado la opción de configuración 'contained database authentication' de 0 a 1. Ejecute la instrucción RECONFIGURE para instalar. Bases de datos independientes
    31. 31. josealopezpastor@gmail.com 649.74.94.18 Lo habitual ahora es crear los usuarios del tipo Usuario SQL con contraseña dado que el usuario y las claves se almacenan en la misma base de datos Este tipo de usuario no se puede crear en las bases de datos que no son idependientes Bases de datos independientes
    32. 32. josealopezpastor@gmail.com 649.74.94.18 Se puede importar una BBDD desde los archivos mdf. Botón derecho en Bases de Datos  Adjuntar Tenemos que seleccionar el archivo mdf Para copiar archivos mdf se tienen que parar los servicios para que los ficheros dejen de estar en uso Importar BBDD desde archivos

    ×