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.
|
Importar objetos y configuraciones de servidor |
Debe poder conectarse a la base de datos maestra en el servidor especificado.
|
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:
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:
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.
Importante
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 |
|
Implementar un ensamblado del conjunto de permisos external_access |
Además, también debe tener:
|
Implementar un ensamblado del conjunto de permisos unsafe |
Además, también debe tener:
|
Depuración remota de un ensamblado de SQL CLR |
Debe tener el permiso de rol fijo sysadmin. |
Importante |
---|
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