This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function Show-ExceptionType { | |
<# | |
.SYNOPSIS | |
Function to give inheritence of exception types for error handling purposes | |
.DESCRIPTION | |
Take an error and returns all InnerException types for the Error object and the error message | |
.PARAMETER Exception | |
The error exception as it occurred in your script |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function Read-SQLConfigFile { | |
<# | |
.SYNOPSIS | |
Takes configuration file and shows features that are being set | |
.DESCRIPTION | |
Function to show what features and settings are being adjusted by the configuration file. Allows for comparison of | |
config files when combined with Compare-Object | |
.EXAMPLE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function New-ToDo { | |
<# | |
.SYNOPSIS | |
Creates quick To Do list in Notepad | |
.DESCRIPTION | |
Creates quick To Do list in Notepad | |
.PARAMETER List | |
comma separated list of items to put in to do list |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function Compare-Array | |
{ | |
param( | |
[array]$Ref, | |
[array]$Diff | |
) | |
$max = [math]::Max($Ref.Length,$Diff.Length) | |
for($i = 0; $i -lt $max; $i++){ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Function TimeToSQLBits { | |
<# | |
.Synopsis | |
Show how long you have to wait for the biggest data conference in Europe | |
.DESCRIPTION | |
Make sure you get prepared for the next SQLBits conference. | |
.EXAMPLE | |
TimeToSQLBits -purpose console |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Function Change-Time { | |
<# | |
.SYNOPSIS | |
To convert a larger time measure to a smaller measure ie how many milliseconds in an hour | |
.DESCRIPTION | |
Function takes a duration(a) and a measure(b) and returns an amount in a preferred measure(c) | |
eg 4(a) hours(b) milliseconds(c) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"A curmudgeon’s reputation for malevolence is undeserved. They’re neither warped nor evil at heart. They don’t hate mankind, just mankind’s absurdities. They’re just as sensitive and softhearted as the next guy, but they hide their vulnerability beneath a crust of misanthropy. They ease the pain by turning hurt into humor. They attack maudlinism because it devalues genuine sentiment. Nature, having failed to equip them with a serviceable denial mechanism, has endowed them with astute perception and sly wit. Curmudgeons are mockers and debunkers whose bitterness is a symptom rather than a disease. They can’t compromise their standards and can’t manage the suspension of disbelief necessary for feigned cheerfulness. Their awareness is a curse. Perhaps curmudgeons have gotten a bad rap in the same way that the messenger is blamed for the message: They have the temerity to comment on the human condition without apology. They not only refuse to applaud mediocrity, they howl it down with morose glee. Their versions |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Function TimeToSanta { | |
<# | |
.Synopsis | |
Show how long you have to wait to open your presents | |
.DESCRIPTION | |
Be able to leave your shopping to the very last minute with this state-of-the-art function to show | |
how long is left to 25th Dec 09:00. Two variations exist depending on whether the information is to be shown | |
at the console prompt or as a message | |
.EXAMPLE | |
TimeToSanta -purpose console |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ref https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-db-persisted-sku-features-transact-sql | |
# script to locate Enterprise features that are in use | |
# might be something that forces an upgrade path | |
# might be worth running this in Dev and in CI pipeline to ensure no non-licensed features are incorporated into system development | |
$Server = "$ENV:COMPUTERNAME\sql2016" | |
$SMOServer = new-object ('Microsoft.SQLServer.Management.Smo.Server') $Server |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
PowerShell that references SQL Server Configuration properties and compares RunValue to ConfigValue and shows of there are pending changes | |
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO') | Out-Null | |
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMOExtended') | Out-Null | |
$Server = "$ENV:COMPUTERNAME\sql2016" | |
$SMOServer = new-object ('Microsoft.SQLServer.Management.Smo.Server') $Server | |
$($smoserver.Configuration | Select-Object -ExpandProperty properties | Select-Object displayname, runvalue, configvalue, @{name = "Diff"; expression = {$(if($_.runvalue -ne $_.configvalue){"* difference *"}else{"same"})}}) | Format-Table -a |