Cannot execute as the database principal because the principal “guest” does not exist
I have not needed to overcome this problem on a SQL Server except when I make a mistake with permissions.  I do not endorse the below, because I have not spent time on the problem.  

However, for what it is worth, Symantec has an article on this issue using SQL Server 2012 and Windows 2012 at: 

Cannot execute as the database principal because the principal “guest” does not exist

Their answer is based on how your SQL Server is configured.


A default instance running under Local System should run under NT Service\MSSQLServer, then NT Authority\System has db_datareader role to the “master” database. 
A named instance running under Local System should run under NT Service\MSSQLServer or NT Service\MSSQL$ServerXInstanceX, then ONLY NT Authority\System has db_datareader role to the “master” database. 
If running under Domain or Local user account the instance should run under Mydomain\MyUser, then Mydomain\MyUser has “db_datareader” role to the “master” database