Activity overview
Latest activity by Jon Kirkwood
Hi huey Thank you for reaching out on the Redgate forums with your bulk-scripting request. You can absolutely mass-deploy SQL instances into Redgate Monitor without clicking through the UI. On the Configuration > Example Scripts page of your Monitor installation (https://<your-monitor-server>/Configuration/ExampleScripts ), there’s a full PowerShell example showing how to add:
Windows SQL instances
Linux SQL instances
PostgreSQL
Azure SQL / Managed Instance
RDS / Aurora
Flexible Postgres
[image] Once you’ve reviewed the examples, you can add in a loop through your server list; something like this: $servers = @(
"ServerA\SQL2019",
"ServerB\SQL2017",
"ServerC"
)
foreach ($name in $servers) {
Write-Host "Adding $name..."
$instance = New-RedgateMonitorSqlServer `
-FullName $name `
-BaseMonitor $BaseMonitor
$instance | Add-RedgateMonitorMonitoredObject
} That’s usually the fastest way to bulk-register dozens or hundreds of instances. If you haven't used the Powershell API before - I would recommend starting here: https://documentation.red-gate.com/monitor14/api-239668740.html to get the necessary info on how to download the Powershell cmdlets from your Monitor instance, generate a token and create your connection to the API to add your instances. / comments
Official comment
Hi huey Thank you for reaching out on the Redgate forums with your bulk-scripting request.You can absolutely mass-deploy SQL instances into Redgate Monitor without clicking through the UI. On the ...
Hi devtrading Thank you for reaching out via the Redgate forums regarding you SQL Data Compare I have replicated this using the latest version v15.4.28 and can find that the datetimeoffset on a leap year day at midnight does roll over to the next day. I also found that Data Compare changes the source date but not on the target which is certainly an odd behaviour. This will be escalated to our development team to investigate as a potential bug; I will update this forum post with any workaround/fixes as they are made available. [image] / comments
Official comment
Hi devtrading Thank you for reaching out via the Redgate forums regarding you SQL Data Compare I have replicated this using the latest version v15.4.28 and can find that the datetimeoffset on a lea...
Hi emmar00 Thank you for reaching out on the Redgate forum. You’re right in that flyway_schema_history is just a regular table, so anyone with write access can modify it. The simplest protection is to lock down permissions so only the Flyway service account can perform DML on the table and everyone else gets read-only access. This table can be dropped as part of a Flyway process so sometimes expected that this table may be dropped and recreated e.g. flyway clean If you want extra assurance, we'd suggest enabling SQL Audit or Extended Event to log any writes to that table. This should provide some extra tracking if records are changed and you can trace who made the changes. Triggers could work too, but they’re visible and can interfere with Flyway operations, so generally these are recommended to be avoided unless tampering is a known issue. / comments
Official comment
Hi emmar00 Thank you for reaching out on the Redgate forum.You’re right in that flyway_schema_history is just a regular table, so anyone with write access can modify it. The simplest protection is ...
Hi Koray Thank you for reaching out via the Redgate forums and sorry to hear about your problem. Can you please confirm the full version of your ANTS program; this can be found in Help > About ANTS Performance Profiler I am looking for specifically the patch number after 11.4.* Looking at our releases there were two releases in the last couple of weeks and one of them has been pulled - if you are on version V11.4.5 can I request you patch into the latest version V11.4.6 and verify if this slowness is still being found Download link available here: https://download.red-gate.com/checkforupdates/ANTSPerformanceProfiler/ANTSPerformanceProfiler_11.4.6.4353.exe / comments
Official comment
Hi Koray Thank you for reaching out via the Redgate forums and sorry to hear about your problem.Can you please confirm the full version of your ANTS program; this can be found in Help > About ANTS ...
Hi Henry Winkler Thank you for reaching out via the Redgate forum regarding your bulk validation inquiry. If you’re looking to validate a large number of SQL scripts at once, SQL Prompt does include a Bulk Code Analysis feature. This lets you select a folder of SQL files and run all of SQL Prompt’s code analysis rules over them in one go. This can be run through SSMS or via a CLI process. It’s useful for spotting syntax issues, rule violations, and potential problems across a wide codebase without having to open each file individually. [image] That said, it’s worth noting a couple of limitations for your scenario:
Bulk Code Analysis works on SQL files, not directly against database objects in a live database. If your custom objects exist only inside a database, you’d need to script them out first.
The analysis is static, so while it can catch many issues, it won’t always identify broken dependencies caused by schema changes (e.g. views/stored procedures referencing dropped or renamed columns).
For that, you’d typically supplement with SQL Server’s system views (like sys.sql_expression_dependencies) or test recompiling objects against the upgraded schema. Bulk operations in SQL Prompt, including Bulk Code Analysis, require either a SQL Toolbelt Essentials or SQL Toolbelt license. You can find more details here: https://documentation.red-gate.com/sp/features-requiring-a-specific-license/bulk-operations/bulk-operations-in-ssms/bulk-code-analysis / comments
Official comment
Hi Henry Winkler Thank you for reaching out via the Redgate forum regarding your bulk validation inquiry.If you’re looking to validate a large number of SQL scripts at once, SQL Prompt does include...
If git works fine from the command line but Flyway Desktop still shows Permission denied (publickey,password), it can mean that the Git client isn’t picking up your SSH setup. A few things you can try:
Force the key at repo level Run this inside your repo folder:
git config --local core.sshCommand "ssh -i C:/Users/<you>/.ssh/id_rsa -o IdentitiesOnly=yes"
Start Flyway Desktop with verbose SSH From the cmdline:
set GIT_TRACE=1
set GIT_SSH_COMMAND=ssh -vvv -i C:\Users\<you>\.ssh\id_rsa -o IdentitiesOnly=yes
Then launch Flyway Desktop from the same CMD and try Fetch. The -vvv verbose level 3 log will show whether your key is being offered.
Use an SSH config alias Create C:\Users\<you>\.ssh\config with:
Host mygit
HostName <ip-or-host>
User <ssh-user>
IdentityFile C:/Users/<you>/.ssh/id_rsa
IdentitiesOnly yes
Then set your remote to that alias:
git remote set-url origin <ssh-user>@mygit:/path/to/repo.git
Check your agent Make sure the key is loaded:
ssh-add -l
ssh -T <ssh-user>@<ip>
Hopefully one of these steps helps you get some traction with your Flyway project pulling from your git server / comments
If git works fine from the command line but Flyway Desktop still shows Permission denied (publickey,password), it can mean that the Git client isn’t picking up your SSH setup. A few things you can ...
Hi Don, Sorry to hear this is repeating for you. Up until now I was only aware of this being an initial concern when first installing SQL Prompt into SSMS21. Does it reoccur after patching SQL Prompt, or at different times? / comments
Hi Don, Sorry to hear this is repeating for you. Up until now I was only aware of this being an initial concern when first installing SQL Prompt into SSMS21. Does it reoccur after patching SQL Prom...
Hi ptusch Thank you for reaching out via the Redgate forums for your Flyway process questions. If the external views are changing often and outside your control, versioned migrations in Flyway will indeed be painful. A few general approaches that work well:
Treat external views as “volatile”
Don’t version them. Instead, keep your own dependent views in repeatable scripts so they can be recreated whenever the external view changes.
Use repeatables with ordering
Flyway runs repeatables alphabetically. Many teams just prefix numbers like R__001_ to control order. It’s manual but simple and works reliably.
Automate refresh
If view B changes, you can trigger Flyway to re-run all dependent repeatables (e.g., drop & recreate) in CI/CD. Placeholders or a wrapper script can handle this.
Consider keeping some logic outside Flyway
If external volatility is too high, managing those dependencies in application code or a separate process may be simpler than forcing Flyway to track every change.
For Snowflake, this hybrid approach (version core objects, repeatable or scripted refresh for volatile ones) can be common. / comments
Official comment
Hi ptusch Thank you for reaching out via the Redgate forums for your Flyway process questions.If the external views are changing often and outside your control, versioned migrations in Flyway will ...
Hi cserna.peter Thank you for reaching out on the Redgate forum regarding your Flyway self-hosted GIT inquiry. You need to point Flyway Desktop’s built-in Git to your SSH key, as it doesn’t always use the same config as your terminal. A quick fix is to edit your global .gitconfig (e.g. C:\Users\<you>\.gitconfig ) and add: [core]
sshCommand = "ssh -i C:/Users/<You>/.ssh/id_rsa" Then restart Flyway Desktop. Also make sure your key is loaded with: ssh-add ~/.ssh/id_rsa and that git remote -v shows an SSH URL (not HTTPS). This usually fixes the Permission denied (publickey) error for the embedded Git client. / comments
Official comment
Hi cserna.peter Thank you for reaching out on the Redgate forum regarding your Flyway self-hosted GIT inquiry.You need to point Flyway Desktop’s built-in Git to your SSH key, as it doesn’t always u...
Hi Murali, Thank you for contacting Redgate support regarding your code coverage concern, I suspect this is related to our SQL Test product and have moved this post into a new location on our forums to better represent that. SQL Test provides a UI wrapper around the tSQLt framework, it doesn’t change or extend the tSQLt functionality itself. In other words, SQL Test runs whatever tSQLt syntax you provide, but the underlying behavior (such as how tSQLt.ExpectException or tSQLt.ExpectNoException works) comes from the tSQLt framework, not from SQL Test. Because of this, issues with exception handling or coverage inside tSQLt tests are usually best addressed by checking the tSQLt documentation or raising the question with the tSQLt community. https://tsqlt.org/join-the-conversation We’re happy to help confirm that SQL Test is running the tests correctly, but troubleshooting tSQLt specific logic is outside the scope of our product support. That said, some general guidance we’ve seen work for other users:
tSQLt.ExpectException only detects errors that escape the procedure — if your CATCH block swallows the error without THROW /RAISERROR , nothing reaches the test framework.
For coverage, you may need to either rethrow the error or assert side-effects (like rows in a log table) instead of expecting an exception.
You can find more details here: tSQLt Documentation – ExpectException If you’re not sure whether SQL Test itself is working correctly or if this is purely a tSQLt logic issue, we can potentially help you confirm that. / comments
Official comment
Hi Murali, Thank you for contacting Redgate support regarding your code coverage concern, I suspect this is related to our SQL Test product and have moved this post into a new location on our foru...