Wednesday, February 27, 2019

SQL RAISEERROR and Log the error

Put all SQL Stored Procedures in BEGIN TRY > BEGIN TRANSACTION > IF  ELSE blocks and use the following as a TEMPLATE

Create an output parameter so the source code can log the error and you can check the DB table for the error.


@ELog_ID int = 0 OUTPUT 

SET XACT_ABORT, NOCOUNT ON;

BEGIN TRY
BEGIN TRANSACTION


IF
            IF EXISTS (SELECT 'x' FROM People_tbl WHERE Email_Address = @Email_Address)
RAISERROR (N'Person is already in the database.',11,11, 'usr_Person_Add')
--PRINT 'Person is already in the database!'

ELSE

-- CRUD work

END TRY

BEGIN CATCH

--PRINT 'In the Catch Statement'
IF @@trancount > 0 ROLLBACK TRANSACTION
PRINT 'Process has reached the CATCH'

EXECUTE dbo.[usr_InsertErrorInfo];

SELECT @ELog_ID = max(ELog_ID)
FROM ErrorLog_tbl;


END CATCH


Tuesday, February 26, 2019

PowerShell output to table and text file

Get-SPUser -Web "https://subdomain.domain.com" | format-table -autosize > e:\spusers.txt

https://docs.microsoft.com/en-us/powershell/scripting/overview?view=powershell-6

Monday, January 07, 2019

Azure Cost Learning from Experience after Free Trial Expires

Well, today I logged into my Bank account and I have I nice debit of "MSFT AZURE", although I thought I was very careful to turn off all the Apps/Slots I would not be charged.







https://azure.microsoft.com/en-us/pricing/details/app-service/windows/

Another lesson by experience, I was wrong if you have a Plan aka S1 you will be charged even if you do not have one service running.



Set-AzureRmAppServicePlan -ResourceGroupName $rg -Name $AppServicePlan -Tier Free

RoboCopy

Robocopy command can be used to move data from one folder to another.
example:
Go to cmd
Robocopy "C:\SourceDir" "C:\DestDir" /E

above command copies all folders, subfolders and files from source to destination folder.
Happy Learning!

Read more about this here:
https://social.technet.microsoft.com/wiki/contents/articles/1073.robocopy-and-a-few-examples.aspx

/MIR option. It can intelligently mirror source and destination, copying ONLY changed files and deleting files on the destination that are no longer on the source. Very useful when you need to maintain a backup/standby system. rsync is the unix equivalent to this command. I used rsync at home just yesterday. Great stuff!