This is usually results after uninstalling Microsoft CRM Server, and then backing up the databases and moving them to a different SQL Server computer.
The Metadata cache error - no entity is seen when the user tries to go offline with Sales for Outlook.
The solution is to manually reconfigure SQL Replication. See TechKnowledge 29538 for more information regarding how to enable replication and create publication on Microsoft CRM. Inserted below
To enable Replication and create the Publications complete the following steps
1. Go to Start | Programs | Microsoft SQL Server | Query Analyzer
2. In the Connect to SQL Server dialog box, connect to your SQL Server. Make sure to log in as a SQL Server Admin user
3. On the toolbar, from the drop-down list, select the database <OrganizationName>_MSCRM
4. Run the following command
EXEC p_CRMReplicationSetup <SQL Server name>, <SQL Server name>, <Microsoft CRM database name>, <Metabase database name>, <'replication SQL Server directory'>, <'SQL login group name'>, <MSCRMDistribution database name
where
<Microsoft CRM_Database name> = This is the database that has a name in the format <OrganizationName>_MSCRM
<Metabase database name> = The database that has a name in the format <OrganizationName>_METABASE
<replication SQL Server directory> = This is the path to the REPLDATA directory on the SQL Server, for example C:\Program Files\Microsoft SQL Server\MSSQL\REPLDATA
<SQL login group name> = This is the name located in the Logins node under Security. It is in the format <domain name>\SQLRepl {E5334FB9-440A-4BD8-A19A-0FA54E6B248C}. For more information about how to find this name, see the following Note
<MSCRMDistribution database name> = This is the database that has a name in the format <OrganizationName>_MSCRMDistribution. If you do not see this database in SQL, specify the database name as listed above, in the parameter and the database will be created
Not
To find the SQL login group name do the following
a. On the Start menu, point to Programs, point to Microsoft SQL Server, and click Enterprise Manager
b. In the console tree, expand the Security node of the server for which you want to determine the group name (the one you specified during setup)
c. Click Logins to view a list of login names.
d. In the details pane, right-click the login name that is in the format <domain name>\SQLRepl {E5334FB9-440A-4BD8-A19A-0FA54E6B248C}, and click Properties.
e. In the Properties dialog box, click the Database Access tab.
f. On the Database Access tab, the SQL login group name is the name located in the User column for one of the populated rows. (Any one of the names listed in this column will work.
g. Right-click the name and click Copy. Paste the name from the User column into the <SQL login group name) parameter in the command listed
Exampl
For an organization created with the name MyOrganization, with users in the domain MyDomain, installed to a SQL Server called MySQLSvr, you would use code similar to the following
EXEC p_CRMReplicationSetup 'MySQLSvr', 'MySQLSvr', ‘MyOrganization_MSCRM', ‘MyOrganization_METABASE', 'C:\Program Files\Microsoft SQL Server\MSSQL\REPLDATA', ‘MyDomain\SQLRepl {E5334FB9-440A-4BD8-A19A-0FA54E6B248C}', ‘MyOrganization_MSCRMDistribution'