fix(mssql): replace permission-based RDS detection with server name analysis #14975
+155
−24
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
is_aws_rds
configuration flag to explicitly specify environment typeSELECT @@servername
Problem
The existing RDS detection mechanism was flawed because it relied on permission checks rather than actual environment detection:
Permission-based, not environment-based: The ability to query
msdb.dbo.sysjobs
depends on user permissions, not the environment type. A restricted user on on-premises SQL Server would also fail this check.False positives: On-premises SQL Server with:
Would all incorrectly appear as "RDS"
False negatives: An RDS user with appropriate permissions might actually succeed in querying system objects
Solution
is_aws_rds
boolean flag that takes precedence when providedSELECT @@servername
to check for AWS indicators:amazon
,amzn
,amaz
,ec2
,rds.amazonaws.com
🤖 Generated with Claude Code