Compartir a través de


Permisos necesarios para las características de base de datos de Visual Studio

Para poder realizar acciones en una base de datos de Visual Studio, debe iniciar sesión con una cuenta que tenga ciertos permisos en esa base de datos. Los permisos concretos que necesita varían en función de las acciones que desee realizar. En las secciones siguientes se describe cada acción y el permiso concreto que necesita para realizarla.

  • Permisos para crear o implementar una base de datos

  • Permisos para refactorizar una base de datos

  • Permisos para ejecutar pruebas unitarias en una base de datos

  • Permisos para generar datos

  • Permisos para comparar esquemas y datos

  • Permisos para ejecutar el editor de Transact-SQL (T-SQL)

  • Permisos para proyectos de Common Language Runtime (SQL CLR) de SQL Server

Permisos para crear o implementar una base de datos

Debe tener los permisos siguientes para crear o implementar una base de datos.

Acciones

Permisos necesarios

Importar objetos y configuraciones de base de datos

Debe poder establecer una conexión con la base de datos de origen.

  • Si la base de datos de origen está basada en SQL Server 2005, también debe tener el permiso VIEW DEFINITION en cada objeto o ser su propietario.

  • Si la base de datos de origen está basada en SQL Server 2008, también debe tener el permiso VIEW DEFINITION en cada objeto o ser su propietario. El inicio de sesión debe tener el permiso VIEW SERVER STATE (para las claves de cifrado de la base de datos).

Importar objetos y configuraciones de servidor

Debe poder conectarse a la base de datos maestra en el servidor especificado.

  • Si el servidor está ejecutando SQL Server 2005, debe tener el permiso VIEW ANY DEFINITION en el servidor.

  • Si la base de datos de origen se basa en SQL Server 2008, también debe tener el permiso VIEW ANY DEFINITION en el servidor. El inicio de sesión debe tener el permiso VIEW SERVER STATE (para las claves de cifrado de la base de datos).

Crear o actualizar un proyecto de base de datos

No requiere ningún permiso de base de datos para crear o modificar un proyecto de base de datos.

Implementar una nueva base de datos o implementar con la opción Volver a crear siempre la base de datos establecida

Debe tener el permiso CREATE DATABASE o debe ser miembro de la función dbcreator en el servidor de destino.

Al crear una base de datos, Visual Studio se conecta a la base de datos modelo y copia su contenido. El inicio de sesión inicial (por ejemplo, suInicioDeSesión) que usa para conectar a la base de datos de destino debe tener permisos db_creator y CONNECT SQL. Este inicio de sesión debe tener una asignación de usuario en la base de datos modelo. Si tiene permisos sysadmin, puede crear la asignación emitiendo las siguientes instrucciones Transact-SQL:

USE [model]
CREATE USER yourUser FROM LOGIN yourLogin

El usuario (en este ejemplo, yourUser) debe tener permisos CONNECT y VIEW DEFINITION en la base de datos modelo. Si tiene permisos sysadmin, puede conceder estos permisos emitiendo las siguientes instrucciones Transact-SQL:

USE [model]
GRANT CONNECT to yourUser
GRANT VIEW DEFINITION TO yourUser

Si implementa una base de datos que contiene restricciones sin nombre y la opción CheckNewContraints está habilitada (está habilitada de forma predeterminada), debe tener permisos db_owner o sysadmin, o se producirá un error de implementación. Esto solo es así en el caso de las restricciones sin nombre. Para obtener más información acerca de la opción CheckNewConstraints, vea Información general acerca de la configuración del proyecto de base de datos.

Implementar actualizaciones en una base de datos existente

Debe ser un usuario de base de datos válido. También debe ser miembro de la función db_ddladmin, ser el propietario del esquema o ser el propietario de los objetos que desea crear o modificar en la base de datos de destino. Necesita permisos adicionales para trabajar con conceptos más avanzados, como inicios de sesión o servidores vinculados, en los scripts de ejecución anterior o posterior a la implementación.

Nota importanteImportante
Si implementa en la base de datos maestra, también debe tener el permiso VIEW ANY DEFINITION en el servidor donde implementa.

Utilizar un ensamblado con la opción EXTERNAL_ACCESS en un proyecto de base de datos

Debe establecer la propiedad TRUSTWORTHY para el proyecto de base de datos. Debe tener el permiso EXTERNAL ACCESS ASSEMBLY para el inicio de sesión de SQL Server.

Implementar ensamblados en una base de datos nueva o existente

Debe ser miembro de la función sysadmin en el servidor de implementación de destino.

Para obtener más información, vea los Libros en pantalla de SQL Server 2005 o los Libros en pantalla de SQL Server 2008.

Permisos para refactorizar una base de datos

La refactorización de base de datos sólo se produce dentro del proyecto de base de datos. Debe tener permisos para utilizar el proyecto de base de datos. No necesita permisos en una base de datos de destino hasta que no implemente los cambios en ella.

Permisos para ejecutar pruebas unitarias en una base de datos

Debe tener los permisos siguientes para realizar pruebas unitarias en una base de datos.

Acciones

Permisos necesarios

Ejecutar una acción de prueba

Debe utilizar la conexión a bases de datos de contexto de ejecución. Para obtener más información, vea Descripción general de las cadenas de conexión y los permisos.

Ejecutar una acción anterior o posterior a la prueba

Debe utilizar la conexión a bases de datos de contexto privilegiado. Esta conexión a bases de datos tiene más permisos que la conexión de contexto de ejecución.

Ejecutar scripts TestInitialize y TestCleanup

Debe utilizar la conexión a bases de datos de contexto privilegiado.

Implementar cambios en la base de datos antes de ejecutar pruebas

Debe utilizar la conexión a bases de datos de contexto privilegiado. Para obtener más información, vea Cómo: Configurar la ejecución de las pruebas unitarias de base de datos.

Generar datos antes de ejecutar pruebas

Debe utilizar la conexión a bases de datos de contexto privilegiado. Para obtener más información, vea Cómo: Configurar la ejecución de las pruebas unitarias de base de datos.

Permisos para generar datos

Debe tener los permisos INSERT y SELECT en los objetos de la base de datos de destino para generar datos de prueba con el Generador de datos. Si purga los datos antes de generar datos, también debe tener permisos DELETE en los objetos de la base de datos de destino. Para restablecer la columna IDENTITY de una tabla, debe ser el propietario de la tabla o debe ser miembro de los roles db_owner o db_ddladmin.

Permisos para comparar esquemas y datos

Debe tener los permisos siguientes para comparar esquemas o datos.

Acciones

Permisos necesarios

Comparar los esquemas de dos bases de datos

Debe tener los permisos para importar objetos y configuraciones de las bases de datos tal como se describe en Permisos para crear o implementar una base de datos.

Comparar los esquemas de una base de datos y un proyecto de base de datos

Debe tener los permisos para importar objetos y configuraciones de la base de datos tal como se describe en Permisos para crear o implementar una base de datos. También debe tener el proyecto de base de datos abierto en Visual Studio.

Escribir actualizaciones en la base de datos de destino

Debe tener permisos para implementar actualizaciones en la base de datos de destino, tal como se describe en Permisos para crear o implementar una base de datos.

Comparar los datos de dos bases de datos

Además de los permisos necesarios para comparar los esquemas de dos bases de datos, también necesita el permiso SELECT en todas las tablas que desee comparar.

Para obtener más información, vea estas páginas en el sitio web de Microsoft: Libros en pantalla de SQL Server 2008 o Libros en pantalla de SQL Server 2005.

Permisos para ejecutar el editor de Transact-SQL

Las acciones que puede realizar en el editor de Transact-SQL vienen determinadas por el contexto de ejecución en la base de datos de destino.

Permisos para proyectos de Common Language Runtime (SQL CLR) de SQL Server

En la siguiente tabla se enumeran los permisos que debe tener para implementar o depurar proyectos de SQL CLR:

Acciones

Permisos necesarios

Implementar (inicial o incremental) un ensamblado del conjunto de permisos safe

  • db_DDLAdmin: concede permisos CREATE y ALTER para los ensamblados y tipos de objeto que implemente

  • VIEW DEFINITION en el nivel de base de datos: necesario para la implementación

  • CONNECT en el nivel de base de datos: permite conectar con la base de datos

Implementar un ensamblado del conjunto de permisos external_access

  • db_DDLAdmin: concede permisos CREATE y ALTER para los ensamblados y tipos de objeto que implemente

  • VIEW DEFINITION en el nivel de base de datos: necesario para la implementación

  • CONNECT en el nivel de base de datos: permite conectar con la base de datos

Además, también debe tener:

  • La opción de base de datos TRUSTWORTHY activada

  • El inicio de sesión que utilice para la implementación debe tener el permiso de servidor External Access Assembly.

Implementar un ensamblado del conjunto de permisos unsafe

  • db_DDLAdmin: concede permisos CREATE y ALTER para los ensamblados y tipos de objeto que implemente

  • VIEW DEFINITION en el nivel de base de datos: necesario para la implementación

  • CONNECT en el nivel de base de datos: permite conectar con la base de datos

Además, también debe tener:

  • La opción de base de datos TRUSTWORTHY activada

  • El inicio de sesión que utilice para la implementación debe tener el permiso de servidor de ensamblado unsafe.

Depuración remota de un ensamblado de SQL CLR

Debe tener el permiso de rol fijo sysadmin.

Nota importanteImportante

En todos los casos, el propietario del ensamblado debe ser el usuario que se está utilizando para implementar el ensamblado, o el propietario debe ser un rol del que ese usuario sea miembro. Este requisito también se aplica a los ensamblados a los que hace referencia el ensamblado que se está implementando.

Vea también

Conceptos

Crear y administrar aplicaciones de capa de datos y bases de datos en Visual Studio

Iniciar el desarrollo en equipo de bases de datos