
Tag : SQL,Powershell,script,SQL Server,Tips
När man kör en rolling upgrade av SQL Server i ett kluster kommer klustret då av säkerhetsskäl ta bort possible owner på två resurser som finns under SQL gruppen.
Det är de två resurser under servername i SQL gruppen där possible owner ändras. Ipnummer och network name som det hette förut nu står det bara name i FailoverClustermanager
För att kontrollera detta kan man i powershell köra Get-ClusterResource | Get-ClusterOwnerNode
alternativt via eleverad Dos promptcluster res "Resource Name" /listowners
För att då sätta possible owner kör man följande
För att först kontrollera vad noderna i klustret heter
Via powershellGet-ClusterNode
Via dos promptcluster node
Sätt sedan possible owner
Via powershellSet-ClusterOwnerNode -Resource Resource Name -Owners node1,node2
Via dosprompt, nackdelen via dos är att du bara kan sätta en nod åt gångencluster res "resursnamn" /addowner:Node1
För att göra det enklare har jag skapat ett powershellscript som ordnar detta med automatik
$owner = Get-ClusterResource | Get-ClusterOwnerNode
foreach ($node in $owner){
$numberofowner=$node.ownernodes.count
$Numberofnodes = Get-ClusterNode
$server = $Numberofnodes.name.count
if ($numberofowner -lt $server)
{
Write-Host $node.Clusterobject "Saknar en eller flera noder"
Set-ClusterOwnerNode -Resource $node.Clusterobject -Owners $Numberofnodes.name
}
Else
{
Write-Host $node.Clusterobject "har följande possible owners " $node.Ownernodes
write-host "`n"
}
}