Category: Blog

  • Flyway Tips: Analytics Platforms (Snowflake and Databricks)

    I’m really excited about some growth in Flyway support. I’ve been asking about this for some time and we now have Databricks and Snowflake support.

    I’ve been working with Flyway and Flyway Desktop and helping customers improve their database development. This series looks at some tips I’ve gotten along the way.

    Analytic Platforms

    There has been tremendous growth in the usage, and the capabilities of many major analytics platforms. A few years ago Snowflake was the dominant platform, but Databricks has grown quite a bit. I still don’t see a ton of Fabric usage (outside of PowerBI), but it’s on our radar.

    I wanted to note that both Snowflake and Databricks advannced capabilities  in Flyway have moved to General Availability (GA). Both capabilities were developed quickly, with the help of AI. We knew what we wanted, we’d designed this, and our engineers were porting over functionality we knew how to build, guiding AI to get the work done quicker than humans typing.

    Both of those platforms help with managing notebooks in a software development lifecycle, but they don’t do much for schema changes. Esp if you don’t want a desired state configuration, which can be complex to manage in a team world.

    When I create a new project, I have options for Databricks:

    2026-10_0191

    and Snowflake

    2026-10_0192

    You can read about the advanced capabilities for Snowflake and Databricks, and then start getting those teams to use a well tested, tried-and-true, repeatable, reliable deployment process in Flyway. The same way you do for other platforms.

    Summary

    I’ve been wanting us to add capabilities for these platforms for some time. Thanks to all customers who’ve provided feedback as that helped us press the teams to prioritize the analytics work.

    If you work with Flyway, and you are looking for other platforms, please email a request to your AE or sales@red-gate.com. Those emails, with the details of the need and size of team help us get work done.

    Flyway is an incredible way of deploying changes from one database to another, and now includes both migration-based and state-based deployments. You get the flexibility you need to control database changes in your environment. If you’ve never used it, give it a try today. It works for SQL Server, Oracle, PostgreSQL and nearly 50 other platforms.

  • The Book of Redgate: Fun with Images

    We’ve celebrated our birthday many times at Redgate. In the Book of Redgate – 2012 edition, the book opens with a photo album of the early years.

    2026-07_0416

    We’ve got a bunch of images from up high, where employees were spelling out our anniversaries. We have the 12th anniversary here, with a disorganized view.

    2026-07_0418

    and an organized one.

    2026-07_0417

    There are other photos in the book as well, which mimic what we have in the offices. In each location, we have some photoboards where we’ve captured moments and memories from the past. Here’s one of the boards in Cambridge.

    2026-09_0153

    Here’s the packed on in Pasadena.

    2026-09_0152

    I love that we still share  physical photos, as well as lots of digital images. Slack and our in-office monitors are constantly displaying photos of things happening at Redgate.

    It’s a neat way to bring a little levity to what can be a stressful environment at times.

     

    I have a copy of the Book of Redgate from 2010. This was a book we produced internally about the company after 10 years in existence. At that time, I’d been there for about 3 years, and it was interesting to learn a some things about the company. This series of posts looks back at the Book of Redgate 15 years later.

  • The #MS_DatabaseConnector## Role: #SQLNewBlogger

    I had seen these roles in various instances, but never dug into the new Fixed Server roles added to SQL Server. They are supposed to help ensure the principle of least privilege is followed.

    In this post, I look at one of these, the ##MSDatabaseConnector## role.

    Another post for me that is simple and hopefully serves as an example for people trying to get blogging as #SQLNewBloggers.

    Users and Logins

    This role is a new one that contains very narrow permissions. It allows a login to connect to any database without requiring a user account mapping. Typically if I create a login for “Steve”, I also create a User in a database that maps here. The convention for most people is to create a user “Steve” that links to the login “Steve”. Typically this is with code like:

    CREATE LOGIN [Steve]
    WITH PASSWORD = N'asdfasdf' MUST_CHANGE,
         DEFAULT_DATABASE = [master],
         CHECK_EXPIRATION = ON,
         CHECK_POLICY = ON;
    GO
    USE [sandbox];
    GO
    USE [Westwind];
    GO
    USE [AdventureWorks];
    GO
    CREATE USER [Steve] FOR LOGIN [Steve];

    NOTE: This isn’t the real password.

    Note 2: Don’t use passwords like this

    NOTE 3: Don’t skip the checks.

    Here I am mapping a user to a login, and while the name is the same, these are different objects. If I want the user, Steve, to have access to objects in AdventureWorks, I need to grant rights, or add the user to a Role.

    I could also do this:

    USE [sandbox] GO CREATE USER [Stephan] FOR LOGIN [Steve] GO

    
    

    In the Sandbox database, there is no User Steve. Instead, you can see below from SSMS that there is a different user here. My database has no “Steve” in the users, but “Stephan” is mapped to the login Steve.

    2026-09_0090

    The Login properties shows this as well.

    2026-09_0091

    I added a new user with this fixed server role, and no other database mappings. Here is the server role:

    2026-09_0093

    And the user mappings (trust me these are all blank)

    2026-09_0094

    I then logged in with this user to the AdventofCode database. As you can see, there are no users here for this login.

    2026-09_0095

    The login can connect, however, and I see the current user as the login name.

    2026-09_0097

    What can the user do? Well, he can’t access this table, 2021.Day1.

    2026-09_0098

    He can access schemas, which I saw with SQL Prompt Intellisense. That makes sense as the sys.schemas dmv is open to the public.

    2026-09_0099

    I granted rights to public for one table.

    2026-09_0100

    The login (or user with public) can query this.

    2026-09_0112

    If I check permissions for the login, I don’t see anything in the database other than basic things: connect, view CEK, view DMK.

    2026-09_0113

    This is interesting. It’s like a pseudo-user has been created for this session, mapped to the login. I’m not sure if this is correct or intended, but it’s what I’ve observed.

    I don’t know how useful this permission is, though I’m sure someone has a use case where they want something like a monitoring system, or maybe a pen-test available to check what a public user can see in every database.

    SQL New Blogger

    While I was investigating this role, over the course of testing a few things in 10-15 minutes, I sketched this post. I then spent another 20 minutes capturing some code and screenshots to see how things work.

    This is a good post of evaluating how things work and better understanding the system. I could use this as guidance, and perhaps tell an AI whether this role is useful or not. Or to avoid it.

    Write your own post, maybe even using AI to help you learn about this role or others. Those skills will help you in the future and you can showcase them for others.

  • Great Things

    “Great things are done by a series of small things brought together.” – Vincent van Gogh, Dutch Post-Impressionist Painter.

    I ran across this quote recently and it struck me that it’s expresses a thought I’ve had for some time. Instant, magical success isn’t often what it appears. Anyone that seems to have sprung up overnight with success in anything has often spent a lot of time getting ready.

    Outside of lottery winners, of course. If you bought a ticket, that’s instant success. Unless you buy a dozen every week, then you’ve likely been doing your own (poor) preparation over time.

    Whether it’s software, sports, business, anything that takes off, goes viral, or suddenly catches the public’s collective eye is the result of a lot of small things. Practice, learning, continuous improvement. It’s a formula that works in music, in sports, in manufacturing, and in software.

    Perhaps the most important part of this quote is the ending. Things have to be brought together. In software, we work in teams, and we have to coordinate and collaborate. Whether with other human developers, AI agents, or Operations. We have to learn to ensure our efforts, our knowledge, our evolution works together. This might be especially important in ensuring database and application code changes mesh well. That’s becoming a concern for more organizations, and more management that realizes that the database has to become a part of the software development life cycle. Either developers need to learn more, or work closer with database staff.

    We can do great things, we can build amazing systems, but it takes effort, and it takes teamwork.

    Steve Jones

    Listen to the podcast at Libsyn, Spotify, or iTunes.

    Note, podcasts are only available for a limited time online.