Quantcast
Channel: Microsoft SQL Server
Viewing all 49 articles
Browse latest View live

SQL server, Analysis Services and mount points

$
0
0


You will find below a summary of important points to know to use the mount points with SQL Server.

SQLServer andSSASsupportsmount points in cluster if and onlyif atleast one letternamed asthe primary driveby instance.Then youcan add yourmount points.

You must also meet the following prerequisites:
1. You can not put the files directly to the root mount point. It is imperative to create the root of each mount point, a directory, then place the files in that directory.
2. As part of a cluster for each mount point, you must create a cluster resource. Then add a dependency to indicate that SQL Server will not start if all dependencies and disk mounting points are not all online.


In addition, references to KB articles:

1. FIX: You are prompted to format the volume when a formatted volume is mounted on a NTFS folder that is located on a computer that is running Windows Server 2008 or Windows Vista (http://support.microsoft.com/kb/971254/ )

2. It is recommended not to put files to the root of the mount point for support by Microsoft for support. Solution: create a directory to deposit your files.

E.G. SQL Server 2008 setup fails to install on a Windows Server 2008-based cluster mount point(http://support.microsoft.com/kb/2216461/)
“Note: SQL Server does not support installing to the root of the Volume Mount point because the permissions are not propagated to the Mount Point since Windows does not let you replace permissions on the root of a volume. To prevent problems during new installations and applications of updates to SQL Server, to create a folder on the root of the mount point and install to that folder. At this point, permissions are set correctly. If you previously installed to a root directory, we highly recommended that you create a folder, validate the current database integrity by using the DBCC CHECKB process, and then move the database to the folder.” To work around this problem, simply create the root of each mount point, directory, then move the files in that directory.


3. Cluster : Dependencies and mounts point : http://support.microsoft.com/kb/819546/
“The SQL Server 2005 (and later versions) resource depends on the SQL network name resource and the physical disk resources that hold its data. When mount points are being used together with the physical disks, each mount point must appear as a cluster resource. Additionally, each mount point must also be added as a SQL Server dependency. If only the root physical disks dependency is added and the mount points are not added, database corruption will occur on failover. Database corruption may also occur when SQL Server is restarted without failing over.”


4. Cluster : SQL Server support for mounted volumes(SQL 2000,2005 and 2008) : 
"Because of the number of available drive letters, the number of the virtual instances on a cluster is limited to 25. SQL Server 2005 and later versions have the same limitation. SQL Server supports use of mount points hosted only by drives that have drive letters that are not hosted by other mount points."  (http://support.microsoft.com/kb/819546)

 

 

Michel Degremont | Premier Field Engineer - SQL Server Core Engineer |


Get SSAS version with Powershell and AMO

$
0
0


I will try to illustrate how to get various information about Analysis Services by using powershell.

You could find below the first script to make the first connection:

 

$serverName = "serverName\SQL2008_InstanceName"

# Load the AMO assembly in Powershell
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisServices")

# Create a server object :
$serverAS = New-Object Microsoft.AnalysisServices.Server

# Connect to your Analysis Services server
$serverAS.connect($serverName)

# Select the information
$serverAS | SELECT  Name,Edition,Version

 

Michel Degremont | Premier Field Engineer - SQL Server Core Engineer |

 


 

Obtener la versión de PowerShell con SSAS y AMO

$
0
0


Voy a tratar deilustrar como obtener los informaciónes sobre Analysis Services uso PowerShell.

Para empezar, usted puede encontrar por debajo de un primer guión para hacer una conexión:

 

$serverName = "serverName\SQL2008_InstanceName"

# Load the AMO assembly in Powershell
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisServices")

# Create a server object :
$serverAS = New-Object Microsoft.AnalysisServices.Server

# Connect to your Analysis Services server
$serverAS.connect($serverName)

# Select the information
$serverAS | SELECT  Name,Edition,Version

 

Michel Degremont | Premier Field Engineer - SQL Server Core Engineer |

 


 

Obtenir la version de SSAS avec Powershell et AMO

$
0
0


Je vais essayer deillustrercomment obtenir diversesinformationssur le Analysis Services en utilisantpowershell.

Pour commencer, vous pouvez trouver ci-dessous un premier script pour faire une connexion :

 

$serverName = "serverName\SQL2008_InstanceName"

# Load the AMO assembly in Powershell
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisServices")

# Create a server object :
$serverAS = New-Object Microsoft.AnalysisServices.Server

# Connect to your Analysis Services server
$serverAS.connect($serverName)

# Select the information
$serverAS | SELECT  Name,Edition,Version

 

Michel Degremont | Premier Field Engineer - SQL Server Core Engineer |

 


 

Get Analysis Services properties that are no longer in default Powershell

$
0
0

You could find below a sample a script powershell to see which property is no default value of Analysis Services:

 

$serverName = "serverName\SQL2008_InstanceName"

# Load the AMO assembly in Powershell
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisServices")

# Create a server object
$serverAS = New-Object Microsoft.AnalysisServices.Server

# Connect to your Analysis Services server
$serverAS.connect($serverName)

# Creation of my dataset to store my result
$myDS = new-object System.Data.DataSet
$myDS.Tables.Add("myDS")
$myDS.Tables["myDS"].Columns.Add("name",[string])| out-null
$myDS.Tables["myDS"].Columns.Add("value",[string])| out-null
$myDS.Tables["myDS"].Columns.Add("defaultvalue",[string])| out-null

# Browsing all properties to see which one has been changed  
foreach($b in $serverAS.ServerProperties | SELECT name,value,defaultvalue )
{
    # Check if the current value is different from the default value
    if ($b.value -ne $b.defaultvalue)
    {       
   
        # Add a new row to my Data Set
        $dr = $myDS.Tables["myDS"].NewRow()
       
        # Fill the cells
        $dr["name"] =  $b.name;
        $dr["value"] = $b.value.ToString();
        $dr["defaultvalue"] = $b.defaultvalue;
       
        $myDS.Tables["myDS"].Rows.Add($dr)

    }

}

# Query the result
$myDS.Tables["myDS"] | SELECT  name,value,defaultvalue;

 

Michel Degremont | Premier Field Engineer - SQL Server Core Engineer |

Obtener propiedades de Analysis Services que ya no están por defecto en Powershell

$
0
0

A continuación, encontraráun script de ejemploen las propiedades dePowerShell paraver los valoresque ya no estánen Analysis Servicespor defecto:

 

$serverName = "serverName\SQL2008_InstanceName"

# Load the AMO assembly in Powershell
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisServices")

# Create a server object
$serverAS = New-Object Microsoft.AnalysisServices.Server

# Connect to your Analysis Services server
$serverAS.connect($serverName)

# Creation of my dataset to store my result
$myDS = new-object System.Data.DataSet
$myDS.Tables.Add("myDS")
$myDS.Tables["myDS"].Columns.Add("name",[string])| out-null
$myDS.Tables["myDS"].Columns.Add("value",[string])| out-null
$myDS.Tables["myDS"].Columns.Add("defaultvalue",[string])| out-null

# Browsing all properties to see which one has been changed  
foreach($b in $serverAS.ServerProperties | SELECT name,value,defaultvalue )
{
    # Check if the current value is different from the default value
    if ($b.value -ne $b.defaultvalue)
    {       
   
        # Add a new row to my Data Set
        $dr = $myDS.Tables["myDS"].NewRow()
       
        # Fill the cells
        $dr["name"] =  $b.name;
        $dr["value"] = $b.value.ToString();
        $dr["defaultvalue"] = $b.defaultvalue;
       
        $myDS.Tables["myDS"].Rows.Add($dr)

    }

}

# Query the result
$myDS.Tables["myDS"] | SELECT  name,value,defaultvalue;

 

Michel Degremont | Premier Field Engineer - SQL Server Core Engineer |

Obtenir les propriétés Analysis Services qui ne sont plus par défaut en Powershell

$
0
0

Vous trouverez ci-dessous un exemple de script en powershell pour voir les valeurs  propriétés qui ne sont plus par défaut dans Analysis Services:

 

$serverName = "serverName\SQL2008_InstanceName"

# Load the AMO assembly in Powershell
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisServices")

# Create a server object
$serverAS = New-Object Microsoft.AnalysisServices.Server

# Connect to your Analysis Services server
$serverAS.connect($serverName)

# Creation of my dataset to store my result
$myDS = new-object System.Data.DataSet
$myDS.Tables.Add("myDS")
$myDS.Tables["myDS"].Columns.Add("name",[string])| out-null
$myDS.Tables["myDS"].Columns.Add("value",[string])| out-null
$myDS.Tables["myDS"].Columns.Add("defaultvalue",[string])| out-null

# Browsing all properties to see which one has been changed  
foreach($b in $serverAS.ServerProperties | SELECT name,value,defaultvalue )
{
    # Check if the current value is different from the default value
    if ($b.value -ne $b.defaultvalue)
    {       
   
        # Add a new row to my Data Set
        $dr = $myDS.Tables["myDS"].NewRow()
       
        # Fill the cells
        $dr["name"] =  $b.name;
        $dr["value"] = $b.value.ToString();
        $dr["defaultvalue"] = $b.defaultvalue;
       
        $myDS.Tables["myDS"].Rows.Add($dr)

    }

}

# Query the result
$myDS.Tables["myDS"] | SELECT  name,value,defaultvalue;

 

Michel Degremont | Premier Field Engineer - SQL Server Core Engineer |

Check if Analysis Services generate any memory dump with Powershell

$
0
0

Sometime , Analysis services engine terminates unexpectedly with an internal error when unexpected exception occurred. In this case, you could find in the log directory various mini memory dump.

It is recommended to contact Microsoft Support to help on the analysis of the dump to identify the root cause of the problem

 

$serverName = "serverName"
$instanceNameOLAP = 'mySSAS_InstanceName'
 
# Get the internal OLAP instance Name 
$InternalInstanceName=(get-itemproperty -path "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\OLAP").$instanceNameOLAP

# Get the registry path where dumpDir is located 
$keyName="HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\"+$InternalInstanceName+"\CPE"

# Get the value of ErrorDumpDir key
$serverLogFolder=$(Get-ItemProperty $keyName).ErrorDumpDir

# Lists the objects stored in this folder where the extension is .mdmp.
$dump = dir $serverLogFolder | ?{$_.name -match “^*.mdmp$”}

foreach ($b in $dump | SELECT LastWriteTime,Name)
{
    write-host 'Found memory dump inside '$serverLogFolder
    break;
}

$dump | SELECT LastWriteTime,Name, Length

 

Script updated  9th April 2012.

 

Michel Degremont | Premier Field Engineer - SQL Server Core Engineer |


Vérifiez si Analysis Services a généré des mini dump mémoire avec PowerShell

$
0
0

Parfois, Analysis Services s'arrête de manière inattendue avec une erreur interne inattendue lorsqu'une exception s'est produite. Dans ce cas, vous pourriez trouver dans le répertoire Log des mini dump mémoire.

 Il est recommandé de contacter le support Microsoft pour vous aider à l'analyser et  identifier la cause racine du problème

 

$serverName = "serverName"
$instanceNameOLAP = 'mySSAS_InstanceName'

# Get the internal OLAP instance Name
$InternalInstanceName=(get-itemproperty -path "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\OLAP").$instanceNameOLAP

# Get the registry path where dumpDir is located
$keyName="HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\"+$InternalInstanceName+"\CPE"

# Get the value of ErrorDumpDir key
$serverLogFolder=$(Get-ItemProperty $keyName).ErrorDumpDir

# Lists the objects stored in this folder where the extension is .mdmp.
$dump = dir $serverLogFolder | ?{$_.name -match “^*.mdmp$”}

foreach ($b in $dump | SELECT LastWriteTime,Name)
{
    write-host 'Found memory dump inside '$serverLogFolder
    break;
}

$dump | SELECT LastWriteTime,Name, Length

 

Michel Degremont | Premier Field Engineer - SQL Server Core Engineer |

Compruebe que Analysis Services ha generado el volcado de memoria mini con PowerShell

$
0
0

A veces, Analysis Servicesse detiene inesperadamentecon un errorinterno inesperadocuando seha producido una excepción.En este caso,se puede encontrar enel volcadode memoriamini-sesiónde directorio.

Se recomiendaponerse en contacto consoporte técnico de Microsoftpara ayudarle a analizare identificar la causaraíz del problema

 

$serverName = "serverName"
$instanceNameOLAP = 'mySSAS_InstanceName'

# Get the internal OLAP instance Name
$InternalInstanceName=(get-itemproperty -path "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\OLAP").$instanceNameOLAP

# Get the registry path where dumpDir is located
$keyName="HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\"+$InternalInstanceName+"\CPE"

# Get the value of ErrorDumpDir key
$serverLogFolder=$(Get-ItemProperty $keyName).ErrorDumpDir

# Lists the objects stored in this folder where the extension is .mdmp.
$dump = dir $serverLogFolder | ?{$_.name -match “^*.mdmp$”}

foreach ($b in $dump | SELECT LastWriteTime,Name)
{
    write-host 'Found memory dump inside '$serverLogFolder
    break;
}

$dump | SELECT LastWriteTime,Name, Length

Michel Degremont | Premier Field Engineer - SQL Server Core Engineer |

¿Cómo cambiar el puerto por defecto de una instancia de clúster de SSAS?

$
0
0

Anteriormente, SSAS escucha en todas las direcciones IP de el grupo de clúster que utilizan el puerto por defecto (2383). Cualquier configuración de puerto que no fue ignorado en las versiones 2005.2008 SSAS / R2. Este no es el mismo comportamiento con una instancia STANDALONE.

Pero desde2012Analysis Services, somos capaces decambiar elpuerto por defectoal editarlas propiedadesde la instancia declúster o el archivo msmdsrv.ini.

Recuerde que debeconfigurar el firewall parapermitir que las solicitudesentrantesen el puerto TCP2383.Véanse también losdemás puertos:2382, 80440 (Configurar Firewall de Windows para permitir el acceso a Analysis Services)

Test case:

En miprueba deabajo,ejecute el comando  tasklist /svc | findstr msmdsrv para obtener el ProcessID  de la instancia de mi instancia SSAS 2012.

- Luegode ejecutar el comando  netstat -ano | findstr <myProcessID> para ver si mi instancia se está escuchando en el puerto 5555 que he configurado.

- Como puedes ver, funciona  :-)

En cuanto alas limitaciones SSAS 2005/2008:
http://connect.microsoft.com/SQLServer/feedback/details/377639/2008-rtm-ssas-named-analysis-services-instance-port-doesnt-adjust-to-the-configured-port-after-a-failover
http://support.microsoft.com/kb/2466860
http://blogs.msdn.com/b/karang/archive/2009/09/05/sql-server-analysis-services-port-sql-2005-2008.aspx

 

Michel Degremont | Premier Field Engineer - SQL Server Core Engineer |

Comment changer le port d'écoute par défaut d'une instance SSAS en cluster ?

$
0
0

Précédemment, SSAS écoutait sur toutes les adresses IP du groupe de cluster en utilisant le port par défaut (2383). Toute autre configuration du port était ignorée dans les versions SSAS 2005,2008/R2. Ce n'est pas le même comportement avec une instance STANDALONE.

Mais depuis 2012 Analysis Services, nous sommes en mesure de changer le port par défaut en modifiant les propriétés de l'instance en cluster ou le fichier msmdsrv.ini.

N'oubliez pas deconfigurer votrepare-feupour permettreles requêtes entrantessur le port TCP2383.Voirégalement les autres ports:2382,80 440(.Configurer le pare-feu Windows pour autoriser l'accès à Analysis Services)

Test case:

- Dans mon test ci-dessous, je lance la commande  tasklist /svc | findstr msmdsrv pour obtenir le  processID de mon instance  SSAS 2012.

- Ensuite, je lance la commande  netstat -ano | findstr <myProcessID> pour vérifier si mon instance écoute sur le port 5555 que j'ai configuré.

- Comme vous pouvez le constater, ca marche  :-)


Concernant les limitations SSAS 2005/2008:
http://connect.microsoft.com/SQLServer/feedback/details/377639/2008-rtm-ssas-named-analysis-services-instance-port-doesnt-adjust-to-the-configured-port-after-a-failover
http://support.microsoft.com/kb/2466860
http://blogs.msdn.com/b/karang/archive/2009/09/05/sql-server-analysis-services-port-sql-2005-2008.aspx

 

Michel Degremont | Premier Field Engineer - SQL Server Core Engineer |

Cluster SSAS, How change the default listening port configuration ?

$
0
0

Previously, SSAS was listening on all IP addresses of the cluster group using the default port (2383). Any alternate port configuration is ignored until version 2005 and 2008/R2. It’s not the same behavior with a standalone instance. 

But since Analysis Services 2012, we are able to change the default  port in cluster by editing the properties or msmdsrv.ini file.

Don't forget to configure your firewall to allow incoming requests on TCP port 2383. See also others port: 2382, 80,440 (Configure the Windows Firewall to Allow Analysis Services Access)

Test case:

- In my test below, I run the command  tasklist /svc | findstr msmdsrv to get the processID of my instance SSAS 2012.

- Then, I run netstat -ano | findstr <myProcessID> to check if my instance is listening on my new configured port 5555.

- As you can see, it works :-)


Regarding the limitation of 2005/2008:
http://connect.microsoft.com/SQLServer/feedback/details/377639/2008-rtm-ssas-named-analysis-services-instance-port-doesnt-adjust-to-the-configured-port-after-a-failover
http://support.microsoft.com/kb/2466860
http://blogs.msdn.com/b/karang/archive/2009/09/05/sql-server-analysis-services-port-sql-2005-2008.aspx


 IMPORTANT (9 November,2012) :  Although you can connect to instance like "virtualName:port" ,  my colleague from Support Team confirm me, that we are not allow to change de port 2383 on clustered instance.

Port configuration for an Analysis Services cluster : On computers that have multiple network cards, Analysis Services listens on all IP addresses using the port you specify. On a clustered instance, Analysis Services will listen on all IP addresses of the cluster group, but only on TCP port 2383. You cannot specify an alternate fixed port for a clustered instance. (http://msdn.microsoft.com/en-us/library/ms174937.aspx#bkmk_cluster

 

Michel Degremont | Premier Field Engineer - SQL Server Core Engineer |

¿Está de acuerdo en añadir una instancia de SSAS 2012 a un grupo de clúster de SQL Server 2012 existe?

$
0
0

Esto no se admitepara agregar o quitaruna característica deuna instancia de clúster.

El asistente de instalaciónde SQL Server2012no permite agregarfuncionalidada una instancia declúster de SQLServer Failover. Si utilizael asistente de instalación, recibirá el mensaje de errorsiguiente:
-  Instance name '<Instance Name>' is already in use. To continue, specify a unique instance name.

- The SQL Server failover cluster instance name '<virtual name>' already exists as a clustered resource.  Specify a different failover cluster instance name.

Analysis Services2012no se puede añadira una instancia existente.Para compartirun grupo de recursoscon una instancia deSQL Server, debe elegir la instalación deAnalysis Servicesdurante la instalación inicialde SQL Server.En el camino,quitar una funciónde una instancia declúster existenteno es compatible.


Otra referenciaa una versión anterior: You cannot add or remove features to a SQL Server 2008 or SQL Server 2008 R2 failover cluster

 

Michel Degremont | Premier Field Engineer - SQL Server Core Engineer |

Est-il pris en charge d'ajouter une instance SSAS 2012 à un group cluster SQL 2012 existant ?

$
0
0

Ce n'est pas supporté d'ajouter ou supprimer une fonctionnalité d'une instance en cluster.

L'assistant d'installation de SQL Server  2012 ne supporte pas d'ajouter une fonctionnalité à une instance SQL server en Cluster Failover. Si vous utilisez l'assistant d'installation, vous obtiendrez le message d'erreur suivant:
-  Instance name '<Instance Name>' is already in use. To continue, specify a unique instance name.
- The SQL Server failover cluster instance name '<virtual name>' already exists as a clustered resource.  Specify a different failover cluster instance name.

Analysis Services 2012 ne peut donc pas être ajoutée à une instance existante. Pour partager ungroupe de ressources avec une instance deSQL Server, vous devezchoisir d'installerAnalysis Servicespendant l'installation initialede SQL Server. Surle chemin, supprimer une fonctionnalité à partir d'uneinstance en cluster existante n'est pas supporté.

Autre référence sur une version antèrieure: You cannot add or remove features to a SQL Server 2008 or SQL Server 2008 R2 failover cluster

 

Michel Degremont | Premier Field Engineer - SQL Server Core Engineer |


Is-it supported to add SSAS 2012 instance to an existing SQL 2012 virtual server group ?

$
0
0

How add Analysis Services to a clustered SQL Server instance ?

It's not supported to Add or Remove features for Clustered instances

SQL Server setup 2012 does not support adding features to an existing failover cluster instance. By using the wizard, you will get the following error message:
-  Instance name '<Instance Name>' is already in use. To continue, specify a unique instance name.
- The SQL Server failover cluster instance name '<virtual name>' already exists as a clustered resource.  Specify a different failover cluster instance name.

Analysis Services cannot be added to an existing instance of SQL Server. To share a resource group with an instance of SQL Server, you must choose to install Analysis Services during the initial installation of SQL Server. On the same note removing features from a clustered instance is also not supported.

 

Reference regarding old version: You cannot add or remove features to a SQL Server 2008 or SQL Server 2008 R2 failover cluster

 

Michel Degremont | Premier Field Engineer - SQL Server Core Engineer |

 

 

Invoke-Sqlcmd : The 32-bit OLE DB provider "MSOLAP" cannot be loaded in-process on a 64-bit SQL Server

$
0
0

 

Problem description : The PowerShell command below uses to run every 5 minutes. But since 2 days, I got the error message below :  Invoke-Sqlcmd : The 32-bit OLE DB provider "MSOLAP" cannot be loaded in-process on a 64-bit SQL Server.

 (Invoke-Sqlcmd -ServerInstance $R -Database SSAS_Monitor -Query "INSERT INTO dbo.SSAS_DISCOVER_SESSIONS SELECT  '$I', getdate(), * FROM OpenRowset('MSOLAP', 'Data Source=$I;' ,'SELECT * FROM `$system`.DISCOVER_sessions WHERE SESSION_USER_NAME <> ''$proxy''')")

 

Work done :
-  I had a look to windows event system and application but I didn’t see any error about that.
-  I didn’t see any reboot or new installation of any Hotfix or whatever.
-  I can see that provider for 32bit and 64bit are installed for MOLAP.5 (2012 RTM for the both)
-  I can see that provider for 32Bit only was installed for MOLAP.4 (2008 R2 RTM)
-  Process Monitor didn’t give me any clue.
-  I restarted the server just in case, but theissue was still there.

 

Workaround : It looks like my query is using now MOLAP.4 instead of MOLAP.5 (I guess but not sure). As the version for 2008R2 is installed only in
32bit,the script failed with the message The 32-bit OLE DB provider "MSOLAP" cannot be loaded in-process on a 64-bit SQL Server

 

Step 1 : Unregister the both DLL:

regsvr32 /u "C:\Program Files (x86)\Microsoft Analysis Services\AS OLEDB\110\msolap110.dll"
regsvr32 /u "C:\Program Files\Microsoft Analysis Services\AS OLEDB\110\msolap110.dll"

 

Step 2 : Register the both DLL, with 32Bit in first position:

regsvr32 "C:\Program Files (x86)\Microsoft Analysis Services\AS OLEDB\110\msolap110.dll"
regsvr32 "C:\Program Files\Microsoft Analysis Services\AS OLEDB\110\msolap110.dll"

 

Step 3 : Restart SQL Service

 

After that, everything was working well :-)

 

 

Relative links :

- Explanation of Regsvr32 usage and error messages
- How to perform a SQL Server distributed query with OLAP Server


 

 

 

 

Michel Degremont | Premier Field Engineer - SQL Server Core Engineer |

 

How a clustered instance of Analysis Services works

$
0
0

 

Analysis Services is clustered as  a generic service resource on a Windows failover cluster. This applies to 2005, 2008, 2008R2, and 2012.

 

Since SSAS 2005 version, Analysis Services is fully integrated into clustering Setup (the install of SQL):

        - SSAS 2005 cluster setup is adding the service on all cluster nodes on the same setup
        - SSAS 2008, the setup have to be done node by node Analysis Services is presented to the cluster as generic resource with the type Application Service and doesn’t implement his own explicit IsAlive method. Unlike SQL Server, Analysis Services doesn't have a cluster resource .dll that knows how to do that work like connect to AS and run a simple query to check that it responds.

 

Possible cause of failure that is detected for an Application Service:

       - The service stopped(ie. crash, or was killed) then the cluster resource would notice
       - A dependency in the group where the generic service is configured failed (a disk fails or goes offline, an IP, virtual name, mount point, SQL server…other dependencies affecting the group)

 


Note :Application Service will NOT detect a hang situation in SSAS, where all connections are rejected.

 

Michel Degremont | Premier Field Engineer - SQL Server Core Engineer |

Moving SSAS Database to a new drive on same server

$
0
0


Problem description: After you moved SSAS databases to a new drive on the same server, you are not able to administrate  Analysis Service. SSAS databases is up and running. When you add a database or user, it appears that users are added successfully, but when going back out of the dialog nothing happened.


Work done:
To move you database to a new drive, you followed the step below.
  
   Step 1: With Microsoft SQL Server Management Studio, connect to Analysis Server, then right Click on the server and click on Properties.
   Step 2: Edit the path of you data directory. And replace the old path by the new one.
   Step 3: Stop the SQL Server Analysis Services Service.
   Step 4: Move the Data to the new directory location.
   Step 5: Start the SQL Server Analysis Services Service.
   Step 6: verify that you can browser all database.


Cause:
Inside the SSAS log, you can see an  issue relating to something not allowing SSAS to update or access this file

     Message: Service started. (Source: ?\D:\Log\msmdsrv.log, Type: 1, Category: 289, Event ID: 0x41210000)
     Message: The file '\\?\E:\OLAP\Data\master.vmp' could not be deleted.
     Please check the file for permissions. (Source: ?\D:\Log\msmdsrv.log, Type: 3, Category: 289, Event ID: 0xC121001F)

I run Process Monitor and after SSAS restart I saw an access denied on various file and also on master.vmp.


For insformation:
  The master.vmp file is the master version map that contains the GUIDS for all of the objects and the version of each object that currently exists on the server. When the server starts, it looks at the master.vmp file and need to update it ( More information with my colleague Karan)

 

Resolution: You can solve this issue you can give the right "Modify" to SSAS service account to this new data folder.


Others points:

1. A database can be moved in many ways (SSMS Attach/Detach, AMO, XMLA). You could find some various way in the bol (Move an Analysis Services Database)
2. You can only move the file regarding Data, Backup, Log or Temp. However it's not supported to move manually the BIN and Config directory. You must reinstall your instance.

 

Michel Degremont | Premier Field Engineer - SQL Server Core Engineer |

How a clustered instance of Analysis Services works

$
0
0

 

Analysis Services is clustered as  a generic service resource on a Windows failover cluster. This applies to 2005, 2008, 2008R2, and 2012.

 

Since SSAS 2005 version, Analysis Services is fully integrated into clustering Setup (the install of SQL):

        – SSAS 2005 cluster setup is adding the service on all cluster nodes on the same setup
        – SSAS 2008, the setup have to be done node by node Analysis Services is presented to the cluster as generic resource with the type Application Service and doesn’t implement his own explicit IsAlive method. Unlike SQL Server, Analysis Services doesn’t have a cluster resource .dll that knows how to do that work like connect to AS and run a simple query to check that it responds.

 

Possible cause of failure that is detected for an Application Service:

       – The service stopped(ie. crash, or was killed) then the cluster resource would notice
       – A dependency in the group where the generic service is configured failed (a disk fails or goes offline, an IP, virtual name, mount point, SQL server…other dependencies affecting the group)

 

Note : Application Service will NOT detect a hang situation in SSAS, where all connections are rejected.

 

Michel Degremont | Premier Field Engineer – SQL Server Core Engineer |

Viewing all 49 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>