Skip to content

Commit 4a42a4d

Browse files
shane-bordenShane Borden
andauthored
feat: add collectionTag / dmaManualId for SQL Server (#293)
* feat: add collectionTag / dmaManualId * feat: add dma_manual_id / collection tag * feat: dma_manual_id - updates after testing * chore: bump version to 4.3.17 * feat: dma_manual_id documenation update --------- Co-authored-by: Shane Borden <[email protected]>
1 parent 1bf7320 commit 4a42a4d

23 files changed

+296
-140
lines changed

.bumpversion.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[bumpversion]
2-
current_version = 4.3.16
2+
current_version = 4.3.17
33
commit = False
44
tag = False
55

docs/user_guide/sqlserver/collection_scripts.md

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -181,47 +181,49 @@ The script will create a permon data set that will collect the above metrics at
181181
- -collectionUserName \*\*Required
182182
- -collectionUserPass \*\*Required
183183
- -ignorePerfmon \*\*Optional (Defaults to "false" / Set to "true" to ignore perfmon collection)
184+
- -collectionTag \*\*Optional (Defaults to "NA" - Gives the ability the user to tag their collection with a unique name)
184185

185186
To Execute the Collection:
186187

187188
For a default instance (all databases):
188-
runAssessment.bat -serverName [servername] -port [port number] -collectionUserName [collection user name] -collectionUserPass [collection user password]
189+
runAssessment.bat -serverName [servername] -port [port number] -collectionUserName [collection user name] -collectionUserPass [collection user password] -collectionTag [string]
189190

190-
Example (default port): runAssessment.bat -serverName MS-SERVER1 -collectionUserName sa -collectionUserPass password123
191-
Example (custom port): runAssessment.bat -serverName MS-SERVER1 -port 1435 -collectionUserName sa -collectionUserPass password123
191+
Example (default port): runAssessment.bat -serverName MS-SERVER1 -collectionUserName sa -collectionUserPass password123 -collectionTag [string]
192+
Example (custom port): runAssessment.bat -serverName MS-SERVER1 -port 1435 -collectionUserName sa -collectionUserPass password123 -collectionTag [string]
192193

193194
For a default instance (single database):
194-
runAssessment.bat -serverName [servername] -port [port number] -database [single database name] -collectionUserName [collection user name] -collectionUserPass [collection user password]
195+
runAssessment.bat -serverName [servername] -port [port number] -database [single database name] -collectionUserName [collection user name] -collectionUserPass [collection user password] -collectionTag [string]
195196

196-
Example (default port): runAssessment.bat -serverName MS-SERVER1 -database AdventureWorks2019 -collectionUserName sa -collectionUserPass password123
197-
Example (custom port): runAssessment.bat -serverName MS-SERVER1 -port 1435 -database AdventureWorks2019 -collectionUserName sa -collectionUserPass password123
197+
Example (default port): runAssessment.bat -serverName MS-SERVER1 -database AdventureWorks2019 -collectionUserName sa -collectionUserPass password123 -collectionTag [string]
198+
Example (custom port): runAssessment.bat -serverName MS-SERVER1 -port 1435 -database AdventureWorks2019 -collectionUserName sa -collectionUserPass password123 -collectionTag [string]
198199

199200
For a named instance (all databases):
200-
runAssessment.bat -serverName [servername\instanceName] -port [port number] -collectionUserName [collection user name] -collectionUserPass [collection user password]
201+
runAssessment.bat -serverName [servername\instanceName] -port [port number] -collectionUserName [collection user name] -collectionUserPass [collection user password] -collectionTag [string]
201202

202-
Example (default port): runAssessment.bat -serverName MS-SERVER1/SQL2019 -collectionUserName sa -collectionUserPass password123
203-
Example (custom port): runAssessment.bat -serverName MS-SERVER1 -port 1435 -collectionUserName sa -collectionUserPass password123
203+
Example (default port): runAssessment.bat -serverName MS-SERVER1/SQL2019 -collectionUserName sa -collectionUserPass password123 -collectionTag [string]
204+
Example (custom port): runAssessment.bat -serverName MS-SERVER1 -port 1435 -collectionUserName sa -collectionUserPass password123 -collectionTag [string]
204205

205206
For a named instance (single database):
206-
runAssessment.bat -serverName [servername\instanceName] -port [port number] -database [single database name] -collectionUserName [collection user name] -collectionUserPass [collection user password]
207+
runAssessment.bat -serverName [servername\instanceName] -port [port number] -database [single database name] -collectionUserName [collection user name] -collectionUserPass [collection user password] -collectionTag [string]
207208

208-
Example (default port): runAssessment.bat -serverName MS-SERVER1/SQL2019 -database AdventureWorks2019 -collectionUserName sa -collectionUserPass password123
209-
Example (custom port): runAssessment.bat -serverName MS-SERVER1 -port 1437 -database AdventureWorks2019 -collectionUserName sa -collectionUserPass password123
209+
Example (default port): runAssessment.bat -serverName MS-SERVER1/SQL2019 -database AdventureWorks2019 -collectionUserName sa -collectionUserPass password123 -collectionTag [string]
210+
Example (custom port): runAssessment.bat -serverName MS-SERVER1 -port 1437 -database AdventureWorks2019 -collectionUserName sa -collectionUserPass password123 -collectionTag [string]
210211

211212
For Azure SQL Database (Ignore Perfmon Collection):
212-
runAssessment.bat -serverName [servername] -port [port number] -database [database name] -collectionUserName [collection user name] -collectionUserPass [collection user password] -ignorePerfmon true
213+
runAssessment.bat -serverName [servername] -port [port number] -database [database name] -collectionUserName [collection user name] -collectionUserPass [collection user password] -ignorePerfmon true -collectionTag [string]
213214

214-
Example (default port): runAssessment.bat -serverName MS-SERVER1 -database AdventureWorks2019 -collectionUserName sa -collectionUserPass password123 -ignorePerfmon true
215-
Example (custom port): runAssessment.bat -serverName MS-SERVER1 -port 1435 -database AdventureWorks2019 -collectionUserName sa -collectionUserPass password123 -ignorePerfmon true
216-
Example (default port / all databases): runAssessment.bat -serverName MS-SERVER1 -collectionUserName sa -collectionUserPass password123 -ignorePerfmon true
217-
Example (custom port / all databases): runAssessment.bat -serverName MS-SERVER1 -port 1435 -collectionUserName sa -collectionUserPass password123 -ignorePerfmon true
215+
Example (default port): runAssessment.bat -serverName MS-SERVER1 -database AdventureWorks2019 -collectionUserName sa -collectionUserPass password123 -ignorePerfmon true -collectionTag [string]
216+
Example (custom port): runAssessment.bat -serverName MS-SERVER1 -port 1435 -database AdventureWorks2019 -collectionUserName sa -collectionUserPass password123 -ignorePerfmon true -collectionTag [string]
217+
Example (default port / all databases): runAssessment.bat -serverName MS-SERVER1 -collectionUserName sa -collectionUserPass password123 -ignorePerfmon true -collectionTag [string]
218+
Example (custom port / all databases): runAssessment.bat -serverName MS-SERVER1 -port 1435 -collectionUserName sa -collectionUserPass password123 -ignorePerfmon true -collectionTag [string]
218219

219220

220221

221222
Notes:
222223
1. Google Database Migration Assessment Data Extractor extracts data for all user databases present in the instance
223224
2. Collection scripts should be executed from an "Administrator Mode" command prompt
224225
3. When using a port to connect only provide the local host name
226+
4. The collectionTag can be used to give the collection a unique identifier specified by the customer
225227

226228
---
227229

scripts/collector/oracle/collect-data.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
### Setup directories needed for execution
1818
#############################################################################
19-
OpVersion="4.3.16"
19+
OpVersion="4.3.17"
2020
dbmajor=""
2121

2222
LOCALE=$(echo $LANG | cut -d '.' -f 1)

scripts/collector/sqlserver/README.txt

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -150,42 +150,45 @@ Operating System Versions:
150150
-collectionUserName **Required
151151
-collectionUserPass **Required
152152
-ignorePerfmon **Optional (Defaults to "false" / Set to "true" to ignore perfmon collection)
153+
-collectionTag **Optional (Defaults to "NA" - Gives the ability the user to tag their collection with a unique name)
153154

154155
For a Named Instance (all databases):
155-
.\runAssessment.bat -serverName [servername\instanceName] -port [port number] -collectionUserName [collection user name] -collectionUserPass [collection user password]
156+
.\runAssessment.bat -serverName [servername\instanceName] -port [port number] -collectionUserName [collection user name] -collectionUserPass [collection user password] -collectionTag [string]
156157

157-
Example (default port): runAssessment.bat -serverName MS-SERVER1 -collectionUserName sa -collectionUserPass password123
158-
Example (custom port): runAssessment.bat -serverName MS-SERVER1 -port 1435 -collectionUserName sa -collectionUserPass password123
158+
Example (default port): runAssessment.bat -serverName MS-SERVER1 -collectionUserName sa -collectionUserPass password123 -collectionTag [string]
159+
Example (custom port): runAssessment.bat -serverName MS-SERVER1 -port 1435 -collectionUserName sa -collectionUserPass password123 -collectionTag [string]
159160

160161
For a Named Instance (single database):
161-
.\runAssessment.bat -serverName [servername\instanceName] -port [port number] -database [database name] -collectionUserName [collection user name] -collectionUserPass [collection user password]
162+
.\runAssessment.bat -serverName [servername\instanceName] -port [port number] -database [database name] -collectionUserName [collection user name] -collectionUserPass [collection user password] -collectionTag [string]
162163

163-
Example (default port): runAssessment.bat -serverName MS-SERVER1/SQL2019 -database AdventureWorks2019 -collectionUserName sa -collectionUserPass password123
164-
Example (custom port): runAssessment.bat -serverName MS-SERVER1 -port 1435 -database AdventureWorks2019 -collectionUserName sa -collectionUserPass password123
164+
Example (default port): runAssessment.bat -serverName MS-SERVER1/SQL2019 -database AdventureWorks2019 -collectionUserName sa -collectionUserPass password123 -collectionTag [string]
165+
Example (custom port): runAssessment.bat -serverName MS-SERVER1 -port 1435 -database AdventureWorks2019 -collectionUserName sa -collectionUserPass password123 -collectionTag [string]
165166

166167
For a Default Instance (all databases):
167-
.\runAssessment.bat -serverName [servername] -port [port number] -collectionUserName [collection user name] -collectionUserPass [collection user password]
168+
.\runAssessment.bat -serverName [servername] -port [port number] -collectionUserName [collection user name] -collectionUserPass [collection user password] -collectionTag [string]
168169

169-
Example (default port): runAssessment.bat -serverName MS-SERVER1 -collectionUserName sa -collectionUserPass password123
170-
Example (custom port): runAssessment.bat -serverName MS-SERVER1 -port 1435 -collectionUserName sa -collectionUserPass password123
170+
Example (default port): runAssessment.bat -serverName MS-SERVER1 -collectionUserName sa -collectionUserPass password123 -collectionTag [string]
171+
Example (custom port): runAssessment.bat -serverName MS-SERVER1 -port 1435 -collectionUserName sa -collectionUserPass password123 -collectionTag [string]
171172

172173
For a Default Instance (single databases):
173-
.\runAssessment.bat -serverName [servername] -port [port number] -database [database name] -collectionUserName [collection user name] -collectionUserPass [collection user password]
174+
.\runAssessment.bat -serverName [servername] -port [port number] -database [database name] -collectionUserName [collection user name] -collectionUserPass [collection user password] -collectionTag [string]
174175

175-
Example (default port): runAssessment.bat -serverName MS-SERVER1 -database AdventureWorks2019 -collectionUserName sa -collectionUserPass password123
176-
Example (custom port): runAssessment.bat -serverName MS-SERVER1 -port 1435 -database AdventureWorks2019 -collectionUserName sa -collectionUserPass password123
176+
Example (default port): runAssessment.bat -serverName MS-SERVER1 -database AdventureWorks2019 -collectionUserName sa -collectionUserPass password123 -collectionTag [string]
177+
Example (custom port): runAssessment.bat -serverName MS-SERVER1 -port 1435 -database AdventureWorks2019 -collectionUserName sa -collectionUserPass password123 -collectionTag [string]
177178

178179
For Azure SQL Database (Ignore Perfmon Collection):
179-
.\runAssessment.bat -serverName [servername] -port [port number] -database [database name] -collectionUserName [collection user name] -collectionUserPass [collection user password] -ignorePerfmon true
180+
.\runAssessment.bat -serverName [servername] -port [port number] -database [database name] -collectionUserName [collection user name] -collectionUserPass [collection user password] -ignorePerfmon true -collectionTag [string]
180181

181-
Example (default port): runAssessment.bat -serverName MS-SERVER1 -database AdventureWorks2019 -collectionUserName sa -collectionUserPass password123 -ignorePerfmon true
182-
Example (custom port): runAssessment.bat -serverName MS-SERVER1 -port 1435 -database AdventureWorks2019 -collectionUserName sa -collectionUserPass password123 -ignorePerfmon true
183-
Example (default port / all databases): runAssessment.bat -serverName MS-SERVER1 -collectionUserName sa -collectionUserPass password123 -ignorePerfmon true
184-
Example (custom port / all databases): runAssessment.bat -serverName MS-SERVER1 -port 1435 -collectionUserName sa -collectionUserPass password123 -ignorePerfmon true
182+
Example (default port): runAssessment.bat -serverName MS-SERVER1 -database AdventureWorks2019 -collectionUserName sa -collectionUserPass password123 -ignorePerfmon true -collectionTag [string]
183+
Example (custom port): runAssessment.bat -serverName MS-SERVER1 -port 1435 -database AdventureWorks2019 -collectionUserName sa -collectionUserPass password123 -ignorePerfmon true -collectionTag [string]
184+
Example (default port / all databases): runAssessment.bat -serverName MS-SERVER1 -collectionUserName sa -collectionUserPass password123 -ignorePerfmon true -collectionTag [string]
185+
Example (custom port / all databases): runAssessment.bat -serverName MS-SERVER1 -port 1435 -collectionUserName sa -collectionUserPass password123 -ignorePerfmon true -collectionTag [string]
185186

186187
Notes:
187188
1) Google Database Migration Assessment Data Extractor extracts data for all user databases present in the instance
188189
2) Collection scripts should be executed from an "Administrator Mode" command prompt
190+
3) When using a port to connect only provide the local host name
191+
4) The collectionTag can be used to give the collection a unique identifier specified by the customer
189192

190193
4. Results
191194
----------

scripts/collector/sqlserver/dmaCollectorCommonFunctions.psm1

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,4 +54,18 @@ function createManifestFile {
5454
function getCurrentTimestamp {
5555
$currentTimestamp = "[{0:MM/dd/yy} {0:HH:mm:ss}]" -f (Get-Date)
5656
return $currentTimestamp
57-
}
57+
}
58+
59+
function checkStringForSpecialChars {
60+
param(
61+
[string]$inputString
62+
)
63+
# Check if the string contains only letters, numbers and no spaces
64+
if ($inputString -match ('^[0-9a-zA-Z]+$')) {
65+
$validTest = "pass"
66+
return $validTest
67+
}
68+
# Otherwise, the string is invalid
69+
$validTest = "fail"
70+
return $validTest
71+
}

0 commit comments

Comments
 (0)