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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
josealopezpastor@gmail.com
649.74.94.18
ROL a nivel base de datos.
Como personalizar roles y crearse los que deseemos.
Usuarios
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
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
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
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
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
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
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
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
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
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
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

Curso sql server 2012 clase 3

  • 1.
    josealopezpastor@gmail.com 649.74.94.18 Clase 3ª 1. Creaciónde una base de datos 2. Usuarios 1. Roles de usuarios 2. Schemas 3. Bases de datos independientes 4. Importar BBDD desde ficheros
  • 2.
    josealopezpastor@gmail.com 649.74.94.18 Podemos crear unaBBDD 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.
    josealopezpastor@gmail.com 649.74.94.18 Repasemos los camposdel 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.
    josealopezpastor@gmail.com 649.74.94.18 Solamente un archivode 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.
    josealopezpastor@gmail.com 649.74.94.18 Podemos hacer quenuestros 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.
    josealopezpastor@gmail.com 649.74.94.18 Podemos indicar eltamañ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.
    josealopezpastor@gmail.com 649.74.94.18 Lo habitual enBBDD 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.
    josealopezpastor@gmail.com 649.74.94.18 Siguiendo con elejemplo 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.
    josealopezpastor@gmail.com 649.74.94.18 Al insertar filassobre 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.
    josealopezpastor@gmail.com 649.74.94.18 Como se creaun 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.
    josealopezpastor@gmail.com 649.74.94.18 Recomendaciones de Microsoft: •Lamayor 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.
    josealopezpastor@gmail.com 649.74.94.18 Recomendaciones de Microsoft: Distribuyaen 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.
    josealopezpastor@gmail.com 649.74.94.18 Ya tenemos creadanuestra 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.
    josealopezpastor@gmail.com 649.74.94.18 El propietario esel 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.
    josealopezpastor@gmail.com 649.74.94.18 Cuando hacemos clicken Seguridad-Usuarios-Nuevo Usuario vemos que tenemos seleccionado por defecto Usuario SQL con inicio de sesión Usuarios
  • 16.
    josealopezpastor@gmail.com 649.74.94.18 Solamente podré seleccionarusuarios 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.
    josealopezpastor@gmail.com 649.74.94.18 Si seleccionamos enel 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.
    josealopezpastor@gmail.com 649.74.94.18 Vamos a verlas 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.
    josealopezpastor@gmail.com 649.74.94.18 ROL a nivelbase 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.
    josealopezpastor@gmail.com 649.74.94.18 ROL a nivelbase 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.
    josealopezpastor@gmail.com 649.74.94.18 ROL a nivelbase de datos. Como personalizar roles y crearse los que deseemos. Usuarios
  • 22.
    josealopezpastor@gmail.com 649.74.94.18 SCHEMA. Antes de SQLServer 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.
    josealopezpastor@gmail.com 649.74.94.18 SCHEMA. Se tieneque 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.
    josealopezpastor@gmail.com 649.74.94.18 SCHEMA. Cuando creamos unabase de datos se crean los Schemas por defecto. Para ver o modificar Schemas Usuarios
  • 25.
    josealopezpastor@gmail.com 649.74.94.18 SCHEMA. Para cambiar lapertenencia 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.
    josealopezpastor@gmail.com 649.74.94.18 Ahora, si continuamoscon la creación de los usuarios, podemos decirle que pertenecen a un schema o a un rol que determinemos. Usuarios
  • 27.
    josealopezpastor@gmail.com 649.74.94.18 Cuando se creauna 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.
    josealopezpastor@gmail.com 649.74.94.18 Para poder usarlastenemos que habilitarlas. Por defecto se encuentran a false. Para ello botón derecho en la instanciaPropiedadesAvanzado Bases de datos independientes
  • 29.
    josealopezpastor@gmail.com 649.74.94.18 Ahora, si intentamoscrear una base de datos mediante el asistente vemos en Opciones – Tipo de contención la posibilidad de cambiar. Bases de datos independientes
  • 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.
    josealopezpastor@gmail.com 649.74.94.18 Lo habitual ahoraes 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.
    josealopezpastor@gmail.com 649.74.94.18 Se puede importaruna 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

Notas del editor

  • #5 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
  • #6 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
  • #7 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
  • #19 http://www.sqlteam.com/article/understanding-the-difference-between-owners-and-schemas-in-sql-server
  • #20 http://www.sqlteam.com/article/understanding-the-difference-between-owners-and-schemas-in-sql-server
  • #21 http://www.sqlteam.com/article/understanding-the-difference-between-owners-and-schemas-in-sql-server
  • #22 http://www.sqlteam.com/article/understanding-the-difference-between-owners-and-schemas-in-sql-server
  • #23 http://