DB Schema and Permissions

If application doesn’t run and complains about permissions e.g. Execute permission, we need to check schema permissions; One of the reason, this happens when we restore database.

Suppose our user name is FMUser and dataase name is FMStoreDev. Under Login Properties of FM User – Security;

UNDER DATABASE -> USER -> SECURITY -> FMUser, CHECK THIS (in case SPROC does not run);

On Securables tab, click Search;

Select first option and click ok;

Click on object types and select schema;

Click on Browse and select your schema;

Select FM schema and grant execute permission to FMUser;

Since this is schema bound, go to securityàschema. Schema name should be your custom schema and owner should be dbo;

Click on Permissions tab. Make sure execute permission is selected for FM user;

These changes will help to solve database execute permission problem.

This is an alternative of remapping the users (to restore permission) after restoring DB;

USE FMStoreDev;  
GO  
EXEC sp_change_users_login 'Update_One', 'FMUser', 'FMUser';  
GO  

PowerShell and CLI command pattern

There is a pattern to PowerShell and CLI commands.

Predictable CLI commands
(always start with az vm and a verb)
az vm list
az vm create
az vm delete

for keyvalut, same pattern
az keyvault list
az keyvault create
az keyvault delete

for network, sub category is vnet, same pattern
az network vnet list
az network vnet create
az network vnet delete

for network, sub category is vnet, sub category is subnet same pattern
az network vnet subnet list
az network vnet subnet create
az network vnet subnet delete

Predictable Powershell commands
They are similar to CLI with some changes; (here verb is the first part of the word)
Get-AzVM
New-AzVM
Remove-AzVM

for keyvalut, same pattern
Get-AzKeyvault
New-AzKeyvault
Remove-AzKeyvault

for network, sub category is vnet, same pattern
Get-AzVirtualNetowrk
New-AzVirtualNetwork
Remove-AzVirtualNetwork

CLI has a spacing structure but PowerShell is all one word with hyphen in it.

View all install AZ modules

Get-InstalledModule -Name AZ -AllVersions | Select-Object -Property Name, Version

Update AZ modules to latest
Install-Module -Name AZ -AllowClobber -Force

Connection to Azure

Connect-AzAccount
Set-AzContext (switch to another subscription)
To override which subscription Connect-AzAccount selects by default, use Update-AzConfig -DefaultSubscriptionForLogin 00000000-0000-0000-0000-000000000000

Switching subscriptions
These can be run after getting authenticated from browser;

Get-AzSubscription
returns subscription info
$context = Get-AzSubscription -Subscription {subscription id listed in Get-AzSubscription cmdlet)
Set-AzContext $context
(by doing this, we are telling azure that we will be using this subscription in this session)

Some random commands for testing

Get-AzWebApp
Get-AzVM
return all virtual machines on my subscription, az vm list (equv. bash command)