Share via


sp_addalias (Transact-SQL)

Asigna un inicio de sesión a un usuario de una base de datos.

ms184394.note(es-es,SQL.90).gifImportante:
sp_addalias proporciona compatibilidad con versiones anteriores de SQL Server. Esta característica se quitará en la versión siguiente de Microsoft SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan. SQL Server 2005 Database Engine (Motor de base de datos de SQL Server 2005) proporciona las funciones y la capacidad de conceder permisos a las funciones como alternativa a la utilización de los alias. Para obtener más información, vea CREATE USER (Transact-SQL) y CREATE ROLE (Transact-SQL).

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

sp_addalias [ @loginame = ] 'login' , [ @name_in_db = ] 'alias_user'

Argumentos

  • [ @loginame = ] 'login'
    Es el nombre del inicio de sesión al que se asignará un alias. login es de tipo sysname y no tiene valor predeterminado. login debe ser un inicio de sesión de SQL Server o un usuario de Microsoft Windows con permiso para conectarse a una instancia del inicio de sesión SQL Server. login no puede existir o estar asignado como alias a un usuario existente en la base de datos.
  • [ @name_in_db = ] 'alias_user'
    Es el nombre del usuario al que se asigna el inicio de sesión. alias_user es de tipo sysname y no tiene valor predeterminado. alias_user debe ser un usuario en la base de datos con el que está asociado el inicio de sesión. Cuando asigne un usuario de Windows, especifique el nombre por el que se conoce en la base de datos.

Notas

Un inicio de sesión se puede asignar a los usuarios de cualquier base de datos. Ejecute sp_addalias sólo en la base de datos en la que el usuario debe tener el alias. Cuando los usuarios se conectan a una instancia de Database Engine (Motor de base de datos) con el parámetro login , pueden realizar actividades en la base de datos con los permisos que se aplican a alias_user.

[!NOTA] No se puede crear un alias para el inicio de sesión sa.

Un inicio de sesión puede tener acceso a una base de datos bajo las siguientes circunstancias:

  • Al inicio de sesión se ha asociado una cuenta de usuario en la base de datos.
  • El inicio de sesión tiene un alias en la base de datos, que es propietario de la base de datos o un miembro de la función fija de servidor sysadmin que se ha agregado con sp_addalias.
  • La cuenta guest se ha habilitado en la base de datos.

El procedimiento almacenado sp_addalias no se puede ejecutar desde una transacción definida por el usuario.

En la siguiente tabla se muestran diversos procedimientos almacenados del sistema que se pueden usar junto con sp_addalias.

Procedimiento almacenado Descripción

sp_helplogins

Devuelve una lista de valores login válidos.

sp_helpuser

Devuelve una lista de valores alias_user válidos en la base de datos en la que se utiliza el inicio de sesión.

sp_dropalias

Quita una asignación de alias.

Permisos

Debe pertenecer a la función fija de base de datos db_owner.

Valores de código de retorno

0 (correcto) o 1 (error)

Ejemplos

En el siguiente ejemplo se muestra cómo asignar el inicio de sesión de SQL Server Victoria a un usuario (Albert) existente en la base de datos AdventureWorks.

USE AdventureWorks;
EXEC sp_addalias 'Victoria', 'Albert' ;

Vea también

Referencia

Procedimientos almacenados de seguridad (Transact-SQL)
CREATE USER (Transact-SQL)
CREATE ROLE (Transact-SQL)
sp_dropalias (Transact-SQL)
sp_helplogins (Transact-SQL)
sp_helpuser (Transact-SQL)
Procedimientos almacenados del sistema (Transact-SQL)
sp_grantdbaccess (Transact-SQL)

Otros recursos

db_owner

Ayuda e información

Obtener ayuda sobre SQL Server 2005