Solved: No mapping between account names and security IDs was done (SSAS)

ssasmismatcherror

"Error 118 The following system error occurred: No mapping between account names and security IDs was done."

This error may look a little bit strange, but once you know what it’s complaining about it’s an easy fix.

Most likely you have a role defined in database that contains users or user groups not available in deployment environment. For example you have user group Domain1\UserGroup1 specified in role, but you are trying to deploy this database in environment where Domain1 is not available. To fix this error simply replace users or user groups with values that are correct in deployment domain.

And…we’re done 🙂








SSRS: Windows Authentication connection to SMTP server

In order to get SSRS to use Windows Authentication to setup a connection with your local SMTP, you’ll need to modify the rsreportserver.config.

The ‘rsreportserver.config’-file is located in: X:\Program Files\Microsoft SQL Server\MSRS1111.MSSQLSERVER\Reporting Services\ReportServer

Open the file and look for ‘SMTPAuthenticate‘:

SSRS SMTP configuration





















By default it is empty, but you’ll need to set it to ‘2‘.

More info about this property: https://msdn.microsoft.com/en-us/library/ms159155(v=sql.120).aspx#bkmk_options_local_SMTP

SMTPAuthenticate specifies how the report server connects to the remote SMTP server. The default value is 0 (or no authentication). In this case, the connection is made through Anonymous access. Depending on your domain configuration, the report server and the SMTP server may need to be members of the same domain.
To send e-mail to restricted distribution lists (for example, distribution lists that accept incoming messages only from authenticated accounts), set SMTPAuthenticate to 2.

IMPORTANT: After you’ve saved the configuration-file, don’t forget to restart the SSRS service on your server.








MDS: How to truncate an Entity-table?

Here’s how you can quickly (with using the GUI or Excel Add-in) truncate an Entity-table in MDS by using the accompanied Staging-table (stg_*):

MDS-truncate-enitity-table









MDS needs the Code-ids together with the ImportType = 4 to delete records via staging.
Basically the first step is to populate the staging table by using the MDS view (which contains the current set of records and thus the Code-ids), after that you’ll need to execute the accompanied MDS stored procedure to process these changes.
Important: make sure that both BatchTag’s are identical!



Here’s the T-SQL code:

TRUNCATE TABLE stg.[TableName_Leaf]

INSERT INTO stg.[TableName_Leaf] (ImportType,ImportStatus_ID,BatchTag,Code)
SELECT
4 AS ImportType
,0 AS ImportStatus_ID
,'Delete-20151102' AS BatchTag
,Code
FROM mdm.JOBS_TableName

SELECT * FROM stg.[TableName_Leaf]

EXEC stg.[udp_TableName_Leaf] @VersionName = 'VERSION_1', @LogFlag = 0, @BatchTag = 'Delete-20151102'



More info about working with MDS staging tables (and ETL):
http://www.sqlchick.com/entries/2013/2/16/importing-data-into-master-data-services-2012-part-1.html
http://www.mattmasson.com/2013/06/bulk-loading-into-mds-using-ssis/
http://www.sqlservercentral.com/blogs/simon_says/2014/01/28/master-data-services-for-the-beginner-part-03/