I am receiving this error while clicking on the lock tab in Geodatabase Administration using ArcCatalog 10.5.1. Has anyone else experienced this?
To follow up further- a recent defect was logged for 10.5.1 regarding this behavior surrounding orphaned locks. I encourage anyone experiencing this to reference this defect if you contact Esri Support Services. It appears that this behavior is currently specific to 10.5.1 and is not reproducible at 10.6.
Thanks for the script @mpboyle . Yet, last line I had to manually input because when copying and pasting I must have carried a hidden character and it would run.
Randy, which ArcGIS Pro version are you running? There a some versions that are simply unworkable with (I think it was 2.4.1 or .2) and others work just fine. If it keeps crashing, it is worth trying an upgrade OR a downgrade (you will have to uninstall Pro first for doing the latter). Hang in there
Several of our SQL 2012 geodatabases are still at 10.4.1. ArcGIS Pro crashes when attempting to view locks when the NULL column value is encountered! Pro crashing is beyond disappointing for a new product! ESRI wants customers to migrate to Pro but in my experience it crashes just as much as ArcMap.
Me too. Just started getting it and we upgraded in May.
I am also getting this error in Desktop 10.6.1. The database is 10.6.1, MS SQL.
I hadn't thought of it before, but it would be nice to set up a trace to determine the query being made to fulfill the table. This would show why the error is being made. Well, it would lead us to some answers.
It appears that there are several different cases here that are throwing the error. In other words, the query can likely fails for several reasons.
I had this error pop up again this past Monday. The cause was unmatched rows. I had one row in state_locks and the other in Object_locks. There were no matching rows for either in process_information. [Thanks again Matthew Boyle for the query!] Once I got rid of the two rows, all was good.
Btw, I'm still against Esri ignoring the error [what is "the fix"?]. If there's an error, then there's some incongruity in the tables. I don't want the error covered up. In my case, the question becomes why are the two rows still there?
I solved the mystery. First off it does still exist in Arc10.6.1. I was able to figure out the issue looking at my 10.4 version of arcCat. here was the problem, there seemed to be a Locked table that did not have an owner name. Ill call it a GHOST. Because the vaule was null, the ERROR box appeared "column value is null"
I went into sde_table_locks and removed ALL the ghosts.
there error is not sensitive to the actual table you right click in arc catalog, but if ANY table lock which has a null owne rvalue. seems i had several. and once every null owner name record was removed, the error message went away.
ArcMap 10.7 has the fix
Rex Robichaux Experiencing this same issue using ArcCatalog 10.6.1 and a 10.5.0 Geodatabase on Microsoft SQL Server 2014 (SP2-GDR) (KB4057120) - 12.0.5214.6 (X64). For now, we'll investigate the query and solution provided by Matthew Boyle
I am having an issue with deadlocks at 10.4.1 on SQL Server 2016 and this is an awesome query.. Under Oracle I used to kill orphaned connections nightly and had no way to do this easily in SQL Server until I found this query. This will become part of my regular maintenance..Thank you so much for sharing!!
Rex, experiencing this issue with 10.6.1 SQL Server 2016. Is there an update on this bug?
Also getting it with 10.6.1, SQL Server 2016
Thanks for the query, it is awesome!
You can truncate the whole table or you can remove specific rows based on the sde id using this command DELETE FROM SDE_table_locks(Replace with your table name) WHERE sde_id = 2222
Hi Barbara,
Not a silly question, it gets a bit confusing when you have to hop between products... I used SQL Server Management studio (logged in as sysadmin) and right click>edit top 200 rows, held my breath, then highlighted and (right-click) deleted the rows that were shown.
Sorry for this silly question but how exactly do you "remove orphaned entries" in those tables? I identified them in SQL Server Manager but have troubles figuring out, how to display those entries.
Thank you! I upgraded to 10.5.1 last month and have had this issue ever since. Clearing the tables above got me back in business with seeing locks and compressing. It seems 10.5.1 is a bit more sensitive with the database, at least SQL. This saved me a support call; the most painful part was having to wait until after-hours to kick everyone off.
Good morning Ray,
Is stopping all the ArcGIS server windows services, gutting the SDE_state_lineages and geoprocessing history part of your state zero chore?
An SDE schema lock owned (caused) by an ArcServer service. But the lock doesn't show up in any of the locks tables.
Perhaps too much information follows. But maybe somebody will benefit...
By design (in our case, Esri's Roads and Highways extension), an edit by a service is meant to be very short lived (and the lock short lived). But instead of releasing the lock, on rare occasions the lock remains. Almost more like a physical lock is retained, but the lock rows are no longer in the locks tables.
The feature class in SDE becomes locked by this ghost lock (better term? If there's a more proper definition or insight to what this is, let me know.).
We saw this as early as 10.3.1 when refreshing data from our Editing tier to our Publishing tier. A feature class (or many) on the Publishing tier could not be altered (renamed, deleted, most any schema change). Yet there were no locks in the locks tables. We stopped and started most every piece of hardware. Stopping and starting individual services would not release the lock. Finally, the ArcServer Machine was stopped and started. Then voila, the lock would release.
Our editing services tend to reveal a little more insight. After one of these ghost locks occur, the other load balancing machines then (also) retain a lock (maybe they are getting in line behind the ghost lock?), these can be seen in the locks tables. We end up seeing repetitive locks, building up to match the number of load balancing machines. They will not be released until the ArcServer Machine causing the issue is stopped and started.
We have not seen any database Deadlocks during any of this.
I'm also throwing out a warning to everyone. If there are Nulls in the locks tables, there is an issue somewhere. Find the cause, especially if it can be repeated. We've pinpointed ours (above). While reconciling all versions, it will error on one that has a service lock. We will not Compress after, as that is what creates the NULLs in question (for us). Second warning: editing after the failure can introduce conflicts.
Ray:
Can you explain in more detail what you mean by an orphaned edit service?
We ran into this problem recently. Big thanks for the references to the specific lock. And that script!
More than handling the NULLs, what causes the NULLs? We've dug in and found the cause... at least in our case.
Our Compress was failing. Worse, these orphaned locks did not exist before, but did exist after. And it also orphaned some version information, so we began losing edits.
We've had 2 items to cause this. First, an orphaned editing service. It was leaving locks across many feature classes. Second, our developers that create the services would sometimes forget to uncheck the schema lock (checked by default) when creating a service.
Especially for the orphaned edit service... there are no lock references in the locks tables. When the Compress runs, it only partially completes. Not a partial Compress. It broke in the middle (FAILURE -51) due to a lock it did not foresee (to skip). Data was changed in some locks tables and failed when attempting in others, thereby creating the NULLs at hand.
So now my question: is the BUG fix going to simply not error and show NULLs? What is BUG-000110574 going to implement?
Your query worked great. I was able to determine the orphaned records and fix the problem. Thank you for sharing!
The status for BUG-000110574 has been updated to Implemented.
Reproducible at ArcMap 10.6.0, 10.6.1 and Pro 2.2.0
Fix implemented in 2.3
I came across this issue in both Desktop 10.5.1 and Pro 2.2.2 using Sql Server (2014 Standard).
I put together a query to try and locate the orphaned records rather than deleting all the rows within the '_lock' tables and SDE_process_information table.
In the example below, it seems there are 2 orphaned records within the SDE_table_locks table, resulting in NULL values for the Lock Owner, which is pulled from the SDE_process_information table.
Using this query, I assume all I have to do is remove the 2 affected rows within the SDE_table_locks table, rather than truncating all '_lock' tables and the SDE_process_information table, is that correct...? All other locks are finding their corresponding parent process.
Below is the sql statement I used, which takes into account all the '_lock' tables (what is shown above is a small sample returned). Perhaps this is useful to others when trying to locate specific records rather than deleting all records within these tables.
You can view all locks on the database by uncommenting line 168 (below).
<SPAN class="keyword token">where</SPAN> ProcessIDFound <SPAN class="operator token">=</SPAN> <SPAN class="string token">'N'</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN></SPAN>
FYI --- this query does not translate topology and geometric network tables names, they will be returned as stored in the database (ex: T_1_DirtyArea, T_1_PointErrors, etc...)
**Note: you may need to adjust schema names AND change line 1 to the name of your enterprise geodatabase (this was written for SQL Server)**
<SPAN class="keyword token">use</SPAN> YourDatabaseName<SPAN class="punctuation token">;</SPAN> <SPAN class="keyword token">with</SPAN> StateLocks <SPAN class="keyword token">as</SPAN> <SPAN class="punctuation token">(</SPAN> <SPAN class="keyword token">select</SPAN> <SPAN class="string token">'SDE_state_locks'</SPAN> <SPAN class="keyword token">as</SPAN> LockTable <SPAN class="punctuation token">,</SPAN><SPAN class="punctuation token">[</SPAN>l<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>sde_id<SPAN class="punctuation token">]</SPAN> <SPAN class="keyword token">AS</SPAN> ProcessID <SPAN class="punctuation token">,</SPAN><SPAN class="keyword token">case</SPAN> <SPAN class="keyword token">when</SPAN> <SPAN class="punctuation token">[</SPAN>p<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>sde_id<SPAN class="punctuation token">]</SPAN> <SPAN class="operator token">is</SPAN> <SPAN class="token boolean">null</SPAN> <SPAN class="keyword token">then</SPAN> <SPAN class="string token">'N'</SPAN> <SPAN class="keyword token">else</SPAN> <SPAN class="string token">'Y'</SPAN> <SPAN class="keyword token">end</SPAN> <SPAN class="keyword token">as</SPAN> ProcessIDFound <SPAN class="punctuation token">,</SPAN><SPAN class="punctuation token">[</SPAN>l<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>state_id<SPAN class="punctuation token">]</SPAN> <SPAN class="keyword token">as</SPAN> ForeignID <SPAN class="punctuation token">,</SPAN><SPAN class="keyword token">case</SPAN> <SPAN class="keyword token">when</SPAN> <SPAN class="punctuation token">[</SPAN>s<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>state_id<SPAN class="punctuation token">]</SPAN> <SPAN class="operator token">is</SPAN> <SPAN class="token boolean">null</SPAN> <SPAN class="keyword token">then</SPAN> <SPAN class="string token">'N'</SPAN> <SPAN class="keyword token">else</SPAN> <SPAN class="string token">'Y'</SPAN> <SPAN class="keyword token">end</SPAN> <SPAN class="keyword token">as</SPAN> ForeignIDFound <SPAN class="punctuation token">,</SPAN><SPAN class="string token">'SDE_states'</SPAN> <SPAN class="keyword token">as</SPAN> ForeignTable <SPAN class="punctuation token">,</SPAN>cast<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">[</SPAN>s<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>state_id<SPAN class="punctuation token">]</SPAN> <SPAN class="keyword token">as</SPAN> nvarchar<SPAN class="punctuation token">(</SPAN><SPAN class="number token">255</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="keyword token">AS</SPAN> ObjectName <SPAN class="punctuation token">,</SPAN><SPAN class="string token">'Version'</SPAN> <SPAN class="keyword token">as</SPAN> ObjectType <SPAN class="punctuation token">,</SPAN><SPAN class="string token">'state'</SPAN> <SPAN class="keyword token">as</SPAN> LockType <SPAN class="punctuation token">,</SPAN><SPAN class="punctuation token">[</SPAN>p<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>owner<SPAN class="punctuation token">]</SPAN> <SPAN class="keyword token">as</SPAN> LockOwner <SPAN class="punctuation token">,</SPAN><SPAN class="keyword token">case</SPAN> <SPAN class="punctuation token">[</SPAN>l<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>lock_type<SPAN class="punctuation token">]</SPAN> <SPAN class="keyword token">when</SPAN> <SPAN class="string token">'S'</SPAN> <SPAN class="keyword token">then</SPAN> <SPAN class="string token">'shared'</SPAN> <SPAN class="keyword token">when</SPAN> <SPAN class="string token">'E'</SPAN> <SPAN class="keyword token">then</SPAN> <SPAN class="string token">'exclusive'</SPAN> <SPAN class="keyword token">end</SPAN> <SPAN class="keyword token">as</SPAN> LockMode <SPAN class="punctuation token">,</SPAN><SPAN class="punctuation token">[</SPAN>l<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>lock_time<SPAN class="punctuation token">]</SPAN> <SPAN class="keyword token">as</SPAN> DateAcquired <SPAN class="punctuation token">,</SPAN>substring<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">[</SPAN>p<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>nodename<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">0</SPAN><SPAN class="punctuation token">,</SPAN> charindex<SPAN class="punctuation token">(</SPAN><SPAN class="string token">':'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="punctuation token">[</SPAN>p<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>nodename<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="keyword token">as</SPAN> MachineName <SPAN class="punctuation token">,</SPAN><SPAN class="keyword token">right</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">[</SPAN>p<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>nodename<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="token function">len</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">[</SPAN>p<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>nodename<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="operator token">-</SPAN> charindex<SPAN class="punctuation token">(</SPAN><SPAN class="string token">':'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="punctuation token">[</SPAN>p<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>nodename<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="keyword token">as</SPAN> GISVersion <SPAN class="keyword token">from</SPAN> <SPAN class="comment token">--state locks</SPAN> dbo<SPAN class="punctuation token">.</SPAN>SDE_state_locks <SPAN class="keyword token">as</SPAN> l <SPAN class="keyword token">left</SPAN> <SPAN class="keyword token">join</SPAN> <SPAN class="comment token">--process information</SPAN> dbo<SPAN class="punctuation token">.</SPAN>SDE_process_information <SPAN class="keyword token">as</SPAN> p <SPAN class="keyword token">on</SPAN> <SPAN class="punctuation token">[</SPAN>l<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>sde_id<SPAN class="punctuation token">]</SPAN> <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN>p<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>sde_id<SPAN class="punctuation token">]</SPAN> <SPAN class="keyword token">left</SPAN> <SPAN class="keyword token">join</SPAN> <SPAN class="comment token">--states</SPAN> dbo<SPAN class="punctuation token">.</SPAN>SDE_states <SPAN class="keyword token">as</SPAN> s <SPAN class="keyword token">on</SPAN> <SPAN class="punctuation token">[</SPAN>l<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>state_id<SPAN class="punctuation token">]</SPAN> <SPAN class="operator token">=</SPAN> s<SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>state_id<SPAN class="punctuation token">]</SPAN> <SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> TableLocks <SPAN class="keyword token">as</SPAN> <SPAN class="punctuation token">(</SPAN> <SPAN class="keyword token">select</SPAN> <SPAN class="string token">'SDE_table_locks'</SPAN> <SPAN class="keyword token">as</SPAN> LockTable <SPAN class="punctuation token">,</SPAN><SPAN class="punctuation token">[</SPAN>l<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>sde_id<SPAN class="punctuation token">]</SPAN> <SPAN class="keyword token">as</SPAN> ProcessID <SPAN class="punctuation token">,</SPAN><SPAN class="keyword token">case</SPAN> <SPAN class="keyword token">when</SPAN> <SPAN class="punctuation token">[</SPAN>p<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>sde_id<SPAN class="punctuation token">]</SPAN> <SPAN class="operator token">is</SPAN> <SPAN class="token boolean">null</SPAN> <SPAN class="keyword token">then</SPAN> <SPAN class="string token">'N'</SPAN> <SPAN class="keyword token">else</SPAN> <SPAN class="string token">'Y'</SPAN> <SPAN class="keyword token">end</SPAN> <SPAN class="keyword token">as</SPAN> ProcessIDFound <SPAN class="punctuation token">,</SPAN><SPAN class="punctuation token">[</SPAN>l<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>registration_id<SPAN class="punctuation token">]</SPAN> <SPAN class="keyword token">as</SPAN> ForeignID <SPAN class="punctuation token">,</SPAN><SPAN class="keyword token">case</SPAN> <SPAN class="keyword token">when</SPAN> <SPAN class="punctuation token">[</SPAN>t<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>registration_id<SPAN class="punctuation token">]</SPAN> <SPAN class="operator token">is</SPAN> <SPAN class="token boolean">null</SPAN> <SPAN class="keyword token">then</SPAN> <SPAN class="string token">'N'</SPAN> <SPAN class="keyword token">else</SPAN> <SPAN class="string token">'Y'</SPAN> <SPAN class="keyword token">end</SPAN> <SPAN class="keyword token">as</SPAN> ForeignIDFound <SPAN class="punctuation token">,</SPAN><SPAN class="string token">'SDE_table_registry'</SPAN> <SPAN class="keyword token">as</SPAN> ForeignTable <SPAN class="punctuation token">,</SPAN><SPAN class="punctuation token">[</SPAN>t<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>table_name<SPAN class="punctuation token">]</SPAN> <SPAN class="keyword token">as</SPAN> ObjectName <SPAN class="punctuation token">,</SPAN><SPAN class="string token">'Dataset'</SPAN> <SPAN class="keyword token">as</SPAN> ObjectType <SPAN class="punctuation token">,</SPAN><SPAN class="string token">'schema'</SPAN> <SPAN class="keyword token">as</SPAN> LockType <SPAN class="punctuation token">,</SPAN><SPAN class="punctuation token">[</SPAN>p<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>owner<SPAN class="punctuation token">]</SPAN> <SPAN class="keyword token">AS</SPAN> LockOwner <SPAN class="punctuation token">,</SPAN><SPAN class="keyword token">case</SPAN> <SPAN class="punctuation token">[</SPAN>l<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>lock_type<SPAN class="punctuation token">]</SPAN> <SPAN class="keyword token">when</SPAN> <SPAN class="string token">'S'</SPAN> <SPAN class="keyword token">then</SPAN> <SPAN class="string token">'shared'</SPAN> <SPAN class="keyword token">when</SPAN> <SPAN class="string token">'E'</SPAN> <SPAN class="keyword token">then</SPAN> <SPAN class="string token">'exclusive'</SPAN> <SPAN class="keyword token">end</SPAN> <SPAN class="keyword token">as</SPAN> LockMode <SPAN class="punctuation token">,</SPAN><SPAN class="punctuation token">[</SPAN>l<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>lock_time<SPAN class="punctuation token">]</SPAN> <SPAN class="keyword token">as</SPAN> DateAcquired <SPAN class="punctuation token">,</SPAN>substring<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">[</SPAN>p<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>nodename<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">0</SPAN><SPAN class="punctuation token">,</SPAN> charindex<SPAN class="punctuation token">(</SPAN><SPAN class="string token">':'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="punctuation token">[</SPAN>p<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>nodename<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="keyword token">as</SPAN> MachineName <SPAN class="punctuation token">,</SPAN><SPAN class="keyword token">right</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">[</SPAN>p<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>nodename<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="token function">len</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">[</SPAN>p<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>nodename<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="operator token">-</SPAN> charindex<SPAN class="punctuation token">(</SPAN><SPAN class="string token">':'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="punctuation token">[</SPAN>p<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>nodename<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="keyword token">as</SPAN> GISVersion <SPAN class="keyword token">from</SPAN> <SPAN class="comment token">--table locks</SPAN> dbo<SPAN class="punctuation token">.</SPAN>SDE_table_locks <SPAN class="keyword token">as</SPAN> l <SPAN class="keyword token">left</SPAN> <SPAN class="keyword token">join</SPAN> <SPAN class="comment token">--process information</SPAN> dbo<SPAN class="punctuation token">.</SPAN>SDE_process_information <SPAN class="keyword token">as</SPAN> p <SPAN class="keyword token">on</SPAN> <SPAN class="punctuation token">[</SPAN>l<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>sde_id<SPAN class="punctuation token">]</SPAN> <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN>p<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>sde_id<SPAN class="punctuation token">]</SPAN> <SPAN class="keyword token">left</SPAN> <SPAN class="keyword token">join</SPAN> <SPAN class="comment token">--table registry</SPAN> dbo<SPAN class="punctuation token">.</SPAN>SDE_table_registry <SPAN class="keyword token">as</SPAN> t <SPAN class="keyword token">on</SPAN> <SPAN class="punctuation token">[</SPAN>l<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>registration_id<SPAN class="punctuation token">]</SPAN> <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN>t<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>registration_id<SPAN class="punctuation token">]</SPAN> <SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> ObjectLocks <SPAN class="keyword token">as</SPAN> <SPAN class="punctuation token">(</SPAN> <SPAN class="keyword token">select</SPAN> <SPAN class="string token">'SDE_object_locks'</SPAN> <SPAN class="keyword token">as</SPAN> LockTable <SPAN class="punctuation token">,</SPAN><SPAN class="punctuation token">[</SPAN>l<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>sde_id<SPAN class="punctuation token">]</SPAN> <SPAN class="keyword token">as</SPAN> ProcessID <SPAN class="punctuation token">,</SPAN><SPAN class="keyword token">case</SPAN> <SPAN class="keyword token">when</SPAN> <SPAN class="punctuation token">[</SPAN>p<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>sde_id<SPAN class="punctuation token">]</SPAN> <SPAN class="operator token">is</SPAN> <SPAN class="token boolean">null</SPAN> <SPAN class="keyword token">then</SPAN> <SPAN class="string token">'N'</SPAN> <SPAN class="keyword token">else</SPAN> <SPAN class="string token">'Y'</SPAN> <SPAN class="keyword token">end</SPAN> <SPAN class="keyword token">as</SPAN> ProcessIDFound <SPAN class="punctuation token">,</SPAN><SPAN class="punctuation token">[</SPAN>l<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>object_id<SPAN class="punctuation token">]</SPAN> <SPAN class="keyword token">as</SPAN> ForeignID <SPAN class="punctuation token">,</SPAN><SPAN class="keyword token">case</SPAN> <SPAN class="keyword token">when</SPAN> <SPAN class="punctuation token">[</SPAN>v<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>version_id<SPAN class="punctuation token">]</SPAN> <SPAN class="operator token">is</SPAN> <SPAN class="token boolean">null</SPAN> <SPAN class="keyword token">then</SPAN> <SPAN class="string token">'N'</SPAN> <SPAN class="keyword token">else</SPAN> <SPAN class="string token">'Y'</SPAN> <SPAN class="keyword token">end</SPAN> <SPAN class="keyword token">as</SPAN> ForeignIDFound <SPAN class="punctuation token">,</SPAN><SPAN class="string token">'SDE_versions'</SPAN> <SPAN class="keyword token">as</SPAN> ForeignTable <SPAN class="punctuation token">,</SPAN><SPAN class="punctuation token">[</SPAN>v<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>owner<SPAN class="punctuation token">]</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">'.'</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="punctuation token">[</SPAN>v<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>name<SPAN class="punctuation token">]</SPAN> <SPAN class="keyword token">as</SPAN> ObjectName <SPAN class="punctuation token">,</SPAN><SPAN class="string token">'Version'</SPAN> <SPAN class="keyword token">as</SPAN> ObjectType <SPAN class="punctuation token">,</SPAN><SPAN class="string token">'version'</SPAN> <SPAN class="keyword token">as</SPAN> LockType <SPAN class="punctuation token">,</SPAN><SPAN class="punctuation token">[</SPAN>p<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>owner<SPAN class="punctuation token">]</SPAN> <SPAN class="keyword token">as</SPAN> LockOwner <SPAN class="punctuation token">,</SPAN><SPAN class="keyword token">case</SPAN> <SPAN class="punctuation token">[</SPAN>l<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>lock_type<SPAN class="punctuation token">]</SPAN> <SPAN class="keyword token">when</SPAN> <SPAN class="string token">'S'</SPAN> <SPAN class="keyword token">then</SPAN> <SPAN class="string token">'shared'</SPAN> <SPAN class="keyword token">when</SPAN> <SPAN class="string token">'E'</SPAN> <SPAN class="keyword token">then</SPAN> <SPAN class="string token">'exclusive'</SPAN> <SPAN class="keyword token">end</SPAN> <SPAN class="keyword token">as</SPAN> LockMode <SPAN class="punctuation token">,</SPAN><SPAN class="punctuation token">[</SPAN>l<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>lock_time<SPAN class="punctuation token">]</SPAN> <SPAN class="keyword token">AS</SPAN> DateAcquired <SPAN class="punctuation token">,</SPAN>substring<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">[</SPAN>p<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>nodename<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">0</SPAN><SPAN class="punctuation token">,</SPAN> charindex<SPAN class="punctuation token">(</SPAN><SPAN class="string token">':'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="punctuation token">[</SPAN>p<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>nodename<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="keyword token">as</SPAN> MachineName <SPAN class="punctuation token">,</SPAN><SPAN class="keyword token">right</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">[</SPAN>p<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>nodename<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="token function">len</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">[</SPAN>p<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>nodename<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="operator token">-</SPAN> charindex<SPAN class="punctuation token">(</SPAN><SPAN class="string token">':'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="punctuation token">[</SPAN>p<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>nodename<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="keyword token">as</SPAN> GISVersion <SPAN class="keyword token">from</SPAN> <SPAN class="comment token">--object locks</SPAN> dbo<SPAN class="punctuation token">.</SPAN>SDE_object_locks <SPAN class="keyword token">as</SPAN> l <SPAN class="keyword token">left</SPAN> <SPAN class="keyword token">join</SPAN> <SPAN class="comment token">--process information</SPAN> dbo<SPAN class="punctuation token">.</SPAN>SDE_process_information <SPAN class="keyword token">as</SPAN> p <SPAN class="keyword token">on</SPAN> <SPAN class="punctuation token">[</SPAN>l<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>sde_id<SPAN class="punctuation token">]</SPAN> <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN>p<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>sde_id<SPAN class="punctuation token">]</SPAN> <SPAN class="keyword token">left</SPAN> <SPAN class="keyword token">join</SPAN> <SPAN class="comment token">--versions</SPAN> dbo<SPAN class="punctuation token">.</SPAN>SDE_versions <SPAN class="keyword token">as</SPAN> v <SPAN class="keyword token">on</SPAN> <SPAN class="punctuation token">[</SPAN>l<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>object_id<SPAN class="punctuation token">]</SPAN> <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN>v<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>version_id<SPAN class="punctuation token">]</SPAN> <SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> LayerLocks <SPAN class="keyword token">as</SPAN> <SPAN class="punctuation token">(</SPAN> <SPAN class="keyword token">select</SPAN> <SPAN class="string token">'SDE_layer_locks'</SPAN> <SPAN class="keyword token">as</SPAN> LockTable <SPAN class="punctuation token">,</SPAN><SPAN class="punctuation token">[</SPAN>l<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>sde_id<SPAN class="punctuation token">]</SPAN> <SPAN class="keyword token">as</SPAN> ProcessID <SPAN class="punctuation token">,</SPAN><SPAN class="keyword token">case</SPAN> <SPAN class="keyword token">when</SPAN> <SPAN class="punctuation token">[</SPAN>p<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>sde_id<SPAN class="punctuation token">]</SPAN> <SPAN class="operator token">is</SPAN> <SPAN class="token boolean">null</SPAN> <SPAN class="keyword token">then</SPAN> <SPAN class="string token">'N'</SPAN> <SPAN class="keyword token">else</SPAN> <SPAN class="string token">'Y'</SPAN> <SPAN class="keyword token">end</SPAN> <SPAN class="keyword token">as</SPAN> ProcessIDFound <SPAN class="punctuation token">,</SPAN><SPAN class="punctuation token">[</SPAN>l<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>layer_id<SPAN class="punctuation token">]</SPAN> <SPAN class="keyword token">as</SPAN> ForeignID <SPAN class="punctuation token">,</SPAN><SPAN class="keyword token">case</SPAN> <SPAN class="keyword token">when</SPAN> <SPAN class="punctuation token">[</SPAN>y<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>layer_id<SPAN class="punctuation token">]</SPAN> <SPAN class="operator token">is</SPAN> <SPAN class="token boolean">null</SPAN> <SPAN class="keyword token">then</SPAN> <SPAN class="string token">'N'</SPAN> <SPAN class="keyword token">else</SPAN> <SPAN class="string token">'Y'</SPAN> <SPAN class="keyword token">end</SPAN> <SPAN class="keyword token">as</SPAN> ForeignIDFound <SPAN class="punctuation token">,</SPAN><SPAN class="string token">'SDE_layers'</SPAN> <SPAN class="keyword token">as</SPAN> ForeignTable <SPAN class="punctuation token">,</SPAN><SPAN class="punctuation token">[</SPAN>y<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>database_name<SPAN class="punctuation token">]</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">'.'</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="punctuation token">[</SPAN>y<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>owner<SPAN class="punctuation token">]</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">'.'</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="punctuation token">[</SPAN>y<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>table_name<SPAN class="punctuation token">]</SPAN> <SPAN class="keyword token">as</SPAN> ObjectName <SPAN class="punctuation token">,</SPAN><SPAN class="string token">'Layer'</SPAN> <SPAN class="keyword token">as</SPAN> ObjectType <SPAN class="punctuation token">,</SPAN><SPAN class="string token">'layer'</SPAN> <SPAN class="keyword token">as</SPAN> LockType <SPAN class="punctuation token">,</SPAN><SPAN class="punctuation token">[</SPAN>p<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>owner<SPAN class="punctuation token">]</SPAN> <SPAN class="keyword token">as</SPAN> LockOwner <SPAN class="punctuation token">,</SPAN><SPAN class="keyword token">case</SPAN> <SPAN class="punctuation token">[</SPAN>l<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN>lock_type <SPAN class="keyword token">when</SPAN> <SPAN class="string token">'S'</SPAN> <SPAN class="keyword token">then</SPAN> <SPAN class="string token">'shared'</SPAN> <SPAN class="keyword token">when</SPAN> <SPAN class="string token">'E'</SPAN> <SPAN class="keyword token">then</SPAN> <SPAN class="string token">'exclusive'</SPAN> <SPAN class="keyword token">end</SPAN> <SPAN class="keyword token">as</SPAN> LockMode <SPAN class="punctuation token">,</SPAN><SPAN class="punctuation token">[</SPAN>l<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>lock_time<SPAN class="punctuation token">]</SPAN> <SPAN class="keyword token">as</SPAN> DateAcquired <SPAN class="punctuation token">,</SPAN>substring<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">[</SPAN>p<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>nodename<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">0</SPAN><SPAN class="punctuation token">,</SPAN> charindex<SPAN class="punctuation token">(</SPAN><SPAN class="string token">':'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="punctuation token">[</SPAN>p<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>nodename<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="keyword token">as</SPAN> MachineName <SPAN class="punctuation token">,</SPAN><SPAN class="keyword token">right</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">[</SPAN>p<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>nodename<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="token function">len</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">[</SPAN>p<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>nodename<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="operator token">-</SPAN> charindex<SPAN class="punctuation token">(</SPAN><SPAN class="string token">':'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="punctuation token">[</SPAN>p<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>nodename<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="keyword token">as</SPAN> GISVersion <SPAN class="keyword token">from</SPAN> <SPAN class="comment token">--layer locks</SPAN> dbo<SPAN class="punctuation token">.</SPAN>SDE_layer_locks <SPAN class="keyword token">as</SPAN> l <SPAN class="keyword token">left</SPAN> <SPAN class="keyword token">join</SPAN> <SPAN class="comment token">--process information</SPAN> dbo<SPAN class="punctuation token">.</SPAN>SDE_process_information <SPAN class="keyword token">as</SPAN> p <SPAN class="keyword token">on</SPAN> <SPAN class="punctuation token">[</SPAN>l<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>sde_id<SPAN class="punctuation token">]</SPAN> <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN>p<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>sde_id<SPAN class="punctuation token">]</SPAN> <SPAN class="keyword token">left</SPAN> <SPAN class="keyword token">join</SPAN> <SPAN class="comment token">--states</SPAN> dbo<SPAN class="punctuation token">.</SPAN>SDE_layers <SPAN class="keyword token">as</SPAN> y <SPAN class="keyword token">on</SPAN> <SPAN class="punctuation token">[</SPAN>l<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>layer_id<SPAN class="punctuation token">]</SPAN> <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN>y<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">[</SPAN>layer_id<SPAN class="punctuation token">]</SPAN> <SPAN class="punctuation token">)</SPAN> <SPAN class="comment token">--select orphaned locks</SPAN> <SPAN class="keyword token">select</SPAN> <SPAN class="operator token">*</SPAN> <SPAN class="keyword token">from</SPAN> <SPAN class="punctuation token">(</SPAN> <SPAN class="comment token">--state locks</SPAN> <SPAN class="keyword token">select</SPAN> <SPAN class="operator token">*</SPAN> <SPAN class="keyword token">from</SPAN> StateLocks <SPAN class="keyword token">union</SPAN> <SPAN class="keyword token">all</SPAN> <SPAN class="comment token">--table locks</SPAN> <SPAN class="keyword token">select</SPAN> <SPAN class="operator token">*</SPAN> <SPAN class="keyword token">from</SPAN> TableLocks <SPAN class="keyword token">union</SPAN> <SPAN class="keyword token">all</SPAN> <SPAN class="comment token">--object locks</SPAN> <SPAN class="keyword token">select</SPAN> <SPAN class="operator token">*</SPAN> <SPAN class="keyword token">from</SPAN> ObjectLocks <SPAN class="keyword token">union</SPAN> <SPAN class="keyword token">all</SPAN> <SPAN class="comment token">--layer locks</SPAN> <SPAN class="keyword token">select</SPAN> <SPAN class="operator token">*</SPAN> <SPAN class="keyword token">from</SPAN> LayerLocks <SPAN class="punctuation token">)</SPAN> <SPAN class="keyword token">as</SPAN> q1 <SPAN class="keyword token">where</SPAN> ProcessIDFound <SPAN class="operator token">=</SPAN> <SPAN class="string token">'N'</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>
For us, we run SQL Server 2016 Enterprise and SDE 10.6.1. This has never happened in our Oracle or Postgres databases.
Is this issue occurring with all enterprise db versions or just specific types of enterprise dbs (SQL Server)? My org utilizes Oracle so I am curious if I will encounter this bug.
I am also experience this with 10.6.1. If we delete all the records out the tables listed above, then it solves the issue. Would be great to know the cause of the problem so we can try to prevent it.
I am on 10.6.1 and still having this annoying problem... has it ever been resolved?
I tried compress from 10.3.1 and it fails too.
It grows the SQL Server transaction log until it fills the hard drive - which has now stoped the geodatabase working for users.
SQL Server 2014
Geodatabase v10.4.1
Windows Server 2008 R2
RRobichaux-esristaff
Thank you Bill and Alina for following up on this. I can provide you with an update- it appears the "not reproducible in 10.6" has been expunged from the defect and further testing is still ongoing. Therefore this looks to be (currently) an ongoing issue at 10.5.1 and 10.6 (and Pro 2.0+) that will hopefully be addressed soon. I'll ensure to update you when I have more information and/or there are developments with the BUG-000110574 defect. For anyone else experiencing this issue- if you have not already, I would suggest logging a case with Esri Support Services and reference the above defect as well as your system configuration. This will better assist Esri in gauging the number of users being affected by this behavior.
I hope this has been helpful and to have more information soon!
Hi Alina,
I have the same NULL error popup in ArcMap today.
And the same compress FAIL errors
And ArcGIS Pro v2.1.2 will show connections but just crashes when clicking the "Show connected users and locks..." button > Locks tab
Unable to get lock list
A database connection exception has occurred
Column value is NULL
OK
I am having the same error at 10.5.1. I am also getting an error message when trying to compress the database ("Failed to compress the database. Operation Failed [dbo.DEFAULT). I had 10.6 installed on another machine so I tried to access the locks or compress and I am getting the same exact error messages. I uninstalled 10.6 and went back to 10.3.1 and I am no longer getting either of those error message. It's been a very frustrating week. I upgraded from 10.3.1 to 10.6 and spent two days trying to figure out why I could no longer edit a versioned database. After calling tech support I was told there's a bug that affects 10.6 on Windows 7 so I downgraded to 10.5.1, went through the trouble of having to save all my .mxds to be compatible with an older version only to find out there's another bug at 10.5.1. I guess I'll be stuck at 10.3.1 until ESRI no longer supports it....
Strange, but It's not having the error today
Hello Bill- Thanks for bringing this behavior to light at 10.6. Thus far the BUG-000110574 hasn't been reproducible at 10.6 so this is interesting. Are you able to open a ticket with Esri Support Services so that evaluate this further at 10.6 and update that defect if necessary? Thanks!
That same error is back after updating ArcMap from 10.5.1 to 10.6
Yes, I had this exact issue a few months ago.
Rex is correct to clean out any orphan locks
Hello Michael,
What type DBMS is your geodatabase stored in? Also can you provide the version of geodatabase (Right click gdb admin connection < Properties)? Is this a sde or DBO (if SQL Server) owned geodatabase schema? Lastly- and just to verify- you are connected as the geodatabase administrative user when attempting to view current locks correct?
From my experience, this error can sometimes be indicative of orphaned records in the locks tables within the geodatabase. This typical workflow to diagnose and fix this issue would be to use (for a SQL Server DBMS):
If you need assistance or would like further clarification I'd recommend contacting Esri Technical Support to assist with this workflow and confirm that this is what is causing the issue. I hope this is helpful!
Přihlášení členové mohou přispívat, sledovat aktualizace a další. Jste tu noví? Zaregistrujte si bezplatný účet.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.