J'ai un rôle d'azur de Windows qui consiste en deux cas. Une fois dans un moment, une transaction échouera avec un transaction (ID de processus N) a été imputable à des ressources de verrouillage avec un autre processus et a été choisi comme victime de blocage. Revenir à la transaction. P>
blockQuote>
Maintenant, j'ai Googled pendant un moment et lisez Ce message sur l'identification des blocages à l'aide des journaux SQL Server. P>
Le problème est ... p>
Comment puis-je le faire dans SQL Azure? Quels outils dois-je utiliser pour accéder aux internes de SQL Azure et avoir suffisamment de données? P> SQLException code> avec le texte suivant P>
3 Réponses :
La surveillance de SQL Azure est plus limitée que SQL Server, mais les outils deviennent de plus en plus disponibles pour que vous puissiez regarder dessous: P>
Exécutez la requête suivante sur la base de données "Master" dans SQL AZURE DB,
SELECT * ,CAST(event_data AS XML).value('(/event/@timestamp)[1]', 'datetime2') AS TIMESTAMP , CAST(event_data AS XML).value('(/event/data[@name="error"]/value)[1]', 'INT') AS error ,CAST(event_data AS XML).value('(/event/data[@name="state"]/value)[1]', 'INT') AS STATE ,CAST(event_data AS XML).value('(/event/data[@name="is_success"]/value)[1]', 'bit') AS is_success ,CAST(event_data AS XML).value('(/event/data[@name="database_name"]/value)[1]', 'sysname') AS database_name FROM sys.fn_xe_telemetry_blob_target_read_file('dl', NULL, NULL, NULL) WHERE object_name = 'database_xml_deadlock_report'
Je ne pense pas que l'une ou l'autre de ces questions travaillent dans V12. Pour moi, la première requête de SyS.Event_Log renvoie des lignes, mais pas de XML. Sur la même base de données, la deuxième requête ne renvoie aucune ligne de lignes.
Ont essayé à la fois les requêtes ci-dessus et aucun d'entre eux ne renvoie l'impasse XML. Première requête ne sera pas complète, Second Query Runs mais l'événement Shased_Data Column est Null Azure SQL La version de base de données SQL est Microsoft SQL Azure (RTM) - 12.0.2000.8 oct. 2020 18:48:35 Copyright (c) 2019 Microsoft Corporation
La base de données Azure SQL prend maintenant deux façons d'obtenir des rapports XML deadlock XML. Vous pouvez créer une session XE DB-Scoped XE avec l'événement de base de données_xml_deadlock_report pour les suivre vous-même, ou vous pouvez modifier l'appel SYS.FN_XE_TelemeRY_blob_Target_read_file de la réponse antérieure pour utiliser 'DL'. Les blocages sont maintenant acheminés vers leur propre fichier au lieu d'être mélangés avec des événements de connexion. P>
Ce Article MSDN a le Dernières informations. P>
Si vous ne trouvez pas et que vous n'êtes pas acceptable, n'hésitez pas à contacter directement Microsoft. Microsoft verse beaucoup de ressources à Azure et au soutien qu'ils donnent aux développeurs d'Azure depuis que M. Guthrie a repris est plutôt impressionnant. Si cela échoue, je tiens à garder un œil sur ce fil et que je connais des MVP d'azur direct avec qui je sais pour répondre à ce fil comme j'aimerais connaître la réponse moi-même.