Compartilhar via


Permissões necessárias para os recursos de banco de dados de Visual Studio

Antes de executar uma ação em um banco de dados Visual Studio, você deve fazer logon com uma conta que tenha determinadas permissões no banco de dados. As permissões específicas que você precisa variar com base na ação que você deseja executar. As seguintes seções descrevem cada ação que deseja executar e específicos de permissão que você precisa executá-lo.

  • Permissões para criar ou implantar um banco de dados.

  • Permissões para refatorar um banco de dados.

  • Permissões para executar testes de unidade em um banco de dados.

  • Permissões para gerar dados

  • Permissões para comparar os dados e esquemas

  • Permissões para executar o Editor do Transact-SQL (T-SQL)

  • Permissões para SQL Server Common Language Runtime (CLR SQL) projetos

Permissões para criar ou implantar um banco de dados.

Você deve ter as seguintes permissões para criar ou implantar um banco de dados.

Ações

Permissões necessárias

Importar objetos de banco de dados e configurações

Você deve ser capaz de se conectar a fonte banco de dados.

  • Se o banco de dados de origem for baseado em SQL Server 2005, deve ser o proprietário ou ter também o VIEW DEFINITION permissão em cada objeto.

  • Se o banco de dados de origem for baseado em SQL Server 2008, deve ser o proprietário ou ter também o VIEW DEFINITION permissão em cada objeto. O login deve ter o VIEW SERVER STATE permissão (para as chaves de criptografia do banco de dados).

Importar objetos de servidor e configurações

Você deve ser capaz de se conectar a "mestre" o banco de dados no servidor especificado.

  • Se o servidor está executando SQL Server 2005, você deve ter o VIEW ANY DEFINITION permissão no servidor.

  • Se o banco de dados de origem for baseado em SQL Server 2008, você deve ter o VIEW ANY DEFINITION permissão no servidor. O login deve ter o VIEW SERVER STATE permissão (para as chaves de criptografia do banco de dados).

Criar ou atualizar um projeto de banco de dados

Você não exige quaisquer permissões de banco de dados para criar ou modificar um projeto de banco de dados.

Implante o novo banco de dados ou implantar com Recriar banco de dados sempre conjunto de opção.

Você deve pode o CREATE DATABASE permissão ou ser membro do dbcreator função o destino server.

Quando você cria um banco de dados, Visual Studio se conecta ao banco de dados de modelo e copia seu conteúdo. O login inicial (por exemplo, yourLogin) que você pode usar para se conectar ao banco de dados de destino deve ter db_creator e CONNECT SQL permissões. Este login deve ter um mapeamento de usuário no banco de dados de modelo. Se você tiver sysadmin permissões, você pode criar o mapeamento emitindo o seguinte Transact-SQL instruções:

USE [model]
CREATE USER yourUser FROM LOGIN yourLogin

O usuário (no exemplo, yourUser) deve ter CONNECT e VIEW DEFINITION as permissões no banco de dados de modelo. Se você tiver sysadmin permissões, você pode conceder essas permissões, emitindo o seguinte Transact-SQL instruções:

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

Se você implantar um banco de dados que contém restrições sem nome e o CheckNewContraints opção é ativada (ele é ativado por padrão), você deve ter db_owner ou sysadmin permissões ou implantação irá falhar. Isso vale apenas para restrições sem nome. Para obter mais informações sobre o CheckNewConstraints opção, consulte Uma visão geral das configurações de projeto de banco de dados.

Implantar atualizações em um banco de dados existente

Você deve ser um usuário válido do banco de dados. Você também deve ser um membro do db_ddladmin o esquema, o proprietário de função, ou possuir os objetos que você deseja criar ou modificar no banco de dados de destino. Você precisa de permissões adicionais para trabalhar com os conceitos mais avançados, como logins ou servidores vinculados em seus scripts de pré-implantação ou pós-implantação.

Observação importanteImportante
Se você implantar o mestre de banco de dados, você também deve ter o VIEW ANY DEFINITION permissão no servidor ao qual você implanta.

Usar um assembly com a opção EXTERNAL_ACCESS em um projeto de banco de dados

Você deve definir a propriedade confiável para seu projeto de banco de dados. Você deve ter a permissão do ASSEMBLY do acesso externo para o seu logon de SQL Server.

Implantar assemblies para um banco de dados novo ou existente

Você deve ser um membro da função sysadmin no servidor de implantação de destino.

Para obter mais informações, consulte o SQL Server 2005 Livros on-line ou SQL Server 2008 Livros on-line.

Permissões para refatorar um banco de dados.

Refatoração de banco de dados ocorre apenas dentro do projeto de banco de dados. Você deve ter permissões para usar o projeto de banco de dados. Você não precisa permissões em um banco de dados de destino até que você implantar as alterações.

Permissões para executar um banco de dados de teste de unidade

Você deve ter as seguintes permissões para executar testes de unidade em um banco de dados.

Ações

Permissões necessárias

Executar uma ação de teste

Você deve usar a conexão de banco de dados do contexto de execução. Para obter mais informações, consulte Visão geral das seqüências de conexão e permissões.

Executar uma ação de pré-teste ou pós-teste

Você deve usar a conexão de banco de dados do contexto privilegiado. Esta conexão de banco de dados tem mais permissões do que a conexão de contexto de execução.

Executar scripts TestInitialize e TestCleanup

Você deve usar a conexão de banco de dados do contexto privilegiado.

Implantar as alterações do banco de dados antes de executar testes

Você deve usar a conexão de banco de dados do contexto privilegiado. Para obter mais informações, consulte Como: Configurar a execução do teste de unidade de banco de dados.

Gerar dados antes de executar testes

Você deve usar a conexão de banco de dados do contexto privilegiado. Para obter mais informações, consulte Como: Configurar a execução do teste de unidade de banco de dados.

Permissões para gerar dados

Você deve ter o INSERT e SELECT permissões nos objetos do banco de dados de destino para gerar dados de teste usando o gerador de dados. Se você limpar os dados antes de gerar dados, você também deve ter DELETE permissões nos objetos no banco de dados de destino. Para redefinir o IDENTITY coluna em uma tabela, você precisa ter a tabela, ou você deve ser um membro da função db_owner ou db_ddladmin.

Permissões para comparar os dados e esquemas

Você deve ter as seguintes permissões para comparar os esquemas ou dados.

Ações

Permissões necessárias

Comparar os esquemas de dois bancos de dados

Você deve ter as permissões para importar configurações e objetos de bancos de dados, conforme descrito em permissões para criar ou implantar um banco de dados.

Comparar os esquemas de um banco de dados e um projeto de banco de dados

Você deve ter as permissões para importar configurações e objetos do banco de dados, conforme descrito em permissões para criar ou implantar um banco de dados. Você também deve ter o projeto de banco de dados aberto no Visual Studio.

Atualizações de gravação para um banco de dados de destino

Você deve ter as permissões para implantar atualizações no banco de dados de destino, conforme descrito em permissões para criar ou implantar um banco de dados.

Comparar os dados de dois bancos de dados

Além as permissões que você precisa comparar os esquemas de dois bancos de dados, você também precisa de SELECT permissão em todas as tabelas que você deseja comparar.

Para obter mais informações, consulte essas páginas no site da Microsoft: SQL Server 2008 Books Online ou Manuais Online do SQL Server 2005.

Permissões para executar o Editor do Transact-SQL

O que você pode fazer dentro do Transact-SQL editor é determinado pelo seu contexto de execução para o banco de dados de destino.

Permissões para SQL Server Common Language Runtime (CLR SQL) projetos

A tabela a seguir lista as permissões que você deve ter para implantar ou depurar projetos de CLR da SQL:

Ações

Permissões necessárias

Implantar (inicial ou incremental) de uma permissão de segurança definido no assembly

  • db_DDLAdmin - essa permissão concede permissões de CREATE e ALTER para os tipos de módulos (assemblies) e objetos que você implanta

  • DEFINIÇÃO de exibição de nível de banco de dados - necessárias para implantar

  • nível de banco de dados CONNECT - concede a capacidade de conectar o banco de dados.

Implantar um assembly de conjunto de permissão de external_access

  • db_DDLAdmin - essa permissão concede permissões de CREATE e ALTER para os tipos de módulos (assemblies) e objetos que você implanta

  • DEFINIÇÃO de exibição de nível de banco de dados - necessárias para implantar

  • nível de banco de dados CONNECT - concede a capacidade de conectar o banco de dados.

Além disso, você também deve ter:

  • Opção de banco de dados confiável, definida como ON

  • O login que você pode usar para implantar deve ter a permissão de servidor de conjunto de acesso externo.

Implantar um assembly de conjunto de permissões unsafe

  • db_DDLAdmin - essa permissão concede permissões de CREATE e ALTER para os tipos de módulos (assemblies) e objetos que você implanta

  • DEFINIÇÃO de exibição de nível de banco de dados - necessárias para implantar

  • nível de banco de dados CONNECT - concede a capacidade de conectar o banco de dados.

Além disso, você também deve ter:

  • Opção de banco de dados confiável, definida como ON

  • O login que você pode usar para implantar deve ter a permissão de servidor do Assembly não seguros.

Um assembly CLR de SQL de depuração remota

Você deve ter permissão de função de fixa sysadmin.

Observação importanteImportante

Em todos os casos, o proprietário do assembly deve ser o usuário que você está usando para implantar o assembly ou o proprietário deve ser uma função que o usuário é membro. Esse requisito também se aplica a todos os assemblies referenciados pelo assembly que você implanta.

Consulte também

Conceitos

Criação e gerenciamento de bancos de dados e aplicativos de camada de dados em Visual Studio

Iniciando a equipe de desenvolvimento de bancos de dados