Successfully reported this slideshow.
Your SlideShare is downloading. ×

Sql source control

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 24 Ad
Advertisement

More Related Content

Slideshows for you (20)

Advertisement

Similar to Sql source control (20)

Recently uploaded (20)

Advertisement

Sql source control

  1. 1. Click here to _START_
  2. 2. about.me • Lead Game Designer/Dev - QONQR • Independent Consultant – MS Stack • Leadership Team – Twin Cities Code Camp • Co-Leader – Twin Cities .Net User Group • Level 80 Draenei Enhancement Shaman (retired) • (@apickett != Accountant || Lawyer || Fortune Teller || Diamond Level Starcraft II)
  3. 3. I can haz Shared Dev DB?
  4. 4. Local Dev DBs = happy devs :D
  5. 5. …Until Integration timez
  6. 6. What we’ll cover • SQL under Source Control 20% effort • Check in Schema, Ref Data, Migration Scripts BIG REWARD! • Revision History • Merge Conflicts • Database Continuous Integration & Deploy 80% effort • Automated Builds MEGA REALLY • Automated Database Deploy HUGE REWARD! • from Source Control to target environment
  7. 7. K. Scott Allen – Three Rules for DB work • 1. Never use a shared database server for development work. • 2. Always Have a Single, Authoritative Source For Your Schema • 3. Always Version Your Database http://odetocode.com/blogs/scott/archive/2008/01/30/three-rules-for- database-work.aspx
  8. 8. Benefits of DB Source Control • Same as putting ur codez in SC! • Freedom to refactor (safely with rollbacks) • Rapid iteration & integration • Check in logs & history • Schema Compare • Data Compare • Automated builds and integration tests (correctness) • Via Coding Horror: Is Your Database Under Version Control? http://www.codinghorror.com/blog/2006/12/is-your-database-under-version- control.html
  9. 9. Build vs Buy As devs we’re wizards capable of magicing up anything. Friendly adivce: Avoid that temptation (unless it’s your core business) - Team of 8. ½ a Dev year to maintain and extend custom rolled solution
  10. 10. Microsoft 1st party
  11. 11. Microsoft 1st party • VS Database projects • VS 2010 • Database Project (.dbproj) • Server Project • Data-tier Application (DAC) • http://msdn.microsoft.com/en-us/library/ee240739(SQL.105).aspx • VS2011 = .sqlproj • Moving to Sql Server Developer tools (SSDT) code named "Juneau". • http://msdn.microsoft.com/en-us/magazine/hh394146.aspx • VS Schema compare • Requires Visual Studio Premium or Ultimate • Command Line VSDBCMD.EXE
  12. 12. Microsoft 1st party • Dacpac • Serializes DB schema to XML (?) • Versionable, but tricky to do diffs (?) • Targeted at managing handoff of schema between Dev and Prod • Think similar to how IT systems hands off VMs • http://www.slideshare.net/andrewmatthewthompson/sql-aure-and-datatier- applications-dacpac • Bacpac • Extends Dacpac to include Table Data
  13. 13. Off the shelf Red Gate SQL Compare rom $295. DB Ghost from $195, recommended by Mike Hadlow here SQL Change Manager $995 per instance. SQL Effects Clarity standard ed. from $139; community ed. free. SQLSourceSafe from $129. sqlXpress Diff contact for price. :-( Embarcadero Change Manager contact for price. :-( Apex SQL Diff from $399 SQL Source Control 2003 from $199 SASSI v2.0 professional from $180 (looks free on their site, but apparently isn't) Evorex Source # shareware or $299+ (conflicting reports!) DB maestro Via http://secretgeek.net/dbcontrol.asp (2006!)
  14. 14. Enter Redgate SQL Source Control
  15. 15. Redgate • Sql Source Control (~$250 per seat) 20% effort AND cost! • Sql Toolbelt (~$1500 per seat) 80% effort • Sql Compare and cost • Sql Data Compare (but worth it!) • Sql Data Generator • Sql Azure Backup (free)
  16. 16. DEMO!
  17. 17. Conflicts
  18. 18. Continuous Integration • Build Scripting • MSBuild • Nant • Powershell • CI build servers • Team City • Cruise Control • Jenkins (formerly Hudson) • Team Foundation Server
  19. 19. Continuous Deployment (Web) Web Projects • MS Web Deploy • Windows Server (Web Management Service - WMSVC) • Windows 7/Vista/XP (MsDepSvc) • Different on IIS 6 vs 7
  20. 20. Continuous Deployment (Data) Team City -> Auto Deploy Data Build step 1) Deploy schema C:Program Files (x86)Red GateSQL Compare 9SQLCompare.exe /scr1:%teamcity.build.checkoutDir%/Data /server2:(local) /db2:tccc12_prod /Sync /Include:identical /Report:Report/SchemaDiffReport.html /ReportType:Interactive /ScriptFile:Report/SchemaSyncScript.sql /Force /Verbose ------------------- Build step 2) Deploy Reference Data C:Program Files (x86)Red GateSQL Data Compare 9SQLDataCompare.exe /scr1:%teamcity.build.checkoutDir%/Data /server2:(local) /db2:tccc12_prod /Sync /Include:table:Country /Include:identical /ScriptFile:Report/DataSyncScript.sql /Force /Verbose
  21. 21. Team City - Version Control settings
  22. 22. Mother of all builds vs Linked Build
  23. 23. Take aways Job 1: Get your Sql under Source Control! Job 2: Get Sql into your CI builds! Job 3: Test your Data continuously! Job 4: Deploy continually! Job 5: Profit!
  24. 24. Resources Online • K Scott Allen: Three Rules for Database Work: • http://odetocode.com/blogs/scott/archive/2008/01/30/three-rules-for-database- work.aspx • Coding Horror: Is Your Database Under Version Control? • http://www.codinghorror.com/blog/2006/12/is-your-database-under-version- control.html • Troy Hunt – Rocking your SQL Source Control world with Red Gate • http://www.troyhunt.com/2010/07/rocking-your-sql-source-control-world.html • http://www.troyhunt.com/2011/02/automated-database-releases-with.html Vendors • Microsoft • Redgate

×