Skip to main content

Posts

Showing posts from February, 2014

Email Alerts are not received...

In one of application, Email alerts are sent using SQL sp_send_dbmail stored procedure. Email alerts were working properly, but suddenly noticed email alerts are not received.

To troubleshoot the issue, first I checked the msdb.dbo.sysmail_event_log table using the below query.

SELECT log_id, event_type, log_date, description, process_id, mailitem_id, account_id, last_mod_date, last_mod_user
FROM
msdb.dbo.sysmail_event_log 
ORDER BY
log_date DESC

If there is any error, you should see records with the event_type value as error.
In my case there are records with event_type value as error, and the description value for those records is same as below

The mail could not be sent to the recipients because of the mail server failure. (Sending Mail using Account 3 (2018-02-01T10:41:27). Exception Message: Cannot send mails to mail server. (The SMTP server requires a secure connection or the client was not authenticated. The server response was: Authentication required).  )

As per the error descript…

Estimated Count or Partition Count must be specified for cube objects that require counting...

While creating an aggregation design for a partition in SSAS Cube using SQL Server Management Studio, below error was thrown while trying to get the Estimated Count and Partition Count.

Estimated Count or Partition Count must be specified for cube objects that require counting.

The issue was for some dimension, there is no Estimated Count and those were highlighted in Red color line. Just provide the value for those and it will fix this issue.

Working with large Data Warehouses and Cubes...

In this post I include some of the best practices identified while working with large Data Warehouses and Cubes.Use table partitioning for daily or monthly basis, depending on the data frequency.Merge old partitions by considering the historical and changing data availability.Design and implement table partitioning before loading the data. Otherwise you will be facing issues while trying to create the index for loaded data.If you want to delete particular set of records, truncate the relevant partition. Because it will take more time if you try to delete it with large set of records.Design and implement cube partitions.Process the implemented partitions to load data, rather processing the whole measure group or cube. Otherwise it will utilize almost all the memory and CPU, if we try to load all at once.Also use the Process Data option first and then use Process Index option. Sometimes it takes more time if you use the Process Full option.