Visual Studio Team System for Database Professionals David Truxall, Ph.D. Principal Consultant NuSoft Solutions
Agenda VSTS for Database Professionals <ul><li>Overview </li></ul><ul><li>Schema Management </li></ul><ul><li>Unit Testing...
Visual Studio Team System Visual Studio Team Suite MSF Process and Guidance Visual Studio Team Foundation Server Visual St...
Visual Studio Team System Team Edition for Database Professionals <ul><li>Take control of database change </li></ul><ul><u...
Schema Management <ul><li>Source Control </li></ul><ul><li>Build and Deployment </li></ul><ul><li>Refactoring </li></ul><u...
Schema Management <ul><li>Difficult to Manage Change to the schema </li></ul><ul><li>Production Database is one version of...
Schema Management <ul><li>Schema Change now managed in VSTS and TFS </li></ul><ul><li>Production  Database  is now “One ve...
Control the Schema <ul><li>Project-Based </li></ul><ul><ul><li>High Granularity - “Object Level” </li></ul></ul><ul><ul><u...
Build and Deployment <ul><li>Project under Source Control is the “truth”, not the production database </li></ul><ul><li>Bu...
Refactoring <ul><li>Rename any schema object </li></ul><ul><li>Updates all references in… </li></ul><ul><ul><li>Schema Obj...
 
Database Comparison <ul><li>Schema </li></ul><ul><li>Data </li></ul><ul><li>Visual Comparison </li></ul><ul><li>Generate C...
Visual Display of Schema Differences Automatically Produce  Script to Deploy Compare Schemas Across Projects and Databases
Demo <ul><li>Import Schema </li></ul><ul><li>Refactor </li></ul><ul><li>Schema Compare </li></ul>
Unit Testing <ul><li>Generate Test Data </li></ul><ul><li>Unit Tests </li></ul>
Data Generation Plans allow you to create meaningful/repeatable test data
Generate Test Data <ul><li>Types </li></ul><ul><li>Constraints </li></ul><ul><ul><li>Min/Max </li></ul></ul><ul><li>Distri...
Data Generators <ul><li>Simple </li></ul><ul><ul><li>Strings </li></ul></ul><ul><ul><li>Numbers </li></ul></ul><ul><ul><li...
Unit Tests <ul><li>Generate test stubs </li></ul><ul><ul><li>Stored Procedures, Triggers, Functions </li></ul></ul><ul><li...
Unit Tests <ul><li>Automatic Deployment Integration </li></ul><ul><ul><li>Deploys Database project </li></ul></ul><ul><ul>...
Unit Test Database Code (Sprocs, Views, Triggers, etc.) Specify Result  Conditions
Demo <ul><li>Generate Data </li></ul><ul><li>Unit Testing </li></ul>
Latest Downloads <ul><li>Service Release 1 http://support.microsoft.com/kb/936612/ </li></ul><ul><ul><li>Cross-Database Re...
What about VS 2008? <ul><li>For DBPro, it is essentially DBPro with the Service Release 1 code </li></ul><ul><li>Other VST...
Resources <ul><li>Team Site   http://msdn2.microsoft.com/en-us/teamsystem/aa718764.aspx </li></ul><ul><li>Product Forum ht...
Agenda VSTS for Database Professionals <ul><li>Overview </li></ul><ul><li>Schema Management </li></ul><ul><li>Unit Testing...
Thanks! [email_address] http://dotnetjunkies.com/WebLog/davetrux/
Upcoming SlideShare
Loading in …5
×

Visual Studio 2005 Database Professional Edition

3,113 views
3,025 views

Published on

The features in Visual Studio 2005 for Database Professionals

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,113
On SlideShare
0
From Embeds
0
Number of Embeds
16
Actions
Shares
0
Downloads
99
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Visual Studio 2005 Database Professional Edition

    1. 1. Visual Studio Team System for Database Professionals David Truxall, Ph.D. Principal Consultant NuSoft Solutions
    2. 2. Agenda VSTS for Database Professionals <ul><li>Overview </li></ul><ul><li>Schema Management </li></ul><ul><li>Unit Testing </li></ul>
    3. 3. Visual Studio Team System Visual Studio Team Suite MSF Process and Guidance Visual Studio Team Foundation Server Visual Studio Industry Partners Software Architects Software Developers Software Testers Database Professionals Visual Studio Team Explorer Application Modeling Infrastructure and Deployment Modeling Code Analysis Performance Tuning Security Analysis Database Deployment Database Change Mgmt. Database Testing Performance Testing Manual Testing Test Case Management Change Management Work Item Tracking Reporting Project Site Build Services Project Management Load Test Agent New! Visual Studio Professional Edition Class Modeling Unit Testing
    4. 4. Visual Studio Team System Team Edition for Database Professionals <ul><li>Take control of database change </li></ul><ul><ul><li>Offline, change management of the database schema </li></ul></ul><ul><ul><li>Data and Schema Compare tools </li></ul></ul><ul><ul><li>Automated refactoring of database objects </li></ul></ul><ul><li>Automate database testing to improve quality </li></ul><ul><ul><li>Unit testing for database queries </li></ul></ul><ul><ul><li>Automatic generation of meaningful test data </li></ul></ul><ul><li>Bring data professionals into the lifecycle </li></ul><ul><ul><li>Provide full Visual Studio Team System support </li></ul></ul><ul><ul><li>Support Work Item tracking for database changes </li></ul></ul>
    5. 5. Schema Management <ul><li>Source Control </li></ul><ul><li>Build and Deployment </li></ul><ul><li>Refactoring </li></ul><ul><li>Database Comparison </li></ul>
    6. 6. Schema Management <ul><li>Difficult to Manage Change to the schema </li></ul><ul><li>Production Database is one version of the truth for Data and Schema </li></ul><ul><li>DBA doesn’t have access to changes until he/she has deploy or reject choice </li></ul><ul><li>Changes often made to production database and not rolled back into test </li></ul>Tuning Monitoring “ One Version of the Truth” for Data and Schema Schema Changes Production Database Management Studio Schema
    7. 7. Schema Management <ul><li>Schema Change now managed in VSTS and TFS </li></ul><ul><li>Production Database is now “One version of the truth” only for Data </li></ul><ul><li>DBA doesn’t have access to changes until he/she has deploy or reject choice </li></ul><ul><li>“ One Version of the truth for Schema” is Under Source Control </li></ul>Tuning Monitoring “ One Version of the Truth” for Data “ One Version of the Truth” for Schema <ul><li>Offline </li></ul><ul><li>Under Source Control </li></ul>Schema Changes <ul><li>Changes can be rolled out in a scheduled, managed way </li></ul><ul><li>Scripts allow administrators to mange change updates </li></ul>Production Database Management Studio Schema
    8. 8. Control the Schema <ul><li>Project-Based </li></ul><ul><ul><li>High Granularity - “Object Level” </li></ul></ul><ul><ul><ul><li>Each DB object is a file </li></ul></ul></ul><ul><ul><ul><li>T-SQL, DDL </li></ul></ul></ul><ul><li>Offline </li></ul><ul><ul><li>Production server is no longer the “truth” </li></ul></ul><ul><li>Under Version Control </li></ul><ul><ul><li>TFS </li></ul></ul><ul><ul><li>Supports continuous integration </li></ul></ul>
    9. 9. Build and Deployment <ul><li>Project under Source Control is the “truth”, not the production database </li></ul><ul><li>Build a Deployment Script </li></ul><ul><ul><li>VSTS </li></ul></ul><ul><ul><li>SQL Management Studio </li></ul></ul><ul><ul><li><gasp!> Command line </li></ul></ul><ul><li>Data Loss Prevention </li></ul><ul><li>Automatic Backups </li></ul><ul><li>DBPro must be installed on the build server </li></ul>
    10. 10. Refactoring <ul><li>Rename any schema object </li></ul><ul><li>Updates all references in… </li></ul><ul><ul><li>Schema Objects </li></ul></ul><ul><ul><li>Data Generation Plans </li></ul></ul><ul><ul><li>Scripts </li></ul></ul><ul><ul><li>DB Unit Tests </li></ul></ul><ul><li>Preview Changes </li></ul><ul><li>Global Undo </li></ul>
    11. 12. Database Comparison <ul><li>Schema </li></ul><ul><li>Data </li></ul><ul><li>Visual Comparison </li></ul><ul><li>Generate Change Scripts </li></ul>
    12. 13. Visual Display of Schema Differences Automatically Produce Script to Deploy Compare Schemas Across Projects and Databases
    13. 14. Demo <ul><li>Import Schema </li></ul><ul><li>Refactor </li></ul><ul><li>Schema Compare </li></ul>
    14. 15. Unit Testing <ul><li>Generate Test Data </li></ul><ul><li>Unit Tests </li></ul>
    15. 16. Data Generation Plans allow you to create meaningful/repeatable test data
    16. 17. Generate Test Data <ul><li>Types </li></ul><ul><li>Constraints </li></ul><ul><ul><li>Min/Max </li></ul></ul><ul><li>Distribution </li></ul><ul><ul><li>Uniform, Normal, Inverse Normal, Exponential, Inverse Exponential </li></ul></ul><ul><li>Number of Rows </li></ul>
    17. 18. Data Generators <ul><li>Simple </li></ul><ul><ul><li>Strings </li></ul></ul><ul><ul><li>Numbers </li></ul></ul><ul><ul><li>Date and Time </li></ul></ul><ul><li>Complex </li></ul><ul><ul><li>Foreign key </li></ul></ul><ul><ul><li>Regular Expression </li></ul></ul><ul><ul><li>Data Bound (database lookup) </li></ul></ul><ul><li>Custom </li></ul>
    18. 19. Unit Tests <ul><li>Generate test stubs </li></ul><ul><ul><li>Stored Procedures, Triggers, Functions </li></ul></ul><ul><li>Validation/Assertions </li></ul><ul><ul><li>T-SQL Based </li></ul></ul><ul><ul><ul><li>RAISEERROR command </li></ul></ul></ul><ul><ul><li>Client-Side Assertions </li></ul></ul><ul><ul><ul><li>Non-Empty, Empty, Row Count, Execution Time </li></ul></ul></ul><ul><li>Pre and Post test scripts </li></ul>
    19. 20. Unit Tests <ul><li>Automatic Deployment Integration </li></ul><ul><ul><li>Deploys Database project </li></ul></ul><ul><ul><li>Automatically generate test data based on data generation plan </li></ul></ul><ul><li>Customizable </li></ul><ul><ul><li>Built on VSTS Test </li></ul></ul><ul><ul><li>C# or VB.Net code </li></ul></ul>
    20. 21. Unit Test Database Code (Sprocs, Views, Triggers, etc.) Specify Result Conditions
    21. 22. Demo <ul><li>Generate Data </li></ul><ul><li>Unit Testing </li></ul>
    22. 23. Latest Downloads <ul><li>Service Release 1 http://support.microsoft.com/kb/936612/ </li></ul><ul><ul><li>Cross-Database References </li></ul></ul><ul><ul><li>Set variables in deployment scripts </li></ul></ul><ul><ul><li>Support for SQL Server sp2 </li></ul></ul><ul><li>PowerTools http://go.microsoft.com/fwlink/?LinkId=88852 </li></ul><ul><ul><li>More Refactoring options </li></ul></ul><ul><ul><li>More Data Generators </li></ul></ul><ul><ul><li>MSBuild Tasks </li></ul></ul>
    23. 24. What about VS 2008? <ul><li>For DBPro, it is essentially DBPro with the Service Release 1 code </li></ul><ul><li>Other VSTS features, like code coverage come into play </li></ul><ul><li>Built into the Installer </li></ul><ul><li>Some bug fixes </li></ul>
    24. 25. Resources <ul><li>Team Site http://msdn2.microsoft.com/en-us/teamsystem/aa718764.aspx </li></ul><ul><li>Product Forum http://forums.microsoft.com/msdn/showforum.aspx?forumid=725&siteid=1 </li></ul><ul><li>Blogs http://blogs.msdn.com/camerons http://blogs.msdn.com/sachinre </li></ul>
    25. 26. Agenda VSTS for Database Professionals <ul><li>Overview </li></ul><ul><li>Schema Management </li></ul><ul><li>Unit Testing </li></ul>
    26. 27. Thanks! [email_address] http://dotnetjunkies.com/WebLog/davetrux/

    ×