Wednesday, November 21, 2012

SCSM 2012 Data Warehouse DWDataMart Full

Recently i nearly got myself into a dead lock where my SCSM 2012 Data Warehouse Management Server goes dead as the disk space use up by the DWDataMart Log.

Since the backup of the database failed weeks ago and unfortunately no one noticing it, the DB log file grows to 23GB and immediately flood out the hard drive.

I soon come to a very useful SQL command which can truncate the DB Log. Also not that by doing this, you lost the recovery option of that period, so do think twice before using this command.

BACKUP LOG DWDataMart TO DISK = N'e:DWDataMart.bak'


This is a simple command that safe my day. :-)

You can also apply this to clean up the DWRepository as well in case the log use up all the space.

Tuesday, November 20, 2012

SCSM 2012 Data Warehouse Cube Processing Keep Failing

I personally find it very annoying when you imported a management pack (MP) in your SCSM and the next day all Cube Processing job failed without reason.

Have been seeking high and low for fix this and finally with combine article from Technet and forums by hundreds miserable user same as myself, the cube processing can be fixed using below method

Firstly lets Disable Data Warehouse Cube Processing jobs via Power Shell (make sure to change to correct Program Files install directory for SCSM):

Import-Module '%ProgramFiles% \Microsoft System Center 2012\ServiceManager\Microsoft.EnterpriseManagement.Warehouse.Cmdlets.psd1'
Disable-SCDWJob "Process.SystemCenterConfigItemCube"
Disable-SCDWJob "Process.SystemCenterWorkItemsCube"
Disable-SCDWJob "ProGetcess.SystemCenterChangeAndActivityManagementCube"
Disable-SCDWJob "Process.SystemCenterServiceCatalogCube"
Disable-SCDWJob "Process.SystemCenterPowerManagementCube"
Disable-SCDWJob "Process.SystemCenterSoftwareUpdateCube"

Login to the server hosting the Analysis service and run the powershell script, just remember to change the$Server.Connect and the $DWASDB with the correct server (being the name of the SQL Server) and database name. It usually runs for 5-15 minutes. In my case, it took me about 45 minutes, so not to worry if the Powershell hung. When complete, you can verify by looking at the properties at one of the dimensions

$Server = New-Object Microsoft.AnalysisServices.Server
$Databases = $Server.Databases
$DWASDB = $Databases["DWASDataBase"]
$Dimensions = New-Object Microsoft.AnalysisServices.Dimension
$Dimensions = $DWASDB.Dimensions
foreach ($Dimension in $Dimensions){$Dimension.Process("ProcessFull")}

Now you have to enable back all the cube processing job you have disabled earlier.

Enable-SCDWJob "Process.SystemCenterConfigItemCube"
Enable-SCDWJob "Process.SystemCenterWorkItemsCube"
Enable-SCDWJob "ProGetcess.SystemCenterChangeAndActivityManagementCube"
Enable-SCDWJob "Process.SystemCenterServiceCatalogCube"
Enable-SCDWJob "Process.SystemCenterPowerManagementCube"
Enable-SCDWJob "Process.SystemCenterSoftwareUpdateCube"

The final step to do is to process all the cubes

Notice that the cube processing finish without error.

hope this help out all other out there with SCSM 2012 Cube Processing issue.