Disponible con una licencia Standard o Advanced.
Como administrador de la geodatabase, puede que de vez en cuando necesite ver quien está conectado a la geodatabase y qué conexiones bloquean los recursos. También puede que necesite eliminar determinadas conexiones si las personas no están presentes para cerrar sesión por sí mismas. Por ejemplo, es posible que un editor haya dejado abierta una sesión de edición que esté bloqueando los datos en la sesión y evite que otros usuarios puedan acceder a ellos. Cuando el número de conexiones que se pueden realizar a una geodatabase sea limitado, es posible que necesite desconectar a alguien que no haya cerrado la sesión para liberar una conexión. También es posible que quiera que todos cierren la sesión para aplicar un parche a la base de datos, restaurar la base de datos o comprimir la geodatabase.
Puede conectarse a la geodatabase como el administrador de la geodatabase de ArcGIS Pro para ver las conexiones y, en caso necesario, eliminarlas. O bien puede usar funciones de ArcPy para completar el mismo flujo de trabajo.
Precaución:
Tenga cuidado cuando desconecte usuarios. Esri recomienda que evite desconectar las sesiones activas, especialmente si el usuario conectado está en el proceso de editar datos. Debe desconectar solamente las sesiones que se dejaron abiertas pero que no se están usando (por ejemplo, si alguien olvidó la sesión abierta el fin de semana), sesiones huérfanas que están bloqueando un objeto, o sesiones implicadas en una situación de bloqueo mutuo.
Para desconectar usuarios de una geodatabase corporativa en Microsoft SQL Server, es posible que el administrador de la geodatabase necesite privilegios adicionales.
- El administrador de la geodatabase en una geodatabase de esquema sde (sde) necesita privilegios VIEW DEFINITION en la base de datos para ver la lista de usuarios conectados y debe ser miembro del rol de servidor fijo processadmin para desconectar usuarios.
- Si el administrador de la geodatabase de una geodatabase de esquema dbo es el propietario de la base de datos, el administrador de la geodatabase debe agregarse al rol de servidor fijo processadmin para desconectar usuarios.
En primer lugar, determine quién está conectado a la geodatabase. Si es necesario, puede eliminar conexiones.
Identificar y eliminar conexiones en ArcGIS Pro
Puede conectarse a la geodatabase como el administrador de geodatabase en ArcGIS Pro para ver y eliminar conexiones desde el cuadro de diálogo Administración de geodatabase.
- Inicie ArcGIS Pro.
- Conéctese a la geodatabase como administrador de la misma.
- Haga clic con el botón derecho en la conexión de base de datos y, a continuación, haga clic en Propiedades.
- Haga clic en Conexiones y, a continuación, en Mostrar los usuarios conectados.
Se muestra una lista de todas las sesiones que están conectadas actualmente a la geodatabase. Su sesión se muestra con texto en cursiva.
- Póngase en contacto con los usuarios y pídales que cierren la sesión. Si no puede contactar con ellos y sigue necesitando desconectarlos de la geodatabase, realice el paso siguiente.
- Haga clic con el botón derecho en la sesión que quiera eliminar de la geodatabase y haga clic en Desconectar.
La sesión se elimina de inmediato de la geodatabase.
- Cierre el cuadro de diálogo Administración de geodatabase.
- Haga clic en Aceptar en el cuadro de diálogo Propiedades de base de datos.
Identificar y eliminar conexiones con Python
Puede ejecutar las funciones de Python para crear un archivo de conexión de base de datos para el administrador de la geodatabase, usar ese archivo de conexión para conectarse a la geodatabase y obtener una lista de todas las conexiones de geodatabase actuales, y eliminar una conexión de la geodatabase si fuera necesario.
- Cree un archivo de conexión de base de datos ejecutando la función CreateDatabaseConnection_management en una ventana de Python.
En este ejemplo se crea un archivo de conexión (ssgdb.sde) en la carpeta temporal. La conexión se establece con la base de datos gisprod en la instancia de SQL Server sdept4, iniciando sesión como sa.
import arcpy arcpy.CreateDatabaseConnection_management ("c:\\temp","ssgdb.sde","SQL_SERVER","sdept4","DATABASE_AUTH","sa","esayP@ss","SAVE_USERNAME","gisprod")
- Ejecute la función ListUsers para obtener una lista de todas las conexiones actuales a la geodatabase gisprod.
Proporcione el archivo de conexión que creó en el paso anterior.
##No need to import arcpy if you are running functions in the same Python window. import arcpy arcpy.ListUsers("c:\\temp\ssgdb.sde")
Aparece una lista con las conexiones de usuario.
[user(ClientName=u'PC4', ConnectionTime=datetime.datetime(2018, 10, 18, 8, 30, 19), ID=18, IsDirecConnection=True, Name=u'PUBLISHER1')] [user(ClientName=u'PC25', ConnectionTime=datetime.datetime(2018, 10, 21, 14, 10, 43), ID=33, IsDirecConnection=True, Name=u'EDITOR2')] [user(ClientName=u'PC11', ConnectionTime=datetime.datetime(2018, 10, 22, 9, 18, 26), ID=39, IsDirecConnection=True, Name=u'READER5')] [user(ClientName=u'PCA2', ConnectionTime=datetime.datetime(2018, 10, 22, 11, 21, 2), ID=41, IsDirecConnection=True, Name=u'DBO')]
- Póngase en contacto con los usuarios y pídales que cierren la sesión. Si no puede contactar con ellos y sigue necesitando desconectarlos de la geodatabase, realice el paso siguiente.
- Use la información obtenida con la función ListUsers para identificar la conexión que se eliminará con la función DisconnectUser.
Especifique el Id. de la conexión que se eliminará. Aquí se elimina la conexión con Id. 33:
##No need to import arcpy if you are running functions in the same Python window. import arcpy arcpy.DisconnectUser("c:\\temp\ssgdb.sde",33)
La sesión se elimina de inmediato de la geodatabase.