Skip to content

Commit 3048242

Browse files
committed
Add ParameterCaseCheck.ps1 script
1 parent 00b90ab commit 3048242

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

PowerShell/ParameterCaseCheck.ps1

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
$PatternMatch = '(?<ColumnName>\w+)\s*=\s*@(?<ParameterName>\w+)'
2+
3+
$FindStoredProcedureParameters = @{
4+
SqlInstance = 'localhost'
5+
Database = 'master'
6+
Pattern = $PatternMatch
7+
IncludeSystemDatabases = $true
8+
}
9+
10+
Find-DbaStoredProcedure @FindStoredProcedureParameters |
11+
ForEach-Object -Process {
12+
$ParentRow = $_
13+
14+
$_ | ForEach-Object StoredProcedureTextFound | Select-String -Pattern $PatternMatch -AllMatches | ForEach-Object Matches | ForEach-Object -Process {
15+
[PSCustomObject]@{
16+
ServerName = $ParentRow.SqlInstance
17+
DatabaseName = $ParentRow.Database
18+
SchemaName = $ParentRow.Schema
19+
ProcedureName = $ParentRow.Name
20+
TextFound = ($_.Groups | Where-Object Name -eq '0').Value
21+
ColumnName = ($_.Groups | Where-Object Name -eq 'ColumnName').Value
22+
ParameterName = ($_.Groups | Where-Object Name -eq 'ParameterName').Value
23+
}
24+
}
25+
} | Where-Object { ($_.ColumnName -ne $_.ParameterName) } |
26+
Select-Object -Property * -Unique

0 commit comments

Comments
 (0)