Change Server Mode in SSAS

You can change the Analysis Services mode from Multidimensional Mode to Tabular Mode or vice versa easily by following below steps. I did this on SQL Server Analysis Services 2016 version.

Step 1: Edit msmdsrv.ini file

Go to folder X:\Program Files\Microsoft SQL Server\MSAS13.MSSQLSERVER\OLAP\Config

Change X: with your correct installation drive.

Open file msmdsrv.ini in notepad

It is recommended to take a backup first. There is a chance this folder require additional permission to edit so I would suggest you to open the file “as Administrator”

Find the tag <DeploymentMode>0</DeploymentMode>

If your current mode is Multidimensional then the DeploymentMode value will be 0 or if Tabular, then it will be 2. Change it to 0 or 2 as per your requirement.

Step 2: Restart SSAS

Open SQL Server Configuration Manager from Start menu and
Right click on “SQL Server Analysis Services” and click “Restart” in the context menu.

Finished! Try connecting to SSAS instance in SSMS to test.



ML.NET is an open source and cross-platform machine learning framework built for .NET developers. Use your .NET and C# or F# skills to easily integrate custom machine learning into your applications without any prior expertise in developing or tuning machine learning models.

More details:


  • OLAP – OnLine Analytical Processing
  • ROLAP – Relational OnLine Analytical Processing
  • MOLAP – Multidimensional OnLine Analytical Processing
  • HOLAP – Hybrid OnLine Analytical Processing
  • DOLAP – Desktop/Database OnLine Analytical Processing
  • WOLAP – Web Enabled OnLine Analytical Processing

Read more here –

Get Last Modified Date without downloading the file in PowerShell

Compatibility: v5.x

$zipfile = "https://www..../xyz/"

add-type @"
using System.Net;
using System.Security.Cryptography.X509Certificates;
public class TrustAllCertsPolicy : ICertificatePolicy {
public bool CheckValidationResult(
ServicePoint srvPoint, X509Certificate certificate,
WebRequest request, int certificateProblem) {
return true;

$AllProtocols = [System.Net.SecurityProtocolType]'Ssl3,Tls,Tls11,Tls12'
[System.Net.ServicePointManager]::SecurityProtocol = $AllProtocols
[System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy

#$res = Invoke-WebRequest -Uri $zipfile

$webRequest = [System.Net.HttpWebRequest]::Create($zipfile)
$webRequest.Method = "GET"
[System.Net.HttpWebResponse]$webResponse = $webRequest.GetResponse()

Write-Output $webResponse.LastModified

Getting SQL Server result set in PowerShell

Compatibility: v5.x
If you are a .NET developer then you are already familiar with this code Smile

$connectionString = "Data Source=localhost;Integrated Security=SSPI;Initial Catalog=AdventureWorks2016CTP3"
$dt = New-Object System.Data.DataTable
$da = New-Object System.Data.SqlClient.SqlDataAdapter("SELECT TOP 10 * FROM Person.Address", $connectionString)

Write-Output $dt.Rows[0]["AddressLine1"]

# or

ForEach ($dr in $dt.Rows) {
Write-Output $dr["AddressLine1"]