Getting "The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION"
search cancel

Getting "The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION"

book

Article ID: 210941

calendar_today

Updated On:

Products

Ghost Solution Suite

Issue/Introduction

While trying to create or rename a Job and or Task, this error "The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION"  

In another instance of this same issue, agent upgrade jobs automatically created by GSS had no tasks (blank) after an upgrade and Windows Event Viewer logs were full of the same error. Also, machines wouldn't check in because their agents wouldn't upgrade.

started happening after:

1. Scenario one: attaching the GSS database from another SQL server but using a different account than the original one:

Restored a copy of his existing database to a newly installed GSS 3.3 RU6 server.

The account used for their ghost database on the original SQL server was ".\ghost3svc"

On the new SQL server,  the account is "domain\svcGhost"

2. Scenario 2: upgrading using a different SQL account: (for example, they used SA originally and they were using nt authentication during the upgrade).

SA account was originally used to connect to the database and during the upgrade they were using NT Authentication. 

3. New install of Ghost Solution Suite 3.3 RU 11 on Windows 2022 Server.  Using SQL Express 2022 locally installed.

Environment

GSS 3.3 RUx

Cause

The customer's problem is an incorrect user configuration in the 'eXpress' database:

1. Have GSS 3.3 RU3 using SQL Instance 1 with configured Login (account1)
2. Backed up eXpress db and restored it to another SQL Instance 2 with configured Login (domain account2)
3. Run GSS 3.3 RU6 installation to new clean machine using SQL Instance 2 and domain account2.

Resolution

Try to perform the following steps to resolve issue:

1. Login new SQL instance as admin
2. Run the following query(instead of 'sa' you may put another login that is sysadmin for current SQL instance)
use [eXpress]
go
exec sp_changedbowner 'sa'
go

3. Under SQL instance Open Security > Logins
4. Select login account customer would like to use. In example, "domain\svcGhost". If it does not exist, please create it (it may be Windows local user or domain account or sql login)
5. in "Properties" of selected Login, Ensure that [eXpress] DB is selected under User Mappings and it has [public] + [db_owner] and apply changes


6. Under eXpress DB, Open Security > Users
7. Ensure user is created, under General properties has Login Name selected in Step4, under Membership properties has db_owner.  This may not always be listed under the eXpress DB > Security > Users.  If it's not there, that is OK.  As long as it's listed under the previous section.

In situation, SQL Express 2022 was installed locally with the Ghost Solution Suite server.  SQL Server Express was installed correctly using a domain user account that is a local administrator on the server.  To resolve this issue, SQL Express was removed and reinstalled, choosing Mixed Mode during the installation.  This allows for the SA account to be used.  SQL Express was still installed using the domain user account, and the error described in this article occurred. 

To resolve, the following command was executed:

use [eXpress]
go
exec sp_changedbowner 'sa'
go

This will change the owner of the eXpress database from the domain user to the SA account.  This is the only change that was required.  

Comparing the SA account to the domain user, not apparent differences were present.  Therefore, it was determined something environmental had caused this issue.  Using SA as the database owner should be just fine.