2010-02-22 5 views
6

en espacio o en las instalaciones de Microsoft SQL Server, cuando la edición de esta consulta:SQL Azure y no regresaron hasta una fila de sys.dm_exec_sessions

SELECT * FROM sys.dm_exec_sessions

consigo un registro por la ventana en SSMS. Si abro varias ventanas de consulta en SSMS, obtengo un registro para cada una de ellas, incluso si no están haciendo nada. En Azure, cuando publico la misma consulta, solo obtengo un registro. Aquí está el truco: incluso obtengo un solo registro cuando tengo varias ventanas en SSMS que realizan trabajo activo en Azure.

Aquí hay una captura de pantalla:

SQL Azure http://s3temp.brentozar.com/azure1.png

En ese pantalla, tengo tres pestañas activas en SSMS. Dos de ellos están ejecutando sentencias de inserción gigantes que tardan varios segundos en ejecutarse, y el tercero está consultando sys.dm_exec_sessions, pero solo estoy recuperando un registro. Obten múltiples registros en sys.dm_tran_active_transactions y sys.dm_tran_database_transactions, pero esto cambia la forma en que informo sobre las consultas activas si no puedo volver a vincularlas a las sesiones individuales. ¿Es ese comportamiento esperado, o algo que MS está trabajando para solucionar en Azure vNext?

Respuesta

8

El comportamiento de Azure es lo mismo que SQL:

Permisos: Requiere el permiso VIEW SERVER STATE en el servidor.

Nota: Si el usuario tiene permiso VIEW SERVER STATE en el servidor, el usuario verá todas las sesiones ejecución en la instancia de SQL Server; de lo contrario, el usuario verá solo la sesión actual .

+0

Por desgracia, hay un problema aquí. Puede otorgarle a alguien VER ESTADO DE LA BASE DE DATOS, pero no puede otorgarles VIEW SERVER STATE en Azure. VIEW DATABASE STATE tampoco le muestra conexiones múltiples. Dang. –

+0

No tengo una cuenta de Azure (¿o no recuerdo?) Pero puede verificar que sys.dm_exec_sessions tenga la misma definición: 'CREATE VIEW sys.dm_exec_sessions AS SELECT * FROM OpenRowset (TABLE SYSSESSIONS)', no WHERE adicional agregado en Azure? –

+0

El equipo de Azure ha verificado que hay un error en sys.dm_exec_sessions. Solo muestra la sesión actual. Lo arreglarán en una futura actualización. –