Sep 17 – 18, 2026 · Jacksonville to Miami, Florida
JACKSONVILLE→DAYTONA→SANFORD→MIAMIbike loop out of Daytona, then south together
BEGIN TRANSACTION This is the day the trip stops being one vehicle, for a few hours anyway. The bike comes off the trailer at Destination Daytona and runs its own loop north to St. Augustine and back — the Santa Cruz just sits there and waits. Once the bike's reloaded, it's the same vehicle again for the last 230 miles to Miami.
Thursday · Sep 17
The Santa Cruz Leg
JAX → Daytona → US-17 → Seminole H-D → Miami
ð Santa Cruz + MC-10 trailer + loaded bike
ð8:00 AM out of Jacksonville, I-95 S, 95 miles to Destination Daytona. By 9:30 the bike's unloaded and I'm on foot in a 109,000-square-foot Harley showroom with nothing to do but wait.
⛽Buc-ee's, Daytona Beach — second fill-up of the morning, topped off at the Warner Robins Buc-ee's before leaving Macon. The Santa Cruz is good for maybe 250 miles towing the trailer, so this one was on the schedule from the start.
ð Four hours of downtime while the bike does its loop. Bike's back and reloaded by 2:15, then it's US-17 S through DeLand to Sanford — the long way, but it skips Orlando and I-4 entirely.
ðSeminole Harley-Davidson — 620 Hickman Circle, Sanford. One of Florida's largest-volume stores, and the last dealer stop before Miami. Santa Cruz stop, bike still on the trailer — chip and shot glass, no coin.
ð FL-417 S to the Turnpike, ~230 miles. One more fill-up around Okeechobee to stay ahead of the range, then the Hampton Inn Kendall by 7:30 PM. Long day for a car that spent four hours parked at a Harley dealership.
Thursday · Sep 17
The Bike Leg
Daytona → St. Augustine → Adamec → Ormond Loop → back
ð10:00 AM, off the trailer and north on I-95 — backtracking toward St. Augustine before the loop even starts, which feels wrong until you look at the map twice.
⛽Buc-ee's, St. Augustine — one of only two Buc-ee's in Florida as of this trip. Fuel and breakfast, tank full for the rest of the loop.
ðAdamec H-D St. Augustine — same exit as the Buc-ee's, a mile up the road. Then back south toward Teddy Morse's Daytona H-D, the world-famous one, showroom included. Both on the bike, both worth the coin.
ðīOrmond Scenic Loop — 32 miles, oak canopy tunnels, Tomoka State Park, High Bridge Rd for the curves. No stoplights the entire way. This is the part of the day I'd have done even without the excuse of a road trip.
⛽Buc-ee's, Daytona Beach — the loop's exit dumps out about a mile from here. Fuel, lunch, and back to the Santa Cruz to load up for the reunion drive south.
Friday · Sep 18
Miami — Trailer Down, Bike Up
Park 2 Store · Peterson's H-D South
ð Checkout from the Hampton Inn Kendall, straight to Park 2 Store and their automated gate. This is where the Santa Cruz and trailer sit for the next two days while the bike does the rest of the work.
ðPeterson's H-D South — 19825 S Dixie Hwy, ten minutes from the storage lot by bike. Check-in for the Cartel Baggers Key West Getaway opens at 9:00 AM, light breakfast on-site.
-
COMMIT TRAN
V-RodDBA · September 2026 · Miami, FL | Part 2 of 4 — next up: Key West, Cartel Baggers style
BEGIN TRANSACTION The Santa Cruz is towing the MC-10 trailer, the bike's riding shotgun on it, and somewhere around Bowling Green this stops being a road trip and starts being a full table scan of every Harley dealer between Indiana and the Key West. Three days, six H-D stops, and a Wednesday night talk in Jacksonville before the bike ever touches pavement on its own.
Monday · Sep 14
Lafayette to Nashville
~345 mi · Kentucky Dealer Run
ð Santa Cruz + MC-10 trailer, bike loaded
ð11:00 AM out of Lafayette, I-65 S toward Indianapolis. Nothing scenic about this leg — it's just the on-ramp to the rest of the week.
ðHarley-Davidson Louisville — 1700 Arthur St. Bluegrass H-D is closed Mondays, so this is the one that gets the visit. First of eleven dealers this trip; the browsing hasn't gotten old yet. Shot glass and poker chip — the standard haul at every stop, whether the bike's along for the ride or not.
ðHarley-Davidson Bowling Green — 251 Cumberland Trace Rd, right off I-65 Exit 22. In and out before 3:30.
⛽Buc-ee's, Smiths Grove KY — fuel for the Santa Cruz, 120 pumps, clocks fall back an hour crossing into Tennessee somewhere in the parking lot.
ð―#SQLFamily Dinner, Nashville — Jason & Sheila Romans (The Data Shepherd). Check in first, then whatever local spot we land on. Martin's, Peg Leg Porker, Edley's, and Shabu Shabu were all in the running — Peg Leg Porker won out, and it was phenomenal.
Tuesday · Sep 15
Nashville to Macon
~347 mi · Four Dealers, Two Buc-ee's
ð8:30 AM out of Nashville, I-24 E to I-75 S. Clocks jump forward again about 90 miles in, near Monteagle. Four Harley stops on the docket today, which is a lot of parking lots for one Tuesday.
ðWhite Lightning H-D, Chattanooga and Mountain Creek H-D, Dalton — back to back off I-75, 30 miles apart. Dalton's showroom is a couple miles off the highway, downtown.
⛽Buc-ee's, Adairsville GA — lunch from the food court, because the alternative is a gas station hot dog and I have standards.
ðSouthern Devil H-D, Cartersville and Harley-Davidson of Macon close out the dealer count for the day — six down, five to go. Six more shot glasses in the saddlebag.
⛽Buc-ee's, Warner Robins GA — topped off for tomorrow's ~320-mile push to Jacksonville. Arrive Macon by 4:45, evening free. Downtown Macon, exploring, dinner at leisure. No agenda for once.
ð―Dinner options on the list: Downtown Grill (the blackened steak, and reportedly where Gregg Allman proposed to Cher), Natalia's, The Iron Rail, and Back Burner — but The Rookery won out. Allman Burger, and the bartender, Tyler, steered me to the onion rings as the side. He was right.
Wednesday · Sep 16
Macon to Jacksonville
The Main Event — Jax Data User Group
ð7:30 AM out of Macon, quick top-off at the same Warner Robins Buc-ee's ten miles down the road, then I-16 E to I-95 S. Savannah passes by as a stretch stop, not a destination — that's a different trip.
ð 1:00 PM check-in at the Jacksonville hotel, and the bike comes off the trailer for the first time this trip — Adamec H-D Baymeadows, four miles away, is a bike-only errand.
ðAdamec H-D Baymeadows — 8909 Baymeadows Rd. Lunch on the bike beforehand, either Jax Beach or Julington Creek Fish Camp, depending on which direction feels right that morning. Back at the hotel by 2, bike reloaded onto the trailer by 2:30. First stop actually reached on the bike this trip — that earns a challenge coin on top of the usual chip and glass.
Community User Group
Jacksonville Data User Group
Four days of dealer parking lots, and the actual reason for the trip is a 90-minute talk on a Wednesday night at Keiser University. Dinner's provided, which means I get fed twice today if the timing works out.
ð Keiser University, Jacksonville — 6430 Southpoint Pkwyð Sep 16, 6:00 PM ETð In-PersonðĪ My session: "Your Script Called. It Wants to Be a Function" — building a copy-pasted script into a real, pipeline-friendly PowerShell function, live
Depart the hotel ~5:30, half a mile down the road, park, set up, greet organizers. SELECT * FROM audience WHERE curiosity = 'high' — the rest is up to the slides.
ð―Dinner after with the Taylor family at Dockside Seafood, Jax Beach — Mayport fried shrimp and hushpuppies. Tried for Cookies and Creme afterward, missed it by ten minutes.
ð Bike stays loaded on the trailer overnight — tomorrow it comes off again, this time in Daytona.
Sessionize Most Active Speaker 2025, and Redgate Community Ambassador two years running
This started in 2016, at my first SQL Saturday, in Chicago. I didn't know anyone. Andy Yun did, and introduced me to Hope Foley, and that was more or less it — ten years later I'm holding three badges I didn't see coming.
The following year I ended up on the Alaskan SQL Cruise with Tim Ford, and spent most of it with a full case of impostor syndrome — first year going to any major SQL event, surrounded by that much talent. It didn't really click until PASS Summit 2019, walking through the vendor expo with some coworkers. We passed the Microsoft booth, and Bob Ward greeted me. By name.
Attending was one thing; speaking was another. That took until PASS Summit 2022, where apparently everyone I talked to wanted to know why I didn't have a Speaker Ribbon on my badge. Jeff Taylor was the one who actually did something about it — "Submit to Jacksonville, and I'll give you a spot." That's the whole pitch that started my speaking career. PASS 2022 is also where I met Jason Romans and his wife Sheila, which turned into a real friendship; Jason started his own speaking journey the next year, at SQL Saturday Jacksonville 2023.
Sessionize sent me a badge earlier this year for all of that: Most Active Speaker, 2025.
The Redgate Ambassador title — the second year in a row now — has a good story behind it. Redgate Summit, Chicago, last March. Sitting at lunch, someone from Redgate introduced me to the table as a Community Ambassador — which, at that point, I was not. I wish I remembered who it was. I got home, applied for the actual program, and Louise Domeisen accepted me into it.
None of it happened alone.
Here's what the badges are, what they're actually for, and who I owe for them.
The Badges
Sessionize — Most Active Speaker, 2025. Based on submissions and sessions tracked through the platform over the year.
Redgate — Community Ambassador, 2025. For showing up to and supporting Redgate community events.
Redgate — Community Ambassador, 2026. Same reason, back for a second year.
Two badges, one program — Redgate hands the Ambassador title out annually, not as a lifetime achievement.
By the Numbers
2025 was 4 events and 4 presentations — SQL Saturday Jacksonville, Data Saturday Columbus, SQL Saturday St. Louis, and SQL Saturday Oregon & SW Washington. Not a huge number by conference-circuit standards, but apparently enough to move the needle on Sessionize's side of things. My full speaking CV has the rest of the history if you want it.
People Who Actually Earned This
Nobody gets a "most active speaker" badge by submitting to an empty inbox. Event organizers accepted the sessions, program committees picked the room and the time slot, and the people in the audience showed up and asked questions that made the next version of the presentation better. Ambassador is worse — that one's entirely about who invited me to the events in the first place.
Event & community organizers
•Andy Yun, SQLBek — the first friendly face at my first SQL Saturday, Chicago 2016, and the reason I met half the people on this list (sqlbek.wordpress.com)
•Jeff Taylor, JaxData — talked me into submitting my first session at PASS Summit 2022, and gave me my first speaking slot at SQL Saturday Jacksonville (jefftaylor.io)
•Peter Shore, CBusDATA — met somewhere on the Midwest SQL Saturday circuit — Columbus, Indianapolis, Louisville, Cleveland, Cincinnati, one of those. Spent years after that trying to get me on a CBusDATA agenda. (Peter Shore @ Sessionize)
•Tim Ford, Tech Outbound — welcomed me on SQL Cruise Alaska 2017 alongside Bob Ward, Grant Fritchey, Andy Yun, and so many others. (thesqlagentman.com)
Redgate
•Louise Domeisen, Redgate — accepted my application into the Community Ambassador program, making the lunch-table introduction retroactively true (Redgate blog)
•Ben Miller — his two-day PowerShell precon ahead of SQL Saturday Indy kicked off my whole PowerShell learning journey (dbaduck.com)
•Bob Ward, Microsoft — greeted me by name at the PASS Summit 2019 expo hall, which did more for my impostor syndrome than he probably knows (SQL Server blog)
•Hope Foley, Microsoft — the first person Andy introduced me to that day in Chicago, back when I didn't know a soul in this community (Hope Foley @ Sessionize)
•Jason Romans, The Data Shepherd — friend since PASS Summit 2022, started his own speaking journey at SQL Saturday Jacksonville 2023 (datashepherd.dev)
This list is not complete. If you helped and you're not on it, that's a memory problem, not a gratitude problem.
The plan for 2026 and beyond is more of the same — more events, more sessions, more #SQLFamily. If you're running an event and need a speaker, my Sessionize profile is public.
BEGIN TRAN Five days; a user group, a Day of Data, four H-D stops, and almost 20 hours behind the wheel. Nashville first for a Music City Data talk, then a long haul toward Pittsburgh — with an overnight stop dictated entirely by a Steelers home game.
Wednesday · Oct 7
Lafayette to Nashville
5.5 hour drive · Music City Data User Group
ðOut of Lafayette before noon, 5.5 hours south to Nashville. Straight into the hotel, no detours planned.
⛽Buc-ee's, Smiths Grove, KY — a stop that needs no justification.
ðMeet up with Jason and Sheila Romans before the talk.
User Group
Music City Data User Group
Presenting Intro to PowerShell with dbatools for the DBA.
ð7.5 hours toward Pittsburgh, but Pittsburgh itself is a no-go tonight — the Steelers are hosting my Colts, For the Shoe, and every hotel in the city knows it. Tridelphia gets the booking instead — it'll be home base for the next three nights, an hour out from the Day of Data festivities each way.
⛽Buc-ee's, Huber Heights, OH — fuel and a stretch break before the rest of the drive.
ðFink's Harley-Davidson and Valley Harley-Davidson — two more stops for the #V-RodDBA collection en route.
Friday · Oct 9
Into Pittsburgh — H-D Stops & Speaker Dinner
Hour drive in from Tridelphia
ðHour drive in from Tridelphia — the first of what'll be a round trip each day through the weekend.
ðSteel City Harley-Davidson and Three Rivers Harley-Davidson — more #V-RodDBA stops, this time on Pittsburgh's home turf.
ð―Speaker dinner — [TBD: location].
Saturday · Oct 10
Day of Data Pittsburgh
#1163 · Hour drive in from Tridelphia
ðHour drive in from Tridelphia again, second day in a row.
Community Conference
Day of Data Pittsburgh 2026 (#1163)
Presenting Intro to PowerShell with dbatools for the DBA.
Tony Wilhelm has amassed over two decades of experience working with databases and computers. His
expertise in SQL server dates back to 1999, showcasing his extensive knowledge in the field. Throughout his career,
Tony has held various roles, including DBA, developer, and manager, in both large and small companies spanning
multiple industries.
Currently, Tony serves as a senior consultant and SQL Server technical lead for the Data Intelligence division at
Moser Consulting. In this role, he brings his wealth of experience to the table, providing valuable insights and
guidance to drive the implementation of effective solutions.
Speaking Engagements
I'm just starting out on my speaking journey, and am looking forward to adding
more to this list in the future. I also have a public Sessionize profile.
Same server, same GUI, same new-user wizard — and yet some databases auto-check db_owner on you and some don't. Here's the SID mismatch actually causing it.
A client asked me a version of this question recently: "when creating new SQL users with SSMS, they're getting added to the db_owner role automatically?" My first instinct was to say no — SSMS maps new users to public by default, full stop. That's still true. But if you're staring at the User Mapping screen watching that db_owner box check itself before you've touched anything, something else is going on, and it's not random.
What made this case interesting is that it wasn't happening on every database — just some of them, with no obvious pattern at first glance. Chasing that inconsistency down landed on a root cause that shows up constantly after restores and migrations: a binary SID that never got rewritten. Worth a full write-up, because "it works on some databases and not others" is exactly the kind of bug report that makes DBAs assume they're losing their minds.
A note on using sa: a few examples below reassign ownership to [sa] for simplicity. sa is a built-in account with unrestricted sysadmin rights, so making it a database owner widens your attack surface more than the fix actually requires, and plenty of shops disable it outright for exactly that reason. Follow your organization's security policy for database ownership rather than defaulting to sa.
Ruling Out the Obvious Suspects
Before you go digging into SIDs, check the two things that actually are documented SSMS behavior. First: a database with a blank or invalid owner — usually from a restore or attach where the original creator's login no longer exists — makes the User Mapping GUI glitch and pre-check db_owner for anyone you try to map. The fix is a one-liner:
USE [YourDatabaseName];
GO
ALTER AUTHORIZATION ON DATABASE::[YourDatabaseName] TO [sa];
GO
Second: check the model database. Anything configured there gets inherited by every new database on the instance, db_owner defaults included. If someone made a "helpful" change to model six months ago, this is where it comes back to bite you.
In this case, one orphaned database turned up — fixed, confirmed, done. But the client came back with: other databases were still doing it, and not consistently.
Why It's Inconsistent Even on Databases You Own
Here's where it got genuinely strange. The client owned nearly every database on the instance under their own Windows login — one exception was owned by a disabled sa account. That one behaved fine. The rest, all owned by the same account, split roughly down the middle between "behaves" and "checks the box." Same owner, same login, same SSMS build. Three mechanics explain the split:
1AD group ownership vs. an individual login. If a database was created or restored under an AD group context (DOMAIN\Domain_DBAs) rather than one person's account, SSMS can't cleanly resolve individual permissions against a group owner and misbehaves.
2SIDs out of sync between server and database metadata. The owner's display name matches everywhere in the GUI, but the binary SID backing that name doesn't — a leftover from a migration or restore. This turned out to be the actual cause here.
3Contained database settings. A contained database bypasses the instance-level security architecture entirely, which changes how ownership resolves and can produce the same symptom for unrelated reasons.
The Smoking Gun
Every database triggering the bug traced back to option 2: the database-level dbo user still carried the binary SID from the server it was originally restored or attached from. SSMS shows the correct display name, because it resolves the SID against Active Directory, not against the local instance — but underneath, master.sys.databases.owner_sid and sys.database_principals.sid (for the dbo row) don't agree. The user-mapping logic hits that mismatch and fails open, pre-checking db_owner as a safety default.
You can confirm it across every database on the instance in one pass:
DECLARE @sql NVARCHAR(MAX) = N'';
SELECT @sql += N'
USE [' + d.name + N'];
SELECT DB_NAME() AS DatabaseName,
CASE
WHEN sp.sid IS NULL THEN ''MISSING dbo PRINCIPAL''
WHEN sl.is_disabled = 1 THEN ''OWNER IS DISABLED''
WHEN d.owner_sid <> sp.sid THEN ''MISMATCH: Master SID <> Database SID''
ELSE ''VALID''
END AS Status,
d.owner_sid AS MasterSid,
sp.sid AS DatabaseSid;'
FROM master.sys.databases d
LEFT JOIN sys.server_principals sl ON sl.sid = d.owner_sid
WHERE d.database_id > 4;
EXEC sp_executesql @sql;
Once you've got a list of MISMATCH databases, the fix isn't reassigning ownership once — it's cycling it. Handing ownership to sa clears the stale metadata, and handing it right back rewrites a fresh, correct SID under the current server's context:
USE [YourDatabaseName];
GO
ALTER AUTHORIZATION ON DATABASE::[YourDatabaseName] TO [sa];
GO
ALTER AUTHORIZATION ON DATABASE::[YourDatabaseName] TO [DOMAIN\YourLogin];
GO
Run the validation query again afterward. MISMATCH rows should convert to VALID. Anything still flagged as OWNER IS DISABLED is a database legitimately owned by a disabled sa account — normal in locked-down environments, and not the bug you're chasing.
Reading the Validation Report
Status
What It Means
VALID
Owner SID matches on both ends. SSMS will behave normally.
MISMATCH
The bug. Server and database-level SIDs disagree — usually a leftover from a restore or attach. Cycle ownership through sa to fix.
MISSING dbo PRINCIPAL
No valid owner at all. Assign one explicitly with ALTER AUTHORIZATION.
OWNER IS DISABLED
Database is owned by a disabled login (often sa). Perfectly legal, and won't trigger the bug.
The practical takeaway: add ALTER AUTHORIZATION ON DATABASE::[DBName] TO [ValidOwner]; to every post-restore and post-migration checklist, right next to the usual orphaned-user cleanup. A stale SID is a lot like a stale timing chain on a bike — it won't announce itself until you're already relying on it, and by then you're troubleshooting under load instead of at your own pace.
BEGIN TRAN Four days, two Southwest connections each way, one community data conference, an allegedly world-record Walmart, and a 4am alarm Thursday morning. The usual. Time to SELECT * FROM adventure WHERE city = 'Albany'.
Thursday · Aug 6
Wheels Up from Indy
Travel Day
WN IND → MDW → ALB
✈Up at 4am, coffee before the car, hour drive to IND, 6:45am Southwest departure. Connect through Midway, land in Albany. No stored procedures required — just a boarding pass and questionable sleep math.
ðŠĶOakwood Cemetery, Troy, NY — paying respects to Uncle Sam (Samuel Wilson, 1766–1854), the Troy meatpacker whose name became the one. Worth the detour.
ð―#SQLFamily Dinner with Jason & Sheila Romans, Kristyna Ferris, Andy Yun, and Deborah Melkin — MOSU. Fair warning: index talk may occur between courses. If you don't already follow these folks, fix that: The Data Shepherd · Data on Wheels · SQLBek · Deb the DBA
Friday · Aug 7
Exploring the Capital Region
Pre-Con Day & Shenanigans
☕Coffee & Breakfast:Uncommon Grounds for coffee & bagels — been a tradition since 2024. Jason also put Bitchin' Donuts on the radar this time. That's worth investigating.
ðWorld's Largest Walmart?? Apparently this is a thing in the Albany area. And… what on earth is a Cartalator? A cart elevator? A shopping cart escalator? Either way, it's a full table scan of the grocery section. Investigation required. Photographic evidence will be obtained.
ð―Lunch with the Romans' — Latham Bagel Shop. It's always somewhere good.
ðSpeaker Dinner — the night before I'm on stage, so naturally I'm spending it at dinner with the speaker crew, organizers, and volunteers. Kristyna Ferris and Chris Hyde are wrapping up their full-day pre-con Modern Data Warehousing with Microsoft Fabric — expect them to arrive opinionated about whether a Lakehouse is just a data warehouse with a branding problem.
Free to attend, put on by the community, for the community. SQL Server, data engineering, analytics, AI — real sessions from practitioners who actually do the work. This is what conferences looked like before they cost $2,000 and had a keynote from a vendor you've never heard of.
ð Massry School of Business, UAlbanyð August 8, 2026ðĨ Capacity: 300ð In-PersonðĪ My session: Intro to PowerShell with dbatools — because your DBA toolkit deserves a throttle, not just a mouse
ðģBreakfast — Duck Donuts — made-to-order donuts before the drive to the airport. Priorities.
ðLunch with Jason & Sheila Romans — Dinosaur Bar-B-Que, Troy. Last meal before the flights home. If you're in the area Sunday, pull up a chair — #SQLFamily welcome.
✈The first leg out of Albany is shared with Jason & Sheila Romans. Southwest passengers on this flight: you have been warned. This crew may be loud, caffeinated, running hot from 48 hours of data conference opinions, and still debating whether NULL equals NULL.
ð Connecting through Midway and wheels down in Indy.
ðThank you to the Capital Area SQL Server User Group and Edward Pollack for organizing Day of Data Albany. Running a free community conference is a lot of invisible work — grateful it exists.