Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)
Traga seu banco de dados para o ALM (Lightning Talk - Trilha ALM)
1. TDC 2011 – Trilha ALM Tragaseubanco de dados para o ALM Igor Abade V. Leite @igorabade Microsoft MVP – Visual Studio ALM
2. O Problema Historicamentebancos de dados têmsidoimplementadosusandoferramentas e processosdesconexos do desenvolvimento de aplicações Difícil de implementarcontrole de mudança
3. O Problema Difícil de integrar o desenvolvimento de BDs naGestão do Ciclo de Vida de Aplicações (Application Lifecycle Management - ALM) Hojeemdia o mesmodesenvolvedortipicamenteimplementa a camada de acesso a dados e o própriobanco de dados
4. A Solução Estabelecer e suportar um Ciclo de Vida de Desenvolvimento de Bancos de Dados (Database Development Lifecycle - DDLC) Ferramentas, metodologias e processospara o desenvolvedor de BDs Integrar o DDLC aoresto do ciclo de ALM
5. Database Development Lifecycle (DDLC) Desenvolvabancos de dados usandoferramentas e processossimilares a desenvolvimento de aplicações Escrevacódigo T-SQL direto no Visual Studio Deixe o desenvolvedordeclarar o queelequer – CREATE TABLE Clientes(…); A ferramentaque “se vire” paradescobrircomocriar/modificar o banco de dados Use as mesmasferramentas de autoria e gestão de código Controle de Versão, Refactoring, Análise de Código, Testes de Unidade, Automação de Build
6. Integrando DDLC com ALM Implemente as mudançasemcadacamada da aplicação a partir da mesmaSolução do Visual Studio Use Controle de Versão (ex. TFS) paraacompanhar e gerenciarmudançasfeitas a cadacamada Use Testes de Unidadeparaverificarautomaticamente as interações entre aplicação/camada de negócios e o banco de dados
29. Projeto DAC Subconjunto de objetos SQL Logins, Database Roles, Users Tables, Views, User Defined Types,Stored Procedures, Triggers & Functions
30. Conceitos Básicos de DAC Projeto de Aplicação de Camada de Dados Novo tipo de projeto de banco de dados no VS 2010. Baseado no modelo de projetospré-existente (SQL) Experiência de primeiraclasseparadesenvolvimento T-SQL/DAC Desenvolvedorespodemdeclararintenção Resultado da compilação = .dacpac ComponenteparaAplicação de Camada de Dados Melhoracolaboração entre Dev e DBA Move desenvolvedores de um modeloprocedural para um declarativo – Fim do “ALTER TABLE” Foco da V1 é aplicativodepartamental Data-tier Application Component Schema PHYSICAL Users, Logins, Indexes LOGICAL Tables, Views, Constraints, SProcs, UDFs, Unit of Deployment DAC Deployment Profile Deployment Requirements, Management Policies, Failover Policies
31. Bancos de Dados Alvos do DAC Focus of DAC v1 Number of Apps 100 - 1000s de pequenasaplicações GrandesLOBs não são o alvo CRM ERP App Sophistication
32. Define as políticasque a instância do SQL devesuportarparareceber o DAC ObjetosProgramáveisSuportados Objetos de SegurançaSuportados Estrutura de Projetos DAC
34. Projeto de Banco de Dados (SQL) Desenvolvimentodeclarativo de bancos de dados para SQL Server 2005 e 2008 (Oracle com plugin Toad) Suportareferênciasparaprojetos do tipo SQL CLR XSDs Outros projetos de banco de dados Design de grandesbancos de dados podemserfatoradosemprojetosmenores Suportareuso de código Simplificagerenciamento de projetos multi-time e multi-local
35. Estrutura de ProjetosSQL Variáveis SQLCMD permitemquevocê compile seuprojeto de banco de dados umaúnicavez e o implanteemservidores/bases diferentes Projetos de banco de dados representam a definição de um banco de dados de usuário Configurações SQL permitemajustar as propriedades do banco de dados quando da suaimplantação Projetos de Servidorrepresentam a definição do banco de dados Master, bemcomoobjetos de servidorcomo logins e mensagens de erro Configurações de implantaçãopermitemcontrolar o processo de implantação das alterações de um banco de dados no servidor de destino
36. O quehouve com os projetos DBP? Os projetos DBP (ou “projetos de banco de dados”) não estãomaisdisponíveis no VS 2010 ForamsubstituídospelosprojetosSQL Projetos DBP não sãomigradosautomaticamenteparaprojetos SQL Para migrar, é possívelcriar um novo projeto SQL e depoisimportar os scripts do projeto DBP. Outraalternativa é importar o esquema do banco de dados Para maisinformações, consulte a documentação no site MSDN.
Hinweis der Redaktion
The list of SQL objects supported by DAC projects is available on MSDN: http://msdn.microsoft.com/en-us/library/ee210549(SQL.105).aspx
DAC projects are designed to support “Tier 1” databases. That is, small databases. DACs are limited to 1000 objects (Tables, Views, Stored Procedures) and the build output (.dacpac) is limited in size 50 MB.Database projects have no limitations in terms of number of objects or the size of the build output artifact (.dbschema). The only limitation is memory and disk space.An important consideration when choosing between DAC and SQL Database projects is the amount of data stored in the database. When updating an existing DAC all of the data in the previous version of the database is copied to the new version of the DAC. This can have significant performance implications because the previous version of the database is take off line during the data move. For this reason it is recommended that DAC’s never contain more than 3 GB of data. SQL database projects are updated “in place.” That is, existing objects are modified using ALTER statements if the SQL engine allows it. Data is only copied of the SQL engine does not support ALTERing an object to implement the schema change defined by the developer. For databases with a significant amount of data this results in significant performance benefits.
Syntactic Validation – Syntactic validation is performed by the parser. For example, an error will be generated by the use of undefined keywords or identifiers.Semantic Validation – Semantic validation is done by the interpreter as well as static code analysis. For example, SQL does not allow an XML index to be defined on an XML column_set column. While this is syntactically legal it is semantically incorrect. The “Maintain compatibility between types” static code analysis rule will detect if an operation might result in data loss due to type conversion.Database Version Control – DAC implements the ability to track and manage different versions of a DAC. This is analogous to managing different versions of a managed code assembly.
Visual Studio Premium and Ultimate users get the full functionality of the various ALM features. Schema Compare, Data Compare and Refactoring are not supported in the Professional SKU. Professional SKU licensees may only execute existing Unit Tests, Static Code Analysis rules and Data Generation plans. These unit tests, SCA rules and DGen plans must have been implemented by a developer using the Premium or Ultimate SKU.
To give you an idea of the types of customer applications we’re targeting for the Kilimanjaro release, we came up with this picture. From left to right, the application sophistication increases and from bottom to top the number of applications increase.So in the bottom right, we have very large but very few line-of-business applications, these typically have dedicated resources managing them. In the opposite corner, the top left, we see 100-1,000s of small apps, sometimes called departmental apps. It’s these smaller apps that are growing in numbers at a faster rate than the DBAs can effectively manage. <click> This is where our focus is today.