Iniciando o desenvolvimento da equipe de grandes bancos de dados

Antes de usar Visual Studio Gerenciar alterações um o esquema de banco de dados, crie primeiro um projeto de banco de dados, projeto de servidor, ou projeto de aplicativo de camada de dados, e, em seguida, importe os objetos e configurações do banco de dados que você deseja gerenciar. Se você deseja gerenciar as alterações em um banco de dados muito grande, convém dividir os objetos entre vários projetos de banco de dados. Seguindo essa prática, você pode controlar quais equipes ou os desenvolvedores podem adicionar, modificar ou excluir o código em diferentes seções do banco de dados.

Você pode usar duas abordagens para separar o seu banco de dados em pedaços menores:

  • Projetos de composto — Você pode definir seções do seu banco de dados em dois ou mais projetos de banco de dados (na mesma solução, ou você pode referenciar um arquivo compilado .dbschema) que são vinculadas por referências de projeto de banco de dados. Quando você implanta o projeto que contém a referência, você também implantar todos os projetos que faz referência a ele. Você não pode ter referências circulares entre os projetos em um projeto de composição.

  • Projetos parciais — Você pode exportar uma seção do seu projeto de banco de dados na forma de um arquivo. Files. Em seguida, criar um segundo projeto de banco de dados e incluir o projeto parcial (o arquivo. Files). Você pode então definir as permissões de gravação nos arquivos originais para restringir as alterações feitas nesses arquivos. Portanto, os desenvolvedores que trabalham em um segundo projeto podem criar objetos adicionais que se referem a objetos de somente leitura, mas não modificá-los. Quando você criar e implanta o projeto segundo, é criada uma cópia completa do banco de dados, incluindo as seções de somente leitura. Você pode ter referências circulares em um projeto parcial.

Cada abordagem possui limitações, conforme detalhado neste tópico.

Especificando um tipo de projeto de banco de dados

Quando você cria um projeto de banco de dados, você especificar o tipo de projeto que corresponde à sua versão do SQL Server. Por exemplo, se o banco de dados que você deseja gerenciar baseia-se em SQL Server 2005, que você especificar um Projeto de banco de dados do SQL Server 2005 ou Assistente do SQL Server 2005. Se você usar o assistente, você pode não apenas criar o projeto, mas também definir algumas configurações de compilação e implantação e importar os objetos de banco de dados e configurações ao mesmo tempo.

Importar objetos de banco de dados e configurações

Depois de criar o projeto, você pode importar as configurações e os objetos a partir de uma instância de banco de dados ou um script. Quando você importa um banco de dados a partir de um script, suas definições de objeto são validadas e instruções que não podem ser analisadas são colocadas no arquivo ScriptsIgnoredOnImport.sql. Se você importar definições de objeto que se referem a objetos que não existem mais, você deve resolver esses erros antes de construir e implantar o projeto. Por exemplo, você pode importar um procedimento armazenado que faz referência a uma tabela que não existe mais. Para resolver o erro, você pode remover esse procedimento armazenado.

Talvez você precise gastar muito tempo para a resolução de tais erros quando você importa um esquema maior. No entanto, os membros da equipe não é possível introduzir inadvertidamente erros adicionais desse tipo como atualização de esquema na Visual Studio Premium. Quando eles modificar e salvar qualquer definição de objeto, todas as alterações são validadas para que os membros da equipe podem corrigi-los imediatamente e evitar esses erros de implantação para um banco de dados ao vivo. Depois de resolver avisos em definições de objeto, você também deve considerar a analisar seu código de banco de dados por questões de design, nomeação de questões e problemas de desempenho. Para obter mais informações, consulte Analisando o código do banco de dados para melhorar a qualidade do código.

Tarefas comuns

Tarefas comuns

Conteúdo de apoio

Saiba mais sobre os projetos de banco de dados e as limitações de projetos parciais e compostos: Você pode ler sobre os conceitos básicos de como gerenciar as mudanças de esquema por meio de projetos de banco de dados.

Obtenha a prática: Você pode seguir uma explicação passo a passo introdutória para se familiarizar com como particionar um projeto de banco de dados usando projetos parciais ou usando os projetos de composição.

Coloca um esquema de banco de dados existente no controle de versão: Criar um projeto, definir configurações de projeto e importar um esquema usando o Assistente de projeto de banco de dados. Se você deseja importar o esquema mais tarde, ou se você não tem permissão para acessar o banco de dados a partir do qual você deseja importar o esquema, você também pode criar um projeto vazio. Depois de importar o esquema, você pode adicionar o projeto ao controle de versão.

Um projeto de banco de dados para compartilhar as definições de objeto de partição: Você pode exportar definições de objeto de um projeto de banco de dados e reutilizá-los em outro projeto. Até mesmo os membros da equipe que podem acessar o projeto para os quais você importa a definição do projeto parcial não podem modificar os objetos importados. Portanto, você pode controlar alterações para subconjuntos de seu código de banco de dados.

Adicione referências para criar um projeto de composição: Você cria um projeto composto adicionar referências a um projeto de banco de dados, mas não especificar valores para as variáveis de servidor e banco de dados. Quando você implanta um projeto, você também implantar quaisquer projetos que faz referência a ele.

Usos e limitações dos projetos parciais

A ilustração a seguir mostra um cenário típico que envolve projetos parciais:

Usando projetos parciais na edição de banco de dados

Projetos parciais no Database Edition

Neste exemplo, um projeto contém dois conjuntos de objetos. Você deseja que outro desenvolvedor ou equipe para adicionar os procedimentos armazenados para o projeto, mas você deseja impedir alterações acidentais a outros objetos. Para atingir essa meta usando projetos parciais, você deve executar as seguintes etapas:

  1. Você pode exportar os grupos de objetos, por esquema ou por tipo de objeto, em A.files e B.files.

  2. Você criar um segundo projeto de banco de dados no qual o desenvolvedor ou equipe irá criar procedimentos armazenados (às vezes chamados de sprocs).

  3. Importe projetos exportados parciais, A.files e B.files, o segundo projeto de banco de dados.

  4. Você restringir as permissões de controle da código de origem para os objetos nos projetos importados parciais para permitir apenas acesso somente leitura.

Neste ponto, o desenvolvedor ou equipe pode adicionar objetos e construa e implante seu projeto para testar suas alterações.

Talvez você não consiga importar projeto parcial (o arquivo. Files) para outro projeto de banco de dados, se o seu banco de dados contém objetos que têm nomes longos ou o caminho em que você criou o projeto de banco de dados é longo. Você pode evitar esses problemas se você tratar as sugestões a seguir:

  • Crie seus projetos de banco de dados em uma pasta que possui um nome de caminho mais curto. Por exemplo, "D:\MyProjects" pode ser uma escolha melhor que "C:\Documents and Settings Documentos\Visual Studio 2008\Projects".

  • Evite nomes muito longos para os objetos de banco de dados. As chaves externas são o tipo mais comum do objeto para têm nomes longos. Se o nome da chave estrangeira é "fk_referencingtable_referencedtable_referencedcolumn1_referencedcolumn2", erros podem aparecer quando você tenta importar um projeto parcial que contém a definição dessa tecla.

Usos e limitações dos projetos composto

A ilustração a seguir mostra um cenário típico que envolve projetos composto:

Usando projetos composto no banco de dados Edition

Projetos compostos no Database Edition

Neste exemplo, você pode criar um projeto de banco de dados que contém as definições de seus esquemas. Em seguida, crie um segundo projeto de banco de dados que contém as definições de tabelas e modos de exibição e um terceiro projeto que contém as definições de quaisquer procedimentos armazenados do banco de dados. O terceiro projeto (C do projeto de banco de dados) tem referências para outros projetos de banco de dados de dois. Quando você criar e implanta o projeto de terceiro, você também implantará os outros projetos automaticamente.

Se você usar projetos composto, você deve ser capaz de criar e implantar cada projeto de forma independente. Você não pode ter dependências circulares entre os projetos em um projeto de composição. Você pode usar projetos composto para particionar o seu banco de dados por tipo de objeto. Por exemplo, você pode colocar os esquemas em um projeto, tabelas e modos de exibição em outro projeto, e um terceiro de procedimentos armazenados no projeto.

Cenários relacionados