Error in BCM2007 'UPDATE permission denied ...

B

Baytech

Hi,

We have been having a problem with BCM2k7 for a while now where some of our
users would get pop ups whilst saving a new contact, saying stuff along the
lines of: "UPDATE permission denied on column 'OfficeLocation' of object
'ContactMainTable', database 'MSBusinessContactManager'" etc..
This would be a random occurance and would not show up every time. But when
it did it would not allow the user to add contacts into the shared database.
Now one of our users is unable to add users while off line. What happens is
when the user is off line and adds a contact or two into his bcm2007 he is
unable to rejoin our shared database as the re-sync gets canceled mid way. So
the only way he can rejoin is to drop his current offline database and rejoin
with a servers copy (this kinda beats the point of going offline if you cant
do anything with it).
So I turned on bcm logging and took a look and this is what I found:

[11:30:06.2473360]BusinessLayer: DoSavePropertyBag
[E] [11:30:06.2785362]BusinessLayer: UPDATE permission denied on column
'OfficeLocation' of object 'ContactMainTable', database
'MSBusinessContactManager', schema 'dbo'.
[E] [11:30:06.2785362]BusinessLayer: at
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean
breakConnection)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException
exception, Boolean breakConnection)
at
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject
stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior,
SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet
bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
at System.Data.SqlClient.SqlDataReader.get_MetaData()
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds,
RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior
cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior
cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method,
DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior
cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior
behavior, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader()
at
Microsoft.BusinessSolutions.eCRM.BusinessLayer.BcmReadingTransaction.BcmTextCommandImpl.ExecuteReader()
at
Microsoft.BusinessSolutions.eCRM.BusinessLayer.BusinessEntity.DoSavePropertyBag(BcmWritingTransaction transaction)
at Microsoft.BusinessSolutions.eCRM.BusinessLayer.BusinessEntity._Save()
[E] [11:30:06.2785362]BCMRes: Text:
[E] [11:30:06.2785362]BCMRes: Message:UPDATE permission denied on column
'OfficeLocation' of object 'ContactMainTable', database
'MSBusinessContactManager', schema 'dbo'.
[V] [11:30:06.2785362]Iris.Mapi.MessageStore: MAPIProp::SaveChanges:Return:
0x1f5555e0, 0x80040a00
[V] [11:30:06.2785362]Iris.Mapi.MessageStore: IMAPIProp::GetLastError:Enter:
0x1f5555e0
[V] [11:30:06.2785362]Iris.Mapi.MessageStore: MAPIProp::GetLastError:Return:
0x1f5555e0, 0x00000000
[E] [11:30:06.2785362]Microsoft.Iris.ImportExportDataAccess: Exception
saving new account: UPDATE permission denied on column 'OfficeLocation' of
object 'ContactMainTable', database 'MSBusinessContactManager', schema 'dbo'.
[E] [11:30:06.2785362]Microsoft.Iris.ImportExportDataAccess: Text:Unable to
save the Account object, UPDATE permission denied on column 'OfficeLocation'
of object 'ContactMainTable', database 'MSBusinessContactManager', schema
'dbo'..
[E] [11:30:06.2785362]Microsoft.Iris.ImportExportDataAccess: Message:UPDATE
permission denied on column 'OfficeLocation' of object 'ContactMainTable',
database 'MSBusinessContactManager', schema 'dbo'.
[E] [11:30:06.2785362]Microsoft.Iris.ImportExport: Unable to save the
Account object, UPDATE permission denied on column 'OfficeLocation' of object
'ContactMainTable', database 'MSBusinessContactManager', schema 'dbo'..
[E] [11:30:06.2785362]Microsoft.Iris.ImportExport: ImportFatalException
during syncing, Unable to save the Account object, UPDATE permission denied
on column 'OfficeLocation' of object 'ContactMainTable', database
'MSBusinessContactManager', schema 'dbo'..
[E] [11:30:06.2785362]BCMRes: Text:
[V] [11:30:06.2785362]Microsoft.BusinessSolutions.eCRM.DataSync:
SyncManager.Synchronize: Exit
[V] [11:30:06.2785362]Microsoft.BusinessSolutions.eCRM.DataSync:
DataSyncException in GoOnline, message is BCM Error #7009 :,stackTrace is
at
Microsoft.BusinessSolutions.eCRM.ImportExportBase.OutlookChangeListConsumer.Microsoft.BusinessSolutions.eCRM.DataSync.IChangeListConsumer.ApplyChanges(ChangeList changes, EventsManager eventsMgr)
at
Microsoft.BusinessSolutions.eCRM.DataSync.SyncManager.Synchronize(SyncPoint
sp, IContext producerContext, IContext consumerContext, SyncLog syncLog)
at
Microsoft.BusinessSolutions.eCRM.DataSync.SyncManager.Synchronize(String
outlookProfileName, String syncPointName, IContext producerContext, IContext
consumerContext)
at
Microsoft.BusinessSolutions.eCRM.DataSync.OfflineManager.GoOnline(IContext
context)
[V] [11:30:06.2785362]Microsoft.BusinessSolutions.eCRM.DataSync:
OfflineManager.DoCancelUpdateDuringGoOnline: Entry
[V] [11:30:06.3253365]Microsoft.BusinessSolutions.eCRM.DataSync:
SyncManager.SynchronizationScheduled: Entry
[V] [11:30:06.3253365]Microsoft.BusinessSolutions.eCRM.DataSync:
SyncManager.SynchronizationScheduled: Entry
[V] [11:30:06.3253365]Microsoft.BusinessSolutions.eCRM.DataSync:
SyncManager.SynchronizationScheduled: Entry
[V] [11:30:06.3253365]Microsoft.BusinessSolutions.eCRM.DataSync:
SyncManager.SynchronizationScheduled: Entry

It is the same 'UPDATE permission denied' error everyone has getting
occasionally, but with some more details. So I had a look at the SQL server
that holds our DB. Our authenticate permissions to make changes to the BCM DB
are all fine (as it has a Domain Group that has authority to make changes and
everyone is on that group).
Also had a look at the SQL Server Profiler and took a snapshot of one of
these failed syncs. There is a lot of low level stuff happening so fiddling
with it wouldn't be wise. But something fundamental must have defiantly
messed itself up.

If there is any advice or solution available it would be much appreciated
because this problem is making our BCM2007 unrealistic to work with.

Thanks in advance
-Baytech
 
L

Luther

Hi,

We have been having a problem with BCM2k7 for a while now where some of our
users would get pop ups whilst saving a new contact, saying stuff along the
lines of: "UPDATE permission denied on column 'OfficeLocation' of object
'ContactMainTable', database 'MSBusinessContactManager'" etc..
This would be a random occurance and would not show up every time. But when
it did it would not allow the user to add contacts into the shared database.
Now one of our users is unable to add users while off line. What happens is
when the user is off line and adds a contact or two into his bcm2007 he is
unable to rejoin our shared database as the re-sync gets canceled mid way.So
the only way he can rejoin is to drop his current offline database and rejoin
with a servers copy (this kinda beats the point of going offline if you cant
do anything with it).
So I turned on bcm logging and took a look and this is what I found:

[11:30:06.2473360]BusinessLayer: DoSavePropertyBag
[E] [11:30:06.2785362]BusinessLayer: UPDATE permission denied on column
'OfficeLocation' of object 'ContactMainTable', database
'MSBusinessContactManager', schema 'dbo'.
[E] [11:30:06.2785362]BusinessLayer:    at
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean
breakConnection)
   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException
exception, Boolean breakConnection)
   at
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObje­ct
stateObj)
   at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior,
SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet
bulkCopyHandler, TdsParserStateObject stateObj)
   at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
   at System.Data.SqlClient.SqlDataReader.get_MetaData()
   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds,
RunBehavior runBehavior, String resetOptionsString)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior
cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior
cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method,
DbAsyncResult result)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior
cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
   at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior
behavior, String method)
   at System.Data.SqlClient.SqlCommand.ExecuteReader()
   at
Microsoft.BusinessSolutions.eCRM.BusinessLayer.BcmReadingTransaction.BcmTex­tCommandImpl.ExecuteReader()
   at
Microsoft.BusinessSolutions.eCRM.BusinessLayer.BusinessEntity.DoSavePropert­yBag(BcmWritingTransaction transaction)
   at Microsoft.BusinessSolutions.eCRM.BusinessLayer.BusinessEntity._Save()
[E] [11:30:06.2785362]BCMRes: Text:
[E] [11:30:06.2785362]BCMRes: Message:UPDATE permission denied on column
'OfficeLocation' of object 'ContactMainTable', database
'MSBusinessContactManager', schema 'dbo'.
[V] [11:30:06.2785362]Iris.Mapi.MessageStore: MAPIProp::SaveChanges:Return:
0x1f5555e0, 0x80040a00
[V] [11:30:06.2785362]Iris.Mapi.MessageStore: IMAPIProp::GetLastError:Enter:
0x1f5555e0
[V] [11:30:06.2785362]Iris.Mapi.MessageStore: MAPIProp::GetLastError:Return:
0x1f5555e0, 0x00000000
[E] [11:30:06.2785362]Microsoft.Iris.ImportExportDataAccess: Exception
saving new account: UPDATE permission denied on column 'OfficeLocation' of
object 'ContactMainTable', database 'MSBusinessContactManager', schema 'dbo'.
[E] [11:30:06.2785362]Microsoft.Iris.ImportExportDataAccess: Text:Unable to
save the Account object, UPDATE permission denied on column 'OfficeLocation'
of object 'ContactMainTable', database 'MSBusinessContactManager', schema
'dbo'..
[E] [11:30:06.2785362]Microsoft.Iris.ImportExportDataAccess: Message:UPDATE
permission denied on column 'OfficeLocation' of object 'ContactMainTable',
database 'MSBusinessContactManager', schema 'dbo'.
[E] [11:30:06.2785362]Microsoft.Iris.ImportExport: Unable to save the
Account object, UPDATE permission denied on column 'OfficeLocation' of object
'ContactMainTable', database 'MSBusinessContactManager', schema 'dbo'..
[E] [11:30:06.2785362]Microsoft.Iris.ImportExport: ImportFatalException
during syncing, Unable to save the Account object, UPDATE permission denied
on column 'OfficeLocation' of object 'ContactMainTable', database
'MSBusinessContactManager', schema 'dbo'..
[E] [11:30:06.2785362]BCMRes: Text:
[V] [11:30:06.2785362]Microsoft.BusinessSolutions.eCRM.DataSync:
SyncManager.Synchronize: Exit
[V] [11:30:06.2785362]Microsoft.BusinessSolutions.eCRM.DataSync:
DataSyncException in GoOnline, message is BCM Error #7009 :,stackTrace is    
at
Microsoft.BusinessSolutions.eCRM.ImportExportBase.OutlookChangeListConsumer­.Microsoft.BusinessSolutions.eCRM.DataSync.IChangeListConsumer.ApplyChanges­(ChangeList changes, EventsManager eventsMgr)
   at
Microsoft.BusinessSolutions.eCRM.DataSync.SyncManager.Synchronize(SyncPoint
sp, IContext producerContext, IContext consumerContext, SyncLog syncLog)
   at
Microsoft.BusinessSolutions.eCRM.DataSync.SyncManager.Synchronize(String
outlookProfileName, String syncPointName, IContext producerContext, IContext
consumerContext)
   at
Microsoft.BusinessSolutions.eCRM.DataSync.OfflineManager.GoOnline(IContext
context)
[V] [11:30:06.2785362]Microsoft.BusinessSolutions.eCRM.DataSync:
OfflineManager.DoCancelUpdateDuringGoOnline: Entry
[V] [11:30:06.3253365]Microsoft.BusinessSolutions.eCRM.DataSync:
SyncManager.SynchronizationScheduled: Entry
[V] [11:30:06.3253365]Microsoft.BusinessSolutions.eCRM.DataSync:
SyncManager.SynchronizationScheduled: Entry
[V] [11:30:06.3253365]Microsoft.BusinessSolutions.eCRM.DataSync:
SyncManager.SynchronizationScheduled: Entry
[V] [11:30:06.3253365]Microsoft.BusinessSolutions.eCRM.DataSync:
SyncManager.SynchronizationScheduled: Entry

It is the same 'UPDATE permission denied' error everyone has getting
occasionally, but with some more details. So I had a look at the SQL server
that holds our DB. Our authenticate permissions to make changes to the BCMDB
are all fine (as it has a Domain Group that has authority to make changes and
everyone is on that group).
Also had a look at the SQL Server Profiler and took a snapshot of one of
these failed syncs. There is a lot of low level stuff happening so fiddling
with it wouldn't be wise. But something fundamental must have defiantly
messed itself up.

If there is any advice or solution available it would be much appreciated
because this problem is making our BCM2007 unrealistic to work with.

Thanks in advance
-Baytech


Sound like GRANT UPDATE ON OfficeLocation.ContactMainTable TO
db_SharedUsers might fix the problem.

Did you upgrade this database from an earlier version of BCM?
Did BCM create the database, or did you use the server Database Tool
to create it?
 
B

Baytech

Thanks for the advice, I will defiantly try it out.
Cant try it atm due to my users are connected etc etc. I also want to make a
up 2 date backup aswell.

-Did you upgrade this database from an earlier version of BCM?
Yes, we upgraded from 2003 along with office 2003 and made the jump to 2007

-Did BCM create the database, or did you use the server Database Tool
to create it?
We used migration scripts found online to bring accross all of our old bcm
data. Something probably did not work in the transition.

I will post back when I try out the command.

Thanks
-Baytech

Luther said:
Hi,

We have been having a problem with BCM2k7 for a while now where some of our
users would get pop ups whilst saving a new contact, saying stuff along the
lines of: "UPDATE permission denied on column 'OfficeLocation' of object
'ContactMainTable', database 'MSBusinessContactManager'" etc..
This would be a random occurance and would not show up every time. But when
it did it would not allow the user to add contacts into the shared database.
Now one of our users is unable to add users while off line. What happens is
when the user is off line and adds a contact or two into his bcm2007 he is
unable to rejoin our shared database as the re-sync gets canceled mid way. So
the only way he can rejoin is to drop his current offline database and rejoin
with a servers copy (this kinda beats the point of going offline if you cant
do anything with it).
So I turned on bcm logging and took a look and this is what I found:

[11:30:06.2473360]BusinessLayer: DoSavePropertyBag
[E] [11:30:06.2785362]BusinessLayer: UPDATE permission denied on column
'OfficeLocation' of object 'ContactMainTable', database
'MSBusinessContactManager', schema 'dbo'.
[E] [11:30:06.2785362]BusinessLayer: at
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean
breakConnection)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException
exception, Boolean breakConnection)
at
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObje­ct
stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior,
SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet
bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
at System.Data.SqlClient.SqlDataReader.get_MetaData()
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds,
RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior
cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior
cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method,
DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior
cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior
behavior, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader()
at
Microsoft.BusinessSolutions.eCRM.BusinessLayer.BcmReadingTransaction.BcmTex­tCommandImpl.ExecuteReader()
at
Microsoft.BusinessSolutions.eCRM.BusinessLayer.BusinessEntity.DoSavePropert­yBag(BcmWritingTransaction transaction)
at Microsoft.BusinessSolutions.eCRM.BusinessLayer.BusinessEntity._Save()
[E] [11:30:06.2785362]BCMRes: Text:
[E] [11:30:06.2785362]BCMRes: Message:UPDATE permission denied on column
'OfficeLocation' of object 'ContactMainTable', database
'MSBusinessContactManager', schema 'dbo'.
[V] [11:30:06.2785362]Iris.Mapi.MessageStore: MAPIProp::SaveChanges:Return:
0x1f5555e0, 0x80040a00
[V] [11:30:06.2785362]Iris.Mapi.MessageStore: IMAPIProp::GetLastError:Enter:
0x1f5555e0
[V] [11:30:06.2785362]Iris.Mapi.MessageStore: MAPIProp::GetLastError:Return:
0x1f5555e0, 0x00000000
[E] [11:30:06.2785362]Microsoft.Iris.ImportExportDataAccess: Exception
saving new account: UPDATE permission denied on column 'OfficeLocation' of
object 'ContactMainTable', database 'MSBusinessContactManager', schema 'dbo'.
[E] [11:30:06.2785362]Microsoft.Iris.ImportExportDataAccess: Text:Unable to
save the Account object, UPDATE permission denied on column 'OfficeLocation'
of object 'ContactMainTable', database 'MSBusinessContactManager', schema
'dbo'..
[E] [11:30:06.2785362]Microsoft.Iris.ImportExportDataAccess: Message:UPDATE
permission denied on column 'OfficeLocation' of object 'ContactMainTable',
database 'MSBusinessContactManager', schema 'dbo'.
[E] [11:30:06.2785362]Microsoft.Iris.ImportExport: Unable to save the
Account object, UPDATE permission denied on column 'OfficeLocation' of object
'ContactMainTable', database 'MSBusinessContactManager', schema 'dbo'..
[E] [11:30:06.2785362]Microsoft.Iris.ImportExport: ImportFatalException
during syncing, Unable to save the Account object, UPDATE permission denied
on column 'OfficeLocation' of object 'ContactMainTable', database
'MSBusinessContactManager', schema 'dbo'..
[E] [11:30:06.2785362]BCMRes: Text:
[V] [11:30:06.2785362]Microsoft.BusinessSolutions.eCRM.DataSync:
SyncManager.Synchronize: Exit
[V] [11:30:06.2785362]Microsoft.BusinessSolutions.eCRM.DataSync:
DataSyncException in GoOnline, message is BCM Error #7009 :,stackTrace is
at
Microsoft.BusinessSolutions.eCRM.ImportExportBase.OutlookChangeListConsumer­.Microsoft.BusinessSolutions.eCRM.DataSync.IChangeListConsumer.ApplyChanges­(ChangeList changes, EventsManager eventsMgr)
at
Microsoft.BusinessSolutions.eCRM.DataSync.SyncManager.Synchronize(SyncPoint
sp, IContext producerContext, IContext consumerContext, SyncLog syncLog)
at
Microsoft.BusinessSolutions.eCRM.DataSync.SyncManager.Synchronize(String
outlookProfileName, String syncPointName, IContext producerContext, IContext
consumerContext)
at
Microsoft.BusinessSolutions.eCRM.DataSync.OfflineManager.GoOnline(IContext
context)
[V] [11:30:06.2785362]Microsoft.BusinessSolutions.eCRM.DataSync:
OfflineManager.DoCancelUpdateDuringGoOnline: Entry
[V] [11:30:06.3253365]Microsoft.BusinessSolutions.eCRM.DataSync:
SyncManager.SynchronizationScheduled: Entry
[V] [11:30:06.3253365]Microsoft.BusinessSolutions.eCRM.DataSync:
SyncManager.SynchronizationScheduled: Entry
[V] [11:30:06.3253365]Microsoft.BusinessSolutions.eCRM.DataSync:
SyncManager.SynchronizationScheduled: Entry
[V] [11:30:06.3253365]Microsoft.BusinessSolutions.eCRM.DataSync:
SyncManager.SynchronizationScheduled: Entry

It is the same 'UPDATE permission denied' error everyone has getting
occasionally, but with some more details. So I had a look at the SQL server
that holds our DB. Our authenticate permissions to make changes to the BCM DB
are all fine (as it has a Domain Group that has authority to make changes and
everyone is on that group).
Also had a look at the SQL Server Profiler and took a snapshot of one of
these failed syncs. There is a lot of low level stuff happening so fiddling
with it wouldn't be wise. But something fundamental must have defiantly
messed itself up.

If there is any advice or solution available it would be much appreciated
because this problem is making our BCM2007 unrealistic to work with.

Thanks in advance
-Baytech


Sound like GRANT UPDATE ON OfficeLocation.ContactMainTable TO
db_SharedUsers might fix the problem.

Did you upgrade this database from an earlier version of BCM?
Did BCM create the database, or did you use the server Database Tool
to create it?
 
L

Luther

Thanks for the advice, I will defiantly try it out.
Cant try it atm due to my users are connected etc etc. I also want to makea
up 2 date backup aswell.

-Did you upgrade this database from an earlier version of BCM?
Yes, we upgraded from 2003 along with office 2003 and made the jump to 2007

-Did BCM create the database, or did you use the server Database Tool
to create it?
We used migration scripts found online to bring accross all of our old bcm
data. Something probably did not work in the transition.

I will post back when I try out the command.

Thanks
-Baytech



Luther said:
Hi,
We have been having a problem with BCM2k7 for a while now where some of our
users would get pop ups whilst saving a new contact, saying stuff along the
lines of: "UPDATE permission denied on column 'OfficeLocation' of object
'ContactMainTable', database 'MSBusinessContactManager'" etc..
This would be a random occurance and would not show up every time. Butwhen
it did it would not allow the user to add contacts into the shared database.
Now one of our users is unable to add users while off line. What happens is
when the user is off line and adds a contact or two into his bcm2007 he is
unable to rejoin our shared database as the re-sync gets canceled mid way. So
the only way he can rejoin is to drop his current offline database andrejoin
with a servers copy (this kinda beats the point of going offline if you cant
do anything with it).
So I turned on bcm logging and took a look and this is what I found:
[11:30:06.2473360]BusinessLayer: DoSavePropertyBag
[E] [11:30:06.2785362]BusinessLayer: UPDATE permission denied on column
'OfficeLocation' of object 'ContactMainTable', database
'MSBusinessContactManager', schema 'dbo'.
[E] [11:30:06.2785362]BusinessLayer:    at
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean
breakConnection)
   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException
exception, Boolean breakConnection)
   at
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObje­­ct
stateObj)
   at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior,
SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet
bulkCopyHandler, TdsParserStateObject stateObj)
   at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
   at System.Data.SqlClient.SqlDataReader.get_MetaData()
   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds,
RunBehavior runBehavior, String resetOptionsString)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior
cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior
cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method,
DbAsyncResult result)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior
cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
   at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior
behavior, String method)
   at System.Data.SqlClient.SqlCommand.ExecuteReader()
   at
Microsoft.BusinessSolutions.eCRM.BusinessLayer.BcmReadingTransaction.BcmTex­­tCommandImpl.ExecuteReader()
   at
Microsoft.BusinessSolutions.eCRM.BusinessLayer.BusinessEntity.DoSavePropert­­yBag(BcmWritingTransaction transaction)
   at Microsoft.BusinessSolutions.eCRM.BusinessLayer.BusinessEntity._Save()
[E] [11:30:06.2785362]BCMRes: Text:
[E] [11:30:06.2785362]BCMRes: Message:UPDATE permission denied on column
'OfficeLocation' of object 'ContactMainTable', database
'MSBusinessContactManager', schema 'dbo'.
[V] [11:30:06.2785362]Iris.Mapi.MessageStore: MAPIProp::SaveChanges:Return:
0x1f5555e0, 0x80040a00
[V] [11:30:06.2785362]Iris.Mapi.MessageStore: IMAPIProp::GetLastError:Enter:
0x1f5555e0
[V] [11:30:06.2785362]Iris.Mapi.MessageStore: MAPIProp::GetLastError:Return:
0x1f5555e0, 0x00000000
[E] [11:30:06.2785362]Microsoft.Iris.ImportExportDataAccess: Exception
saving new account: UPDATE permission denied on column 'OfficeLocation' of
object 'ContactMainTable', database 'MSBusinessContactManager', schema'dbo'.
[E] [11:30:06.2785362]Microsoft.Iris.ImportExportDataAccess: Text:Unable to
save the Account object, UPDATE permission denied on column 'OfficeLocation'
of object 'ContactMainTable', database 'MSBusinessContactManager', schema
'dbo'..
[E] [11:30:06.2785362]Microsoft.Iris.ImportExportDataAccess: Message:UPDATE
permission denied on column 'OfficeLocation' of object 'ContactMainTable',
database 'MSBusinessContactManager', schema 'dbo'.
[E] [11:30:06.2785362]Microsoft.Iris.ImportExport: Unable to save the
Account object, UPDATE permission denied on column 'OfficeLocation' ofobject
'ContactMainTable', database 'MSBusinessContactManager', schema 'dbo'...
[E] [11:30:06.2785362]Microsoft.Iris.ImportExport: ImportFatalException
during syncing, Unable to save the Account object, UPDATE permission denied
on column 'OfficeLocation' of object 'ContactMainTable', database
'MSBusinessContactManager', schema 'dbo'..
[E] [11:30:06.2785362]BCMRes: Text:
[V] [11:30:06.2785362]Microsoft.BusinessSolutions.eCRM.DataSync:
SyncManager.Synchronize: Exit
[V] [11:30:06.2785362]Microsoft.BusinessSolutions.eCRM.DataSync:
DataSyncException in GoOnline, message is BCM Error #7009 :,stackTraceis    
at
Microsoft.BusinessSolutions.eCRM.ImportExportBase.OutlookChangeListConsumer­­.Microsoft.BusinessSolutions.eCRM.DataSync.IChangeListConsumer.ApplyChange­s­(ChangeList changes, EventsManager eventsMgr)
   at
Microsoft.BusinessSolutions.eCRM.DataSync.SyncManager.Synchronize(SyncPoint
sp, IContext producerContext, IContext consumerContext, SyncLog syncLog)
   at
Microsoft.BusinessSolutions.eCRM.DataSync.SyncManager.Synchronize(String
outlookProfileName, String syncPointName, IContext producerContext, IContext
consumerContext)
   at
Microsoft.BusinessSolutions.eCRM.DataSync.OfflineManager.GoOnline(IContext
context)
[V] [11:30:06.2785362]Microsoft.BusinessSolutions.eCRM.DataSync:
OfflineManager.DoCancelUpdateDuringGoOnline: Entry
[V] [11:30:06.3253365]Microsoft.BusinessSolutions.eCRM.DataSync:
SyncManager.SynchronizationScheduled: Entry
[V] [11:30:06.3253365]Microsoft.BusinessSolutions.eCRM.DataSync:
SyncManager.SynchronizationScheduled: Entry
[V] [11:30:06.3253365]Microsoft.BusinessSolutions.eCRM.DataSync:
SyncManager.SynchronizationScheduled: Entry
[V] [11:30:06.3253365]Microsoft.BusinessSolutions.eCRM.DataSync:
SyncManager.SynchronizationScheduled: Entry
It is the same 'UPDATE permission denied' error everyone has getting
occasionally, but with some more details. So I had a look at the SQL server
that holds our DB. Our authenticate permissions to make changes to theBCM DB
are all fine (as it has a Domain Group that has authority to make changes and
everyone is on that group).
Also had a look at the SQL Server Profiler and took a snapshot of one of
these failed syncs. There is a lot of low level stuff happening so fiddling
with it wouldn't be wise. But something fundamental must have defiantly
messed itself up.
If there is any advice or solution available it would be much appreciated
because this problem is making our BCM2007 unrealistic to work with.
Thanks in advance
-Baytech

Sound like GRANT UPDATE ON OfficeLocation.ContactMainTable TO
db_SharedUsers might fix the problem.
Did you upgrade this database from an earlier version of BCM?
Did BCM create the database, or did you use the server Database Tool
to create it?- Hide quoted text -

- Show quoted text -


I haven't come across this permission problem with OfficeLocation
before. It's likely that something in the migration from the 2003
database went wrong.
 
B

Baytech

Turns out that the database is corrupt in a way. Something went wrong with
upgrading it from 2003 to 2007.
Solution: Ive made a mock backup and fresh install of our BCM 2007
enviroment and it works perfectly (offline as well). All I need to do now is
get an up-to-date copy up and get everyone to point their clients to that
instead.

Thanks for helping Luther
-Baytech

Luther said:
Thanks for the advice, I will defiantly try it out.
Cant try it atm due to my users are connected etc etc. I also want to make a
up 2 date backup aswell.

-Did you upgrade this database from an earlier version of BCM?
Yes, we upgraded from 2003 along with office 2003 and made the jump to 2007

-Did BCM create the database, or did you use the server Database Tool
to create it?
We used migration scripts found online to bring accross all of our old bcm
data. Something probably did not work in the transition.

I will post back when I try out the command.

Thanks
-Baytech



Luther said:
On May 25, 10:10 pm, Baytech <[email protected]>
wrote:
Hi,
We have been having a problem with BCM2k7 for a while now where some of our
users would get pop ups whilst saving a new contact, saying stuff along the
lines of: "UPDATE permission denied on column 'OfficeLocation' of object
'ContactMainTable', database 'MSBusinessContactManager'" etc..
This would be a random occurance and would not show up every time. But when
it did it would not allow the user to add contacts into the shared database.
Now one of our users is unable to add users while off line. What happens is
when the user is off line and adds a contact or two into his bcm2007 he is
unable to rejoin our shared database as the re-sync gets canceled mid way. So
the only way he can rejoin is to drop his current offline database and rejoin
with a servers copy (this kinda beats the point of going offline if you cant
do anything with it).
So I turned on bcm logging and took a look and this is what I found:
[11:30:06.2473360]BusinessLayer: DoSavePropertyBag
[E] [11:30:06.2785362]BusinessLayer: UPDATE permission denied on column
'OfficeLocation' of object 'ContactMainTable', database
'MSBusinessContactManager', schema 'dbo'.
[E] [11:30:06.2785362]BusinessLayer: at
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean
breakConnection)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException
exception, Boolean breakConnection)
at
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObje­­ct
stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior,
SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet
bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
at System.Data.SqlClient.SqlDataReader.get_MetaData()
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds,
RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior
cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior
cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method,
DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior
cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior
behavior, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader()
at
Microsoft.BusinessSolutions.eCRM.BusinessLayer.BcmReadingTransaction.BcmTex­­tCommandImpl.ExecuteReader()
at
Microsoft.BusinessSolutions.eCRM.BusinessLayer.BusinessEntity.DoSavePropert­­yBag(BcmWritingTransaction transaction)
at Microsoft.BusinessSolutions.eCRM.BusinessLayer.BusinessEntity._Save()
[E] [11:30:06.2785362]BCMRes: Text:
[E] [11:30:06.2785362]BCMRes: Message:UPDATE permission denied on column
'OfficeLocation' of object 'ContactMainTable', database
'MSBusinessContactManager', schema 'dbo'.
[V] [11:30:06.2785362]Iris.Mapi.MessageStore: MAPIProp::SaveChanges:Return:
0x1f5555e0, 0x80040a00
[V] [11:30:06.2785362]Iris.Mapi.MessageStore: IMAPIProp::GetLastError:Enter:
0x1f5555e0
[V] [11:30:06.2785362]Iris.Mapi.MessageStore: MAPIProp::GetLastError:Return:
0x1f5555e0, 0x00000000
[E] [11:30:06.2785362]Microsoft.Iris.ImportExportDataAccess: Exception
saving new account: UPDATE permission denied on column 'OfficeLocation' of
object 'ContactMainTable', database 'MSBusinessContactManager', schema 'dbo'.
[E] [11:30:06.2785362]Microsoft.Iris.ImportExportDataAccess: Text:Unable to
save the Account object, UPDATE permission denied on column 'OfficeLocation'
of object 'ContactMainTable', database 'MSBusinessContactManager', schema
'dbo'..
[E] [11:30:06.2785362]Microsoft.Iris.ImportExportDataAccess: Message:UPDATE
permission denied on column 'OfficeLocation' of object 'ContactMainTable',
database 'MSBusinessContactManager', schema 'dbo'.
[E] [11:30:06.2785362]Microsoft.Iris.ImportExport: Unable to save the
Account object, UPDATE permission denied on column 'OfficeLocation' of object
'ContactMainTable', database 'MSBusinessContactManager', schema 'dbo'...
[E] [11:30:06.2785362]Microsoft.Iris.ImportExport: ImportFatalException
during syncing, Unable to save the Account object, UPDATE permission denied
on column 'OfficeLocation' of object 'ContactMainTable', database
'MSBusinessContactManager', schema 'dbo'..
[E] [11:30:06.2785362]BCMRes: Text:
[V] [11:30:06.2785362]Microsoft.BusinessSolutions.eCRM.DataSync:
SyncManager.Synchronize: Exit
[V] [11:30:06.2785362]Microsoft.BusinessSolutions.eCRM.DataSync:
DataSyncException in GoOnline, message is BCM Error #7009 :,stackTrace is
at
Microsoft.BusinessSolutions.eCRM.ImportExportBase.OutlookChangeListConsumer­­.Microsoft.BusinessSolutions.eCRM.DataSync.IChangeListConsumer.ApplyChange­s­(ChangeList changes, EventsManager eventsMgr)
at
Microsoft.BusinessSolutions.eCRM.DataSync.SyncManager.Synchronize(SyncPoint
sp, IContext producerContext, IContext consumerContext, SyncLog syncLog)
at
Microsoft.BusinessSolutions.eCRM.DataSync.SyncManager.Synchronize(String
outlookProfileName, String syncPointName, IContext producerContext, IContext
consumerContext)
at
Microsoft.BusinessSolutions.eCRM.DataSync.OfflineManager.GoOnline(IContext
context)
[V] [11:30:06.2785362]Microsoft.BusinessSolutions.eCRM.DataSync:
OfflineManager.DoCancelUpdateDuringGoOnline: Entry
[V] [11:30:06.3253365]Microsoft.BusinessSolutions.eCRM.DataSync:
SyncManager.SynchronizationScheduled: Entry
[V] [11:30:06.3253365]Microsoft.BusinessSolutions.eCRM.DataSync:
SyncManager.SynchronizationScheduled: Entry
[V] [11:30:06.3253365]Microsoft.BusinessSolutions.eCRM.DataSync:
SyncManager.SynchronizationScheduled: Entry
[V] [11:30:06.3253365]Microsoft.BusinessSolutions.eCRM.DataSync:
SyncManager.SynchronizationScheduled: Entry

It is the same 'UPDATE permission denied' error everyone has getting
occasionally, but with some more details. So I had a look at the SQL server
that holds our DB. Our authenticate permissions to make changes to the BCM DB
are all fine (as it has a Domain Group that has authority to make changes and
everyone is on that group).
Also had a look at the SQL Server Profiler and took a snapshot of one of
these failed syncs. There is a lot of low level stuff happening so fiddling
with it wouldn't be wise. But something fundamental must have defiantly
messed itself up.
If there is any advice or solution available it would be much appreciated
because this problem is making our BCM2007 unrealistic to work with.
Thanks in advance
-Baytech
Sound like GRANT UPDATE ON OfficeLocation.ContactMainTable TO
db_SharedUsers might fix the problem.
Did you upgrade this database from an earlier version of BCM?
Did BCM create the database, or did you use the server Database Tool
to create it?- Hide quoted text -

- Show quoted text -


I haven't come across this permission problem with OfficeLocation
before. It's likely that something in the migration from the 2003
database went wrong.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top