Crear un usuario de base de datosCreate a Database User

En este tema se aplica a: SíSQL ServerSíbase de datos de SQL AzureSíalmacenamiento de datos de SQL Azure Sí Almacenamiento de datos paralelosTHIS TOPIC APPLIES TO: yesSQL ServeryesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

En este tema se describe cómo crear los tipos más comunes de usuarios de base de datos.This topic describes how to create the most common types of database users. Hay once tipos de usuarios.There are eleven type of users. La lista completa se proporciona en el tema CREATE USER (Transact-SQL).The complete list is provided in the topic CREATE USER (Transact-SQL). Todas las variedades de SQL ServerSQL Server admiten usuarios de base de datos, pero no necesariamente todos los tipos de usuarios.All varieties of SQL ServerSQL Server support database users, but not necessarily all types of users.

Puede crear un usuario de base de datos mediante SQL Server Management StudioSQL Server Management Studio o Transact-SQLTransact-SQL.You can create a database user by using SQL Server Management StudioSQL Server Management Studio or by using Transact-SQLTransact-SQL.

Descripción de los tipos de usuariosUnderstanding the Types of Users

Management StudioManagement Studio ofrece 6 opciones a la hora de crear un usuario de base de datos. presents 6 options when creating a database user. En el gráfico siguiente se muestran las 6 opciones en el recuadro verde y se indica lo que representan.The following graphic shows the 6 options in the green box, and indicates what they represent.

TypesOfUsersTypesOfUsers

Seleccionar el tipo de usuarioSelecting the Type of User

Credenciales de inicio de sesión o usuario no asignado a un inicio de sesiónLogin or user that is not mapped to a login

Si no está familiarizado con SQL ServerSQL Server, puede resultarle difícil determinar qué tipo de usuario quiere crear.If you are new to SQL ServerSQL Server, it can be difficult to determine what type of user you want to create. En primer lugar, pregúntese lo siguiente: ¿tiene credenciales de inicio de sesión la persona o el grupo que necesita acceder a la base de datos?First ask yourself, does the person or group that needs to access the database have a login? Los inicios de sesión en la base de datos maestra son habituales para las personas que administran SQL ServerSQL Server y para las personas que necesitan acceder a la mayoría de las bases de datos en la instancia de SQL ServerSQL Server(o a todas).Logins in the master database are common for the people who manage the SQL ServerSQL Server and for people who need to access many or all of the database on the instance of SQL ServerSQL Server. En este caso, creará un usuario SQL con inicio de sesión.For this situation, you will create a SQL user with login. El usuario de la base de datos es la identidad del inicio de sesión cuando está conectado a una base de datos.The database user is the identity of the login when it is connected to a database. El usuario de la base de datos puede utilizar el mismo nombre que el inicio de sesión, pero no es necesario.The database user can use the same name as the login, but that is not required. En este tema se supone que ya existe un inicio de sesión en SQL ServerSQL Server.This topic assumes that a login already exists in SQL ServerSQL Server. Para obtener información sobre cómo crear un inicio de sesión, vea Crear un inicio de sesión.For information about how to create a login, see Create a Login

Si la persona o el grupo que necesita tener acceso a la base de datos no tiene credenciales de inicio de sesión y solo necesita tener acceso a una o a pocas bases de datos, cree un usuario de Windows o un usuario SQL con contraseña.If the person or group that needs to access the database does not have a login and if they only need access to one or few databases, create a Windows user or a SQL user with password. También se denomina "usuario de base de datos independiente" y no está asociado con un inicio de sesión en la base de datos maestra.Also called a contained database user, it is not associated with a login in the master database. Se trata de una excelente opción si quiere mover fácilmente su base de datos entre instancias de SQL ServerSQL Server.This is an excellent choice when you want to be able to easily move your database between instances of SQL ServerSQL Server. Para usar esta opción en SQL Server 2016SQL Server 2016, es necesario que un administrador habilite las bases de datos independientes para SQL ServerSQL Servery que la base de datos esté habilitada para la contención.To use this option on SQL Server 2016SQL Server 2016, an administrator must first enable contained databases for the SQL ServerSQL Server, and the database be enabled for containment. Para obtener más información, vea Usuarios de base de datos independiente: hacer que la base de datos sea portátil.For more information, see Contained Database Users - Making Your Database Portable.

IMPORTANTE:IMPORTANT! Al conectarse como un usuario de base de datos independiente, debe proporcionar el nombre de la base de datos como parte de la cadena de conexión.When connecting as a contained database user you must provide the name of the database as part of the connection string. Para especificar la base de datos en Management StudioManagement Studio, en el cuadro de diálogo Conectar a , haga clic en Opcionesy en la pestaña Propiedades de la conexión .To specify the database in Management StudioManagement Studio, in the Connect to dialog box, click Options, and then click the Connection Properties tab.

Seleccione Usuario SQL con contraseña o Usuario SQL con inicio de sesión basado en un SQL Server authentication login(Inicio de sesión de autenticación de SQL Server) cuando la persona que se conecta no pueda autenticarse con Windows.Select SQL user with password or a SQL user with login based on a SQL Server authentication login, when the person connecting cannot authenticate with Windows. Esto suele ocurrir cuando se conectan a SQL ServerSQL Serverpersonas de fuera de su organización (por ejemplo, clientes).This is common when people outside of your organization (for example customers) are connecting to your SQL ServerSQL Server.

SUGERENCIATIP! Para las personas de dentro de su organización, la autenticación de Windows es una opción más acertada. De este modo, no tienen que recordar otra contraseña y, además, la autenticación de Windows ofrece características de seguridad adicionales, como Kerberos.For people inside your organization, Windows authentication is a better choice, because they won't have to remember an additional password, and because Windows authentication offers additional security features such as Kerberos.

Información previaBackground

Un usuario es una entidad de seguridad de la base de datos.A user is a database level security principal. Los inicios de sesión deben estar asignados a un usuario de base de datos para poder conectarse a una base de datos.Logins must be mapped to a database user to connect to a database. Un inicio de sesión se puede asignar a bases de datos diferentes como usuarios diferentes pero solo se puede asignar como un usuario en cada base de datos.A login can be mapped to different databases as different users but can only be mapped as one user in each database. En una base de datos parcialmente independiente, puede crearse un usuario que no tenga un inicio de sesión.In a partially contained database, a user can be created that does not have a login. Para obtener más información sobre los usuarios de la base de datos independiente, vea CREATE USER (Transact-SQL).For more information about contained database users, see CREATE USER (Transact-SQL). Si el usuario invitado de una base de datos está habilitado, un inicio de sesión que no esté asignado a un usuario de la base de datos puede entrar en la base de datos como el usuario invitado.If the guest user in a database is enabled, a login that is not mapped to a database user can enter the database as the guest user.

IMPORTANTE:IMPORTANT! El usuario invitado suele estar deshabilitado.The guest user is ordinarily disabled. No habilite al usuario invitado a menos que sea necesario.Do not enable the guest user unless it is necessary.

Como entidad de seguridad, se pueden conceder permisos a los usuarios.As a security principal, permissions can be granted to users. El ámbito de un usuario es la base de datos.The scope of a user is the database. Para establecer conexión con una base de datos concreta de la instancia de SQL ServerSQL Server, un inicio de sesión debe estar asignado a un usuario de la base de datos.To connect to a specific database on the instance of SQL ServerSQL Server, a login must be mapped to a database user. Los permisos dentro de la base de datos se conceden y deniegan al usuario de la base de datos, no al inicio de sesión.Permissions inside the database are granted and denied to the database user, not the login.

PermissionsPermissions

Debe tener el permiso ALTER ANY USER para la base de datos.Requires ALTER ANY USER permission on the database.

Crear un usuario con SSMSCreate a user with SSMS

  1. En el Explorador de objetos, expanda la carpeta Bases de datos .In Object Explorer, expand the Databases folder.

  2. Expanda la base de datos en la que se va a crear el usuario de la misma.Expand the database in which to create the new database user.

  3. Haga clic con el botón derecho en la carpeta Seguridad , seleccione Nuevoy seleccione Usuario….Right-click the Security folder, point to New, and select User….

  4. En el cuadro de diálogo Usuario de base de datos - Nuevo , en la página General , seleccione uno de los siguientes tipos de usuario de la lista Tipo de usuario :In the Database User – New dialog box, on the General page, select one of the following user types from the User type list:

    • usuario SQL con inicio de sesiónSQL user with login

    • usuario SQL con contraseñaSQL user with password

    • Usuario SQL sin inicio de sesiónSQL user without login

    • Usuario asignado a un certificadoUser mapped to a certificate

    • Usuario asignado a una clave asimétricaUser mapped to an asymmetric key

    • usuario de WindowsWindows user

  5. Cuando se selecciona una opción, las demás opciones del cuadro de diálogo podrían cambiar.When you select an option, the remaining options in the dialog may change. Algunas opciones solo se aplican a tipos específicos de usuarios de base de datos.Some options only apply to specific types of database users. Algunas opciones pueden dejarse en blanco y usarán un valor predeterminado.Some options can be left blank and will use a default value.

    Nombre de usuario.User name
    Escriba un nombre para el nuevo usuario.Enter a name for the new user. Si ha elegido Usuario de Windows en la lista Tipo de usuario , también puede hacer clic en los puntos suspensivos (…) para abrir el cuadro de diálogo Seleccione Usuario o Grupo .If you have chosen Windows user from the User type list, you can also click the ellipsis (…) to open the Select User or Group dialog box.

    Nombre de inicio de sesiónLogin name
    Especifique el inicio de sesión del usuario.Enter the login for the user. Como alternativa, haga clic en los puntos suspensivos (…) para abrir el cuadro de diálogo Seleccionar inicio de sesión .Alternately, click the ellipsis (…) to open the Select Login dialog box. Si seleccionaUsuario SQL con inicio de sesión o Usuario de Windows en la lista Tipo de usuario , estará disponible Nombre de inicio de sesión .Login name is available if you select either SQL user with login or Windows user from the User type list.

    Contraseña y Confirmar contraseñaPassword and Confirm password
    Escriba una contraseña para los usuarios que se autentican en la base de datos.Enter a password for users who authenticate at the database.

    Idioma predeterminadoDefault language
    Escriba el idioma predeterminado del usuario.Enter the default language of the user.

    Esquema predeterminadoDefault schema
    Escriba el esquema al que pertenecerán los objetos creados por este usuario.Enter the schema that will own objects created by this user. Como alternativa, haga clic en los puntos suspensivos (…) para abrir el cuadro de diálogo Seleccionar esquema .Alternately, click the ellipsis (…) to open the Select Schema dialog box. Si seleccionaUsuario SQL con inicio de sesión , Usuario SQL sin inicio de sesión, Usuario de Windowsen la lista Tipo de usuario , estará disponible Esquema predeterminado .Default schema is available if you select either SQL user with login, SQL user without login, or Windows user from the User type list.

    Nombre de certificadoCertificate name
    Escriba el certificado que se usará para el usuario de base de datos.Enter the certificate to be used for the database user. Como alternativa, haga clic en los puntos suspensivos (…) para abrir el cuadro de diálogo Seleccionar certificado .Alternately, click the ellipsis (…) to open the Select Certificate dialog box. Si seleccionaUsuario asignado a un certificado en la lista Tipo de usuario , estará disponible Nombre de certificado .Certificate name is available if you select User mapped to a certificate from the User type list.

    Nombre de clave asimétricaAsymmetric key name
    Escriba la clave que se usará para el usuario de base de datos.Enter the key to be used for the database user. Como alternativa, haga clic en los puntos suspensivos (…) para abrir el cuadro de diálogo Seleccionar clave asimétrica .Alternately, click the ellipsis (…) to open the Select Asymmetric Key dialog box. Si seleccionaUsuario asignado a una clave asimétrica en la lista Tipo de usuario , estará disponible Nombre de clave asimétrica .Asymmetric key name is available if you select User mapped to an asymmetric key from the User type list.

  6. Haga clic en Aceptar.Click OK.

Opciones adicionalesAdditional Options

El cuadro de diálogo Usuario de la base de datos - Nuevo también proporciona opciones en cuatro páginas adicionales: Esquemas de propiedad, Pertenencia, Elementos protegiblesy Propiedades extendidas.The Database User – New dialog box also offers options on four additional pages: Owned Schemas, Membership, Securables, and Extended Properties.

  • La página Esquemas de propiedad enumera todos los esquemas posibles que pueden ser propiedad del nuevo usuario de base de datos.The Owned Schemas page lists all possible schemas that can be owned by the new database user. Para agregar o quitar esquemas en un usuario de base de datos, en Esquemas propiedad de este usuario, active o desactive las casillas situadas junto a los esquemas.To add schemas to or remove them from a database user, under Schemas owned by this user, select or clear the check boxes next to the schemas.

  • La página Pertenencia enumera todos los roles de pertenencia de base de datos posibles que pueden ser propiedad del nuevo usuario de base de datos.The Membership page lists all possible database membership roles that can be owned by the new database user. Para agregar o quitar roles en un usuario de base de datos, en Pertenencia al rol de la base de datos, active o desactive las casillas situadas junto a los roles.To add roles to or remove them from a database user, under Database role membership, select or clear the check boxes next to the roles.

  • La página Elementos protegibles muestra todos los elementos protegibles posibles y los permisos en esos elementos protegibles que se pueden conceder al inicio de sesión.The Securables page lists all possible securables and the permissions on those securables that can be granted to the login.

  • La página Propiedades extendidas permite agregar propiedades personalizadas a los usuarios de base de datos.The Extended properties page allows you to add custom properties to database users. En esta página están disponibles las opciones siguientes.The following options are available on this page.

    Base de datosDatabase
    Muestra el nombre de la base de datos seleccionada.Displays the name of the selected database. Este campo es de solo lectura.This field is read-only.

    IntercalaciónCollation
    Muestra la intercalación utilizada para la base de datos seleccionada.Displays the collation used for the selected database. Este campo es de solo lectura.This field is read-only.

    PropiedadesProperties
    Muestra o especifica las propiedades extendidas del objeto.View or specify the extended properties for the object. Cada propiedad extendida está formada por un par nombre/valor de metadatos asociados al objeto.Each extended property consists of a name/value pair of metadata associated with the object.

    Puntos suspensivos (…)Ellipsis (…)
    Haga clic en los puntos suspensivos (…) que se encuentran a continuación de Valor para abrir el cuadro de diálogo Valor para propiedad extendida .Click the ellipsis (…) after Value to open the Value for Extended Property dialog box. Escriba o muestre el valor de la propiedad extendida en esta ubicación mayor.Type or view the value of the extended property in this larger location. Para obtener más información, vea Valor para propiedad extendida (cuadro de diálogo).For more information, see Value for Extended Property Dialog Box.

    EliminarDelete
    Elimina la propiedad extendida que se ha seleccionado.Removes the selected extended property.

Crear un usuario con T-SQLCreate a user using T-SQL

  1. En el Explorador de objetos, conéctese a una instancia del Motor de base de datosDatabase Engine.In Object Explorer, connect to an instance of Motor de base de datosDatabase Engine.

  2. En la barra Estándar , haga clic en Nueva consulta.On the Standard bar, click New Query.

  3. Copie y pegue el siguiente ejemplo en la ventana de consulta y haga clic en Ejecutar.Copy and paste the following example into the query window and click Execute.

    -- Creates the login AbolrousHazem with password '340$Uuxwp7Mcxo7Khy'.  
    CREATE LOGIN AbolrousHazem   
        WITH PASSWORD = '340$Uuxwp7Mcxo7Khy';  
    GO  
    
    -- Creates a database user for the login created above.  
    CREATE USER AbolrousHazem FOR LOGIN AbolrousHazem;  
    GO  
    

    Para obtener más información, vea CREATE USER (Transact-SQL) que contiene muchos más ejemplos de Transact-SQLTransact-SQL.For more information, see CREATE USER (Transact-SQL) which contains many more Transact-SQLTransact-SQL examples.

Vea tambiénSee Also

Entidades de seguridad (motor de base de datos) Principals (Database Engine)
Crear un inicio de sesión Create a Login
CREATE LOGIN (Transact-SQL)CREATE LOGIN (Transact-SQL)