Environment
NetIQ AppManager 6.x
NetIQ AppManager 7.0.x
Situation
Resolution
To resolve this issue you should perform the following operations:
WARNING: The following instructions include steps which require making manual changes to your repository database. Please be sure to make a backup of your repository database before making any manual changes.
- Verify the permissions on the blob table
- Open SQL Management Studio and connect to the SQL server containing the AppManager Repository database
- Expand Databases then expand your Repository database. (Note: Default name is QDB)
- Expand Tables then look for the dbo.blob table.
- Right click on the dbo.blob table and choose Properties
- In the Table Properties - blob window, click on Permissions
- Under Users or Roles, look for the Public role and select it.
- If the Public role is missing, continue with step 2 below
- If the Public role is not missing, select it
- Under Explicit Permissions for public look at the Select permission and confirm that there is a check in the box under the Grant column. If there is no check continue to step 2 below. If there is a check in the box under the Grant column then you may have another issue not addressed by this article. Please contact NetIQ Technical Support for assistance and reference this Knowledge Base article.
- Correcting the permissions problem
- If the Public role was missing from the Users or Roles section of the Table Properties - blob window perform the following:
- Click the Add button
- Type public in the Enter the object names to select box and click the Check Names button
- public should change to [public]
- Click Ok
- Select the Public role in the Users or Roles section
- Under Explicit permissions for public find the row with permission Select and check the box in the Grant column
- Click OK to save changes
- If the Public role was not missing from the Users or Roles section of the Table Properties - blob window but the Grant option for Select was not selected perform the following:
- Under Explicit permissions for public find the row with permission Select and check the box in the Grant column
- Click OK to save changes
- If the Public role was missing from the Users or Roles section of the Table Properties - blob window perform the following:
Once you have made these changes the permission problem will be resolved. Some manual clean up still needs to happen to the blob table to ensure everything is working properly. The following query will remove all duplicates from the table leaving on the most recent entry for each user.
Note: You may want to run the BackupBlob procedure to make a new backup of the table prior to running the query below. Please note that if you do it will overwrite your previous backup.
WARNING: The following instructions include steps which require making manual changes to your repository database. Please be sure to make a backup of your repository database before making any manual changes.
DECLARE @tempcomment varchar(255)
DECLARE @tempblobid intCREATE TABLE #t
(
comment varchar(255)
)INSERT #t (comment) SELECT DISTINCT comment FROM blob WHERE comment is not NULL
DECLARE tempblob_cursor CURSOR FOR
SELECT comment FROM #t
OPEN tempblob_cursorFETCH NEXT FROM tempblob_cursor INTO @tempcomment
WHILE (@@FETCH_STATUS = 0)
BEGIN
SELECT @tempblobid = MAX(blobid) FROM blob WHERE comment = @tempcomment
DELETE FROM blob WHERE comment = @tempcomment AND blobid <> @tempblobid
FETCH NEXT FROM tempblob_cursor INTO @tempcomment
END
DEALLOCATE tempblob_cursor
DROP TABLE #t
If you continue to have issues after performing the steps above, please contact NetIQ Technical Support for more assistance and reference this Knowledge Base article.