Category: Blog

  • Automated Build and Test

    Continuous Integration (CI) is a well known process in the software development world, but it’s not often implemented with databases. This is despite the fact that database code could benefit from the practice of checking the changes on a regular basis for potential issues. This talk will show how to implement continuous integration for databases and include more realistic testing of the code for potential issues.

    We will set up CI for a SQL Server database project, using the following tools:

    • Team City (CI Server)
    • Subversion (VCS)
    • SQL Automation Pack (database -> CI integration)
    • tSQLt  testing framework
    • SQL Data Generator

    Slides

  • Team-based Database Development with Version Control

    An efficient development process requires that all of your team members coordinate their efforts. This session shows how a version control system (VCS) and standard development practices help improve the speed and quality of your development process.

    This talk will look at:

    • reasons for using VCS
    • methods for including a database in version control
    • how we share changes from a VCS
    • linking static data in VCS
    • enforcing standards in development

    Length: 60-75 minutes

    Slides:

  • Filestream needs MAX

    I wrote today’s Question of the Day for SQLServerCentral on Filestream. I asked which data type was needed for Filestream data, and gave a few choices. Someone pointed out that I wasn’t complete in my choices, and that was by design.

    Filestream is an attribute placed on a column, not a datatype. Why it couldn’t be a datatype, I’m not sure, but that would have saved some confusion. In any case, there’s only one data type that can take the Filestream attribute, and that’s varbinary(max).  Not varchar(max), not varchar, and not variant. There isn’t, of course, a FILESTREAM type.

    However I didn’t want to include MAX since I thought it might sway people towards varbinary, and I was really hoping to teach people, not have them guess. I supposed I could have included MAX with all types, but to me, the (MAX) is also an attribute for the type.

    I think it’s a good question, but if you disagree, let me know. Writing better questions is something I want to do to help the community learn.

  • An easy travel week for SQL in the City and SQL Saturday #190

    This week I have two more events in my busy fall schedule: a SQL in the City Seminar on development and SQL Saturday #190. However my travel plans are limited to getting in my car and driving from the ranch to the Denver Tech Center for both events. These are rare, local events for me and a nice break from the 8 or 9 other events the rest of this year that I need to travel to.

    It’s going to be a busy week, however. I have to deliver the whole Friday event myself, which is a lot of speaking. I did 2 of the 3 sessions earlier this year, so it’s not a long stretch, and it’s certainly easier than the full day pre-cons and training sessions that you get from Brent Ozar, Unlimited or SQLskills, but I feel some pressure since I don’t have any supporting cast and it’s a local event. Plus this will be my first time delivering one of the sessions. Fingers crossed the demo gods are kind to me.

    On Saturday I have just one session on branding, which I enjoy talking about. After that, it will likely be a shorter day for me as I travel again on Tuesday for DevConnections. However I hope to see a few friends and meet new people at the event. Come on by if you can.