The cursor does not include the table being modified or the table is not updatable through the cursor
|Article:TECH13229|||||Created: 2006-03-29|||||Updated: 2008-04-30|||||Article URL http://www.symantec.com/docs/TECH13229|
When using Deployment solution 6.5 and Microsoft SQL 2005, an error occurs that will not allow the user to create jobs in the Deployment server console or will allow the ability to create imaging jobs and only imaging jobs in the Deployment server console. The cursor does not include the table being modified or the table is not updatable through the cursor.
Deployment Solution 6.5 all versions
Deployment Solution 6.8
Microsoft SQL 2005 all versions
A) Possible Environment: SQL server was moved from Test lab to production network, with server name changed.
Unknown. Installing Service Pack 1 for Microsoft SQL 2005 does not resolve this issue. This is still under investigation at this time.
a) Cause: SQL server keep old name in master tables and registry.
Check by running query in analyzer:
If name of SQL instance have different name that current name please see Resolution A.
While the cause of this issue is unknown, the fix to get this working again is straight forward.
- Detach all databases connected to the SQL 2005.
- Rename the MSSQL folder. Remove the SQL 2005 server completely from the server that the SQL is installed on. Delete all directories but the renamed MSSQL folder.
- Reinstall the Microsoft SQL 2005 as a standard install.
- Reattach all databases to the Microsoft SQL 2005.
- At this point, all jobs can now be created in the Deployment solution.
1. change Registry Key - HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\90\Machines\OriginalMachineName from TESTNAME to PRODNAME - select @@servername was than NULL
The error message appears because there is not an entry for the local server in the sysservers table in the master database.
To verify that there is no entry for the local server in the sysservers table in the master database, connect to the local server and run "select @@servername" from Query Analyzer. If a (NULL) is returned, then an entry for the local server does not exist in the sysservers table in the master database.
To correct the problem, use these steps: 1. Run this code:
select * from sysservers
2. Identify the name of the local server in the list. If the name exists, and the server id is anything other than 0, run the following statement and replace "yourservername" with the name of the local server:sp_dropserver 'yourservername','droplogins'
If a non-local server has a server id value of 0, then you need to drop that entry and run the sp_dropserver stored procedure.
3. Add the local server back to the list by running this code:sp_addserver 'localservername', 'local'
You must stop and then restart the SQL Server server for the changes to take effect. After the server has been restarted, run "select @@servername" to verify that the changes have been applied. Executing "select @@servername", should return the name of your local server with a server id of 0.
Article URL http://www.symantec.com/docs/TECH13229