{"id":470,"date":"2017-12-20T15:57:00","date_gmt":"2017-12-20T15:57:00","guid":{"rendered":"https:\/\/sqldoubleg.live-website.com\/?p=470"},"modified":"2017-12-20T15:59:02","modified_gmt":"2017-12-20T15:59:02","slug":"getting-perfmon-data-into-sql-server","status":"publish","type":"post","link":"https:\/\/www.sqldoubleg.com\/es\/2017\/12\/20\/getting-perfmon-data-into-sql-server\/","title":{"rendered":"Insertando datos de rendimiento en SQL Server, Parte I"},"content":{"rendered":"<p>En este post quiero mostrar como crear recopiladores de datos de en el monitor de rendimiento de Windows y las diferentes opciones para guardar esos datos y posteriormente insertar en una base de datos SQL Server&nbsp;Todav\u00eda no es un a\u00f1o nuevo, pero ya he hecho mis buenos propositos y eso incluye escribir m\u00e1s, as\u00ed que me he puesto manos a la obra.<\/p>\n<p>Cuando las cosas van mal, y con esto quiero decir cualquier cosa que pare o ralentice nuestro entorno de producci\u00f3n, nosotros como DBA necesitamos tener datos para respaldar nuestras palabras, por lo que si decimos que SQL Server es tan r\u00e1pido o tan lento como de costumbre y el problema debe estar en otro sitio, necesitamos datos para poder probarlo.<\/p>\n<p>&nbsp;<br \/>\n<strong>Antecedentes<\/strong><\/p>\n<p>Una excelente forma de obtener m\u00e9tricas de rendimiento viene integrada en el sistema operativo Windows, el monitor de rendimiento nos permite crear <strong><em>Conjuntos de recopiladores de datos definidos por el usuario<\/em><\/strong>, simplemente ejecutamos <strong><em>perfmon.exe<\/em><\/strong> y se abrir\u00e1 la consola de administraci\u00f3n.<\/p>\n<p>Lo cierto es que tenemos muchisimos contadores para elegir y no es el proposito de este post explicar para que sirve cada uno de ellos, sino centrarnos en c\u00f3mo vamos a capturar los datos y, lo m\u00e1s importante, c\u00f3mo los haremos llegar a SQL Server y luego procesarlos esos datos para obtener resultados significativos.<\/p>\n<p>&nbsp;<br \/>\n<strong>Crear un recopilador de datos basado en una plantilla<\/strong><\/p>\n<p>Una vez que hayamos abierto el monitor de rendimiento si queremos crear un nuevo recopilador de datos, tendremos que hacer algunas elecciones en el asistente.<\/p>\n<p><a href=\"https:\/\/sqldoubleg.live-website.com\/wp-content\/uploads\/2017\/12\/01_Create_perfmon_counter.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/sqldoubleg.live-website.com\/wp-content\/uploads\/2017\/12\/01_Create_perfmon_counter.png\" alt=\"\" width=\"751\" height=\"351\" class=\"aligncenter size-full wp-image-473\" srcset=\"https:\/\/www.sqldoubleg.com\/wp-content\/uploads\/2017\/12\/01_Create_perfmon_counter.png 751w, https:\/\/www.sqldoubleg.com\/wp-content\/uploads\/2017\/12\/01_Create_perfmon_counter-300x140.png 300w, https:\/\/www.sqldoubleg.com\/wp-content\/uploads\/2017\/12\/01_Create_perfmon_counter-150x70.png 150w\" sizes=\"(max-width: 751px) 100vw, 751px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/sqldoubleg.live-website.com\/wp-content\/uploads\/2017\/12\/02_Create_perfmon_counter_wizard.png\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/sqldoubleg.live-website.com\/wp-content\/uploads\/2017\/12\/02_Create_perfmon_counter_wizard.png\" alt=\"\" width=\"420\" class=\"size-full wp-image-474\" srcset=\"https:\/\/www.sqldoubleg.com\/wp-content\/uploads\/2017\/12\/02_Create_perfmon_counter_wizard.png 535w, https:\/\/www.sqldoubleg.com\/wp-content\/uploads\/2017\/12\/02_Create_perfmon_counter_wizard-300x234.png 300w, https:\/\/www.sqldoubleg.com\/wp-content\/uploads\/2017\/12\/02_Create_perfmon_counter_wizard-150x117.png 150w\" sizes=\"(max-width: 535px) 100vw, 535px\" \/>&nbsp;<\/a><a href=\"https:\/\/sqldoubleg.live-website.com\/wp-content\/uploads\/2017\/12\/03_Create_perfmon_counter_wizard.png\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/sqldoubleg.live-website.com\/wp-content\/uploads\/2017\/12\/03_Create_perfmon_counter_wizard.png\" alt=\"\" width=\"420\" class=\"size-full wp-image-475\" srcset=\"https:\/\/www.sqldoubleg.com\/wp-content\/uploads\/2017\/12\/03_Create_perfmon_counter_wizard.png 535w, https:\/\/www.sqldoubleg.com\/wp-content\/uploads\/2017\/12\/03_Create_perfmon_counter_wizard-300x234.png 300w, https:\/\/www.sqldoubleg.com\/wp-content\/uploads\/2017\/12\/03_Create_perfmon_counter_wizard-150x117.png 150w\" sizes=\"(max-width: 535px) 100vw, 535px\" \/><\/a><br \/>\n\u00a0<br \/>\nAqu\u00ed os dejo la plantilla que he usado para crear mi Recopilador de datos, basta con ponerlo en un archivo XML y cambiar algunos de los contadores que est\u00e1n relacionados con SQL Server.<\/p>\n<p>Cuando digo MSSQL$MSSQL2016, es porque este contador se refiere a una instancia llamada MSSQL2016. Si esa fuera la instancia predeterminada, ser\u00eda solo \u00abSQL Server\u00bb.<\/p>\n<p>Ejemplo: &lt;Counter&gt;\\SQL Server:Buffer Manager\\Page life expectancy&lt;\/Counter&gt;<\/p>\n<p>Una vez que lo ajusteis, estamos listos para comenzar.<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-16&quot;?&gt;\r\n&lt;DataCollectorSet&gt;\r\n\t&lt;Status&gt;0&lt;\/Status&gt;\r\n\t&lt;Duration&gt;0&lt;\/Duration&gt;\r\n\t&lt;Description&gt;\r\n\t&lt;\/Description&gt;\r\n\t&lt;DescriptionUnresolved&gt;\r\n\t&lt;\/DescriptionUnresolved&gt;\r\n\t&lt;DisplayName&gt;\r\n\t&lt;\/DisplayName&gt;\r\n\t&lt;DisplayNameUnresolved&gt;\r\n\t&lt;\/DisplayNameUnresolved&gt;\r\n\t&lt;SchedulesEnabled&gt;-1&lt;\/SchedulesEnabled&gt;\r\n\t&lt;Name&gt;DBA_Collector&lt;\/Name&gt;\r\n\t&lt;RootPath&gt;C:\\PerfLogs\\Admin\\DBA_collector&lt;\/RootPath&gt;\r\n\t&lt;Segment&gt;-1&lt;\/Segment&gt;\r\n\t&lt;SegmentMaxDuration&gt;86400&lt;\/SegmentMaxDuration&gt;\r\n\t&lt;SegmentMaxSize&gt;0&lt;\/SegmentMaxSize&gt;\r\n\t&lt;SerialNumber&gt;348&lt;\/SerialNumber&gt;\r\n\t&lt;Server&gt;\r\n\t&lt;\/Server&gt;\r\n\t&lt;Subdirectory&gt;\r\n\t&lt;\/Subdirectory&gt;\r\n\t&lt;SubdirectoryFormat&gt;3&lt;\/SubdirectoryFormat&gt;\r\n\t&lt;SubdirectoryFormatPattern&gt;yyyyMMdd\\-NNNNNN&lt;\/SubdirectoryFormatPattern&gt;\r\n\t&lt;Task&gt;\r\n\t&lt;\/Task&gt;\r\n\t&lt;TaskRunAsSelf&gt;0&lt;\/TaskRunAsSelf&gt;\r\n\t&lt;TaskArguments&gt;\r\n\t&lt;\/TaskArguments&gt;\r\n\t&lt;TaskUserTextArguments&gt;\r\n\t&lt;\/TaskUserTextArguments&gt;\r\n\t&lt;UserAccount&gt;SYSTEM&lt;\/UserAccount&gt;\r\n\t&lt;StopOnCompletion&gt;0&lt;\/StopOnCompletion&gt;\r\n\t&lt;PerformanceCounterDataCollector&gt;\r\n\t\t&lt;DataCollectorType&gt;0&lt;\/DataCollectorType&gt;\r\n\t\t&lt;Name&gt;DataCollector01&lt;\/Name&gt;\r\n\t\t&lt;FileName&gt;DBA_DataCollector&lt;\/FileName&gt;\r\n\t\t&lt;FileNameFormat&gt;3&lt;\/FileNameFormat&gt;\r\n\t\t&lt;FileNameFormatPattern&gt;yyyyMMdd\\_HHmmss&lt;\/FileNameFormatPattern&gt;\r\n\t\t&lt;LogAppend&gt;0&lt;\/LogAppend&gt;\r\n\t\t&lt;LogCircular&gt;0&lt;\/LogCircular&gt;\r\n\t\t&lt;LogOverwrite&gt;0&lt;\/LogOverwrite&gt;\r\n\t\t&lt;DataSourceName&gt;\r\n\t\t&lt;\/DataSourceName&gt;\r\n\t\t&lt;SampleInterval&gt;15&lt;\/SampleInterval&gt;\r\n\t\t&lt;SegmentMaxRecords&gt;0&lt;\/SegmentMaxRecords&gt;\r\n\t\t&lt;LogFileFormat&gt;3&lt;\/LogFileFormat&gt;\r\n\t\t&lt;Counter&gt;\\Memory\\Available MBytes&lt;\/Counter&gt;\r\n\t\t&lt;Counter&gt;\\Paging File(*)\\% Usage&lt;\/Counter&gt;\r\n\t\t&lt;Counter&gt;\\MSSQL$MSSQL2016:Buffer Manager\\Page life expectancy&lt;\/Counter&gt;\r\n\t\t&lt;Counter&gt;\\MSSQL$MSSQL2016:Buffer Node(*)\\Page life expectancy&lt;\/Counter&gt;\r\n\t\t&lt;Counter&gt;\\MSSQL$MSSQL2016:General Statistics\\User Connections&lt;\/Counter&gt;\r\n\t\t&lt;Counter&gt;\\MSSQL$MSSQL2016:Memory Manager\\Memory Grants Pending&lt;\/Counter&gt;\r\n\t\t&lt;Counter&gt;\\MSSQL$MSSQL2016:SQL Statistics\\Batch Requests\/sec&lt;\/Counter&gt;\r\n\t\t&lt;Counter&gt;\\MSSQL$MSSQL2016:SQL Statistics\\SQL Compilations\/sec&lt;\/Counter&gt;\r\n\t\t&lt;Counter&gt;\\MSSQL$MSSQL2016:SQL Statistics\\SQL Re-Compilations\/sec&lt;\/Counter&gt;\r\n\t\t&lt;Counter&gt;\\PhysicalDisk(*)\\Avg. Disk Queue Length&lt;\/Counter&gt;\r\n\t\t&lt;Counter&gt;\\PhysicalDisk(*)\\Current Disk Queue Length&lt;\/Counter&gt;\r\n\t\t&lt;Counter&gt;\\PhysicalDisk(*)\\Disk Reads\/sec&lt;\/Counter&gt;\r\n\t\t&lt;Counter&gt;\\PhysicalDisk(*)\\Disk Writes\/sec&lt;\/Counter&gt;\r\n\t\t&lt;Counter&gt;\\PhysicalDisk(*)\\Avg. Disk sec\/Read&lt;\/Counter&gt;\r\n\t\t&lt;Counter&gt;\\PhysicalDisk(*)\\Avg. Disk sec\/Write&lt;\/Counter&gt;\r\n\t\t&lt;Counter&gt;\\PhysicalDisk(*)\\Avg. Disk Read Queue Length&lt;\/Counter&gt;\r\n\t\t&lt;Counter&gt;\\PhysicalDisk(*)\\Avg. Disk Write Queue Length&lt;\/Counter&gt;\r\n\t\t&lt;Counter&gt;\\System\\Processor Queue Length&lt;\/Counter&gt;\r\n\t\t&lt;Counter&gt;\\Processor(*)\\% Processor Time&lt;\/Counter&gt;\t\t\r\n\t&lt;\/PerformanceCounterDataCollector&gt;\r\n\t&lt;DataManager&gt;\r\n\t\t&lt;Enabled&gt;0&lt;\/Enabled&gt;\r\n\t\t&lt;CheckBeforeRunning&gt;0&lt;\/CheckBeforeRunning&gt;\r\n\t\t&lt;MinFreeDisk&gt;0&lt;\/MinFreeDisk&gt;\r\n\t\t&lt;MaxSize&gt;0&lt;\/MaxSize&gt;\r\n\t\t&lt;MaxFolderCount&gt;0&lt;\/MaxFolderCount&gt;\r\n\t\t&lt;ResourcePolicy&gt;0&lt;\/ResourcePolicy&gt;\r\n\t\t&lt;ReportFileName&gt;report.html&lt;\/ReportFileName&gt;\r\n\t\t&lt;RuleTargetFileName&gt;report.xml&lt;\/RuleTargetFileName&gt;\r\n\t\t&lt;EventsFileName&gt;\r\n\t\t&lt;\/EventsFileName&gt;\r\n\t&lt;\/DataManager&gt;\r\n&lt;\/DataCollectorSet&gt;\r\n\r\n<\/pre>\n<p>&nbsp;<br \/>\nY despu\u00e9s de elegir la plantilla (opcional) o seleccionar manualmente los contadores, tenemos que decidir d\u00f3nde almacenar los archivos de salida y se ejecutar\u00e1n las credenciales debajo de \u00e9l, puede dejar los valores predeterminados all\u00ed.<\/p>\n<p>&nbsp;<br \/>\n<a href=\"https:\/\/sqldoubleg.live-website.com\/wp-content\/uploads\/2017\/12\/04_Create_perfmon_counter_wizard.png\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/sqldoubleg.live-website.com\/wp-content\/uploads\/2017\/12\/04_Create_perfmon_counter_wizard.png\" alt=\"\" width=\"280\" class=\"wp-image-476\" srcset=\"https:\/\/www.sqldoubleg.com\/wp-content\/uploads\/2017\/12\/04_Create_perfmon_counter_wizard.png 535w, https:\/\/www.sqldoubleg.com\/wp-content\/uploads\/2017\/12\/04_Create_perfmon_counter_wizard-300x234.png 300w, https:\/\/www.sqldoubleg.com\/wp-content\/uploads\/2017\/12\/04_Create_perfmon_counter_wizard-150x117.png 150w\" sizes=\"(max-width: 535px) 100vw, 535px\" \/><\/a>&nbsp;<a href=\"https:\/\/sqldoubleg.live-website.com\/wp-content\/uploads\/2017\/12\/05_Create_perfmon_counter_wizard.png\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/sqldoubleg.live-website.com\/wp-content\/uploads\/2017\/12\/05_Create_perfmon_counter_wizard.png\" alt=\"\" width=\"280\" class=\"wp-image-477\" srcset=\"https:\/\/www.sqldoubleg.com\/wp-content\/uploads\/2017\/12\/05_Create_perfmon_counter_wizard.png 535w, https:\/\/www.sqldoubleg.com\/wp-content\/uploads\/2017\/12\/05_Create_perfmon_counter_wizard-300x234.png 300w, https:\/\/www.sqldoubleg.com\/wp-content\/uploads\/2017\/12\/05_Create_perfmon_counter_wizard-150x117.png 150w\" sizes=\"(max-width: 535px) 100vw, 535px\" \/><\/a>&nbsp;<a href=\"https:\/\/sqldoubleg.live-website.com\/wp-content\/uploads\/2017\/12\/06_Create_perfmon_counter_wizard.png\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/sqldoubleg.live-website.com\/wp-content\/uploads\/2017\/12\/06_Create_perfmon_counter_wizard.png\" alt=\"\" width=\"280\" class=\"wp-image-478\" srcset=\"https:\/\/www.sqldoubleg.com\/wp-content\/uploads\/2017\/12\/06_Create_perfmon_counter_wizard.png 535w, https:\/\/www.sqldoubleg.com\/wp-content\/uploads\/2017\/12\/06_Create_perfmon_counter_wizard-300x234.png 300w, https:\/\/www.sqldoubleg.com\/wp-content\/uploads\/2017\/12\/06_Create_perfmon_counter_wizard-150x117.png 150w\" sizes=\"(max-width: 535px) 100vw, 535px\" \/><\/a><\/p>\n<p>&nbsp;<br \/>\nAs\u00ed que ahora tenemos nuestro recopilador de datos creado, podemos ir a propiedades para ver c\u00f3mo se ve o quiz\u00e1s agregar m\u00e1s contadores, qui\u00e9n sabe \ud83d\ude42<\/p>\n<p><a href=\"https:\/\/sqldoubleg.live-website.com\/wp-content\/uploads\/2017\/12\/07_perfmon_collector_properties.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/sqldoubleg.live-website.com\/wp-content\/uploads\/2017\/12\/07_perfmon_collector_properties.png\" alt=\"\" width=\"780\" height=\"669\" class=\"aligncenter size-full wp-image-479\" \/><\/a><\/p>\n<p>Existen diferentes opciones para obtener todos estos datos generados y depende totalmente de nosotros decidir cu\u00e1l es la mejor, pero dejadme que os muestre cuales son.<\/p>\n<p>Las diferentes opciones son<\/p>\n<ul>\n<li>Coma Separated, el archivo de valores separados por coma (CSV) bastante conocido\n<\/li>\n<li>Tab Separated, practicamente lo mismo que el de  arriba, pero separado por tabuladores<\/li>\n<li>SQL, esto escribir\u00e1 directamente a una base de datos que definamos<\/li>\n<li>Binario, crea archivos binarios<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>Cada uno de ellos tiene sus pros y contras<\/p>\n<table>\n<tr>\n<td>Formato<\/td>\n<td>Requisitos de almacenamiento<\/td>\n<td>Se puede abrir con<\/td>\n<td>Se puede importar a SQL<\/td>\n<\/tr>\n<tr>\n<td>Comma Separated<\/td>\n<td>Bajo<\/td>\n<td>Hojas de c\u00e1lculo, Editor de texto <\/td>\n<td>S\u00ed<\/td>\n<\/tr>\n<tr>\n<td>Tab Separated<\/td>\n<td>Bajo<\/td>\n<td>Hojas de c\u00e1lculo, Editor de texto<\/td>\n<td>S\u00ed<\/td>\n<\/tr>\n<tr>\n<td>SQL<\/td>\n<td>Solo en Base de datos<\/td>\n<td>SQL Server<\/td>\n<td>S\u00ed<\/td>\n<\/tr>\n<tr>\n<td>Binary<\/td>\n<td>Alto<\/td>\n<td>Performance monitor<\/td>\n<td>S\u00ed<\/td>\n<\/tr>\n<\/table>\n<p>&nbsp;<br \/>\nA mi parecer es que realmente depende de c\u00f3mo queramos usar la salida aparte de insertarla en una base de datos de SQL Server.<\/p>\n<p>Separados por comas y separados por tabuladores son perfectos si quieres abrirlos con cualquier programa de hojas de c\u00e1lculo como Excel, tambi\u00e9n los requisitos de almacenamiento son menores que los archivos binarios, en mi experiencia de 1 a 4 para la misma cantidad de datos, as\u00ed que si te preocupa el almacenamiento, los archivos de texto simple puede ser tu mejor opcion.<\/p>\n<p>El formato binario se puede abrir con el Monitor de rendimiento y muestra los diferentes contadores de varias maneras, al igual que cuando los vemos en tiempo real.<\/p>\n<p><a href=\"https:\/\/sqldoubleg.live-website.com\/wp-content\/uploads\/2017\/12\/07_01_perfmon_binary_output_display.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/sqldoubleg.live-website.com\/wp-content\/uploads\/2017\/12\/07_01_perfmon_binary_output_display.png\" alt=\"\" width=\"848\" height=\"593\" class=\"aligncenter size-full wp-image-488\" srcset=\"https:\/\/www.sqldoubleg.com\/wp-content\/uploads\/2017\/12\/07_01_perfmon_binary_output_display.png 848w, https:\/\/www.sqldoubleg.com\/wp-content\/uploads\/2017\/12\/07_01_perfmon_binary_output_display-300x210.png 300w, https:\/\/www.sqldoubleg.com\/wp-content\/uploads\/2017\/12\/07_01_perfmon_binary_output_display-768x537.png 768w, https:\/\/www.sqldoubleg.com\/wp-content\/uploads\/2017\/12\/07_01_perfmon_binary_output_display-150x105.png 150w\" sizes=\"(max-width: 848px) 100vw, 848px\" \/><\/a><\/p>\n<p>&nbsp;\u00a0<br \/>\nInsertar los datos directamente en una base de datos puede sonar como el camino a seguir, al fin y al cabo ese es el prop\u00f3sito de este post, pero a no ser que procesemos y\/o agreguemos toda esa informaci\u00f3n, en poco tiempo tendremos una gran cantidad de datos, as\u00ed que yo ser\u00eda prudente, ya que prefiero tener muchos archivos en una carpeta compartida y cargar en SQL solo aquellos que me interesan, antes que tener otra base de datos monstruosa para mantener.<\/p>\n<p>Yo he optado por volcar los datos en un archivo binario para poder mostraros tambi\u00e9n los resultados, pero definitivamente <strong>debeis eligir el que m\u00e1s os convenga<\/strong>.<\/p>\n<p>\u00a0<br \/>\n&nbsp;<br \/>\n<strong>Conclusi\u00f3n<\/strong><\/p>\n<p>Hasta ahora hemos visto c\u00f3mo crear y configurar un nuevo recopilador de datos y las diferentes formas que podemos obtener su resultados.<\/p>\n<p>Es muy importante elegir con cautela los contadores que queremos monitorear, porque la cantidad de informaci\u00f3n puede ser abrumadora y al final ser contraproducente.<\/p>\n<p>Y tambi\u00e9n hemos visto c\u00f3mo los diferentes formatos de salida pueden traer pros y contras, as\u00ed que de nuevo tenemos que pensar cuidadosamente c\u00f3mo queremos consumirlos. Sin embargo, esto se puede cambiar en cualquier momento, de modo que si veis que el formato eligido cuando lo creamos no funciona, simplemente podemos cambiarlo.<\/p>\n<p>De momento eso es todo, la pr\u00f3xima semana veremos c\u00f3mo podemos insertar toda esta informaci\u00f3n en SQL Server y luego c\u00f3mo procesarla para recuperar los datos de una manera m\u00e1s significativa.<\/p>\n<p>Espero que hayais disfrutado de la lectura y estad atentos a la segunda parte.<\/p>\n<p>Gracias!<\/p>\n<p>&nbsp;<\/p>","protected":false},"excerpt":{"rendered":"<p>En este post quiero mostrar como crear recopiladores de datos de en el monitor de rendimiento de Windows y las diferentes opciones para guardar esos datos y posteriormente insertar en una base&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,19],"tags":[82,58,83,84],"_links":{"self":[{"href":"https:\/\/www.sqldoubleg.com\/es\/wp-json\/wp\/v2\/posts\/470"}],"collection":[{"href":"https:\/\/www.sqldoubleg.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sqldoubleg.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sqldoubleg.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sqldoubleg.com\/es\/wp-json\/wp\/v2\/comments?post=470"}],"version-history":[{"count":0,"href":"https:\/\/www.sqldoubleg.com\/es\/wp-json\/wp\/v2\/posts\/470\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.sqldoubleg.com\/es\/wp-json\/wp\/v2\/media?parent=470"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sqldoubleg.com\/es\/wp-json\/wp\/v2\/categories?post=470"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sqldoubleg.com\/es\/wp-json\/wp\/v2\/tags?post=470"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}