PowerShell Help


Enabling PSRemoting :-



Enable-PSRemoting -SkipNetworkProfileCheck
get-netconnectionprofile
Set-NetConnectionProfile -InterfaceAlias Wi-Fi -NetworkCategory Private
WinRM quickconfig


Method 2: Successful

1. Enable-PSRemoting -Force
2. Set-Item wsman:\localhost\client\trustedhosts *
3.  Restart-Service WinRM
4. Test-WsMan COMPUTER (servername)
5. Enter-PSSession -ComputerName servername -Credential kkolguri
6. once you connect to the remote session - type sqlps and start working on the powershell

Enter-PSSession -ComputerName zeun76sqpstg01 -Credential kkolguri


Setting up Mirror Using PowerShell:



#Check to make sure database is in full recovery mode
#Creates a new backup of data file and log on primary, then secondary restores from that location


$dbnames = Invoke-Sqlcmd -Query "select name   from sys.databases where database_id  in (9,10,12)" | Select-Object -ExpandProperty name #| Out-File F:\dbnames.txt

$dbnames=
#$dbnames= gc F:\dbnames.txt | where {$_ -ne ""}

foreach ($db in $dbnames)

{


$MYDATABASE= "$db"

$PRINCIPAL=  "bnhhtdbstg03"
$MIRROR  ="bnhhtdbstg05"
#$WITNESS = "dtgewitprd01"
$BACKUPPATH ="F:\SQLBackup\"
$RESTOREPATH= "\\bnhhtdbstg03\SQLBackup\"

#Invoke-Sqlcmd -ServerInstance $PRINCIPAL -QueryTimeout 7000  -Query "

-- Database needs to be in full recovery mode
ALTER DATABASE $MYDATABASE SET RECOVERY FULL WITH NO_WAIT

BACKUP DATABASE $MYDATABASE TO  DISK =  '$BACKUPPATH$MYDATABASE.bak'
WITH INIT,   COMPRESSION,  STATS = 1
GO

BACKUP LOG $MYDATABASE TO  DISK = '$BACKUPPATH$MYDATABASE.trn'
WITH NOFORMAT, INIT,   COMPRESSION,  STATS = 1
GO
"
Invoke-Sqlcmd -ServerInstance $MIRROR  -QueryTimeout 7000 -Query "

-------------------------------------------------
--:connect $MIRROR

RESTORE DATABASE $MYDATABASE FROM  DISK = '$RESTOREPATH$MYDATABASE.bak'
WITH NORECOVERY,  NOUNLOAD,  STATS = 1
GO

RESTORE LOG $MYDATABASE FROM  DISK = '$RESTOREPATH$MYDATABASE.trn'
WITH NORECOVERY,  STATS = 1
GO

ALTER DATABASE $MYDATABASE SET PARTNER = N'TCP://$PRINCIPAL.INTERNAL.MYWEBGROCER.COM:5022'
GO
"


Invoke-Sqlcmd -ServerInstance $PRINCIPAL  -QueryTimeout 7000 -Query "
--:connect $PRINCIPAL

ALTER DATABASE $MYDATABASE SET PARTNER = N'TCP://$MIRROR.INTERNAL.MYWEBGROCER.COM:5022'
GO

-- Remove comment if you would like to leave database online on partner. Ex, change owner to sa.
--ALTER DATABASE $MYDATABASE SET PARTNER FAILOVER

--if '$WITNESS' <> ''
--ALTER DATABASE $MYDATABASE SET WITNESS = 'TCP://$WITNESS.INTERNAL.MYWEBGROCER.COM:5022'
--print '*** Setting the timeout on the principal to $TIMEOUT seconds ***'
--ALTER DATABASE $MYDATABASE SET PARTNER TIMEOUT $TIMEOUT

--GO

"

Write-Host "completed Mirror setup on $db "

}

Comments

Popular posts from this blog

Netezza Commands

MS SQL Server Tips