Last month, I went through an audit that consumed every waking moment of my life. I would literally wake up, get ready for work, grab the three meals my wife made for me, go to work for 16-18 hours, come back, sleep then wake up, rinse, repeat. I tried to stay as healthy as possible by prioritizing sleep, taking vitamins, eating vegetarian meals that were easy to digest and drinking tea (and not energy drinks) as an energy source.
After passing my audit (😁👍) and taking a long nap, I started a new project for crowd-sourcing the DISA Documentation Template for SQL Server. People often ask DISA for templates but they don’t have anything to provide so I’d like to change that, if only for my future self.
If you work for an organization that is subject to DISA inspections and believe you have some good anonymized documentation to contribute, please do! The templates are in markdown.
progress [============>···]
Really, I said all that so that you’d hopefully excuse the recent lack of communication 😉 Not only did I have the big ol’ audit, but we are also preparing for two dbatools pre-cons. One with Klaas Vandenberghe and Rob Sewell in Ghent, Belgium at dataminds and then the one in Seattle at PASS Summit.
This means that communication will slow a bit until December, but I wanted to give you an update. First, we’re now at a whopping 287 magical commands! We’ve got three kind folks working on the webpages and once they are all ready, I’ll do a new release. Until then, here’s over 80 newish commands that you can explore using Get-Help -Detailed.
Add-DbaComputerCertificate Backup-DbaDbMasterKey Copy-DbaAgentAlert Copy-DbaInstanceAuditSpecification Disable-DbaAgHadr Disable-DbaForceNetworkEncryption Enable-DbaAgHadr Enable-DbaForceNetworkEncryption Find-DbaSimilarTable Find-DbaTrigger Find-DbaView Get-DbaAgDatabase Get-DbaAgentJobHistory Get-DbaAgentLog Get-DbaAgentSchedule Get-DbaAgHadr Get-DbaAgReplica Get-DbaAvailableCollation Get-DbaCmConnection Get-DbaComputerCertificate Get-DbaComputerSystem Get-DbaDbPartitionFunction Get-DbaDbPartitionScheme Get-DbaDbSpace Get-DbaDbUdf Get-DbaDbUser Get-DbaDbView Get-DbaDbMailHistory |
Get-DbaDbMailLog Get-DbaDbQueryStoreOption Get-DbaDbStoredProcedure Get-DbaDefaultPath Get-DbaDependency Get-DbaFile Get-DbaForceNetworkEncryption Get-DbaMaintenanceSolutionLog Get-DbaNetworkCertificate Get-DbaOperatingSystem Get-DbaPbmPolicy Get-DbaRegisteredServersStore Get-DbaInstanceInstallDate Get-DbaInstanceProperty Get-DbaInstanceUserOption Get-DbaSqlLog Get-DbaManagementObject Get-DbaRegistryRoot Get-DbaSsisEnvironmentVariable Get-DbatoolsLog Get-DbaTraceFlag Get-DbaWindowsLog Import-DbaCsv Install-DbaFirstResponderKit Install-DbaMaintenanceSolution Invoke-DbaCycleErrorLog Invoke-DbaDbUpgrade Invoke-DbaDbLogShipping |
Invoke-DbaDbLogShipRecovery New-DbaAgentSchedule New-DbaComputerCertificate New-DbaCredential New-DbaServiceMasterKey New-DbaConnectionString New-DbaConnectionStringBuilder Read-DbaTraceFile Remove-DbaAgentSchedule Remove-DbaCmConnection Remove-DbaComputerCertificate Remove-DbaDbCertificate Remove-DbaDbMasterKey Remove-DbaDatabaseSafely Remove-DbaNetworkCertificate Remove-DbaDbOrphanUser Restart-DbaService Restore-DbaDbCertificate Save-DbaDiagnosticQueryScript Set-DbaAgentJobStep Set-DbaAgentSchedule Set-DbaDbCompression Set-DbaDbQueryStoreOption Set-DbaNetworkCertificate Start-DbaService Stop-DbaService Test-DbaDbCompression Test-DbaManagementObject |
So many of these commands are insanely useful and I can’t thank our 78 (!!) contributors enough. Also, Shawn Melton, Andy Levy and Simone Bizzotto have recently invested extra insane-o hours into moving the project forward and I’d like to give them a special shout out.
Thank you so very very much for helping the 1.0 progress during this sprint!
the long, long road to 1.0 😂
I can’t decide if this is because I can be a perfectionist or because it legitimately takes a super long time to put out an Enterprise grade release, but you may have noticed 1.0 didn’t quite debut in June. Or July. Or August or even September. Now I know why gmail took so long to get out of beta.
The original goals for 1.0 were:
- Standardized names
- Standardized parameters
- Standardized documentation
- Standardized codebase
- Pipe support
- Tests
Andy is helping like mad with standardizing the docs, and Shawn is doing a fabulous job leading a team to update the code base to the 1.0 standard – 231 out of 287 commands complete! Pipe support is still lacking and may just becoming a focus for 1.1 instead of 1.0.
That leaves us with tests, which Simone has been acing. He fixed our Appveyor setup and really pushed for us to create non-destructive tests, which I appreciate. Before, I was building tests as though the Appveyor environment was the ONLY environment the tests would be run on so it’d drop everything and start fresh.
Nevertheless, I’d love to see all of our commands get the 1.0 rewrite prior to 1.0 and then at least one Pester Test for each command. So that’s the final goal, whenever that’ll be, likely in December/January (maybe;))
in the meantime
In the meantime, we’re actually releasing quite often nowadays – sometimes up to 3 times a day! That’s because I feel a lot more confident when I see all the green generated by our integration tests.
If you’d like to keep up with the latest releases and use Windows 10, consider Watch-DbaUpdate. Note that Install-DbatoolsWatchUpdate does require running as admin in order to automatically setup the scheduled task.
ttys
Once the webpages for these commands have been written, I’ll do the formal, beautiful release of picklerick.
- Chrissy