PowerShell Help
Enabling PSRemoting :-
Enable-PSRemoting -SkipNetworkProfileCheck
get-netconnectionprofileSet-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
Post a Comment