{"id":1826,"date":"2015-11-11T01:12:37","date_gmt":"2015-11-11T01:12:37","guid":{"rendered":"http:\/\/www.obieta.com\/?p=1826"},"modified":"2015-11-11T01:12:37","modified_gmt":"2015-11-11T01:12:37","slug":"sql-server-2012-for-sharepoint-2013-checklist","status":"publish","type":"post","link":"https:\/\/obieta.com\/?p=1826","title":{"rendered":"SQL Server 2012 for SharePoint 2013 checklist"},"content":{"rendered":"<h3><strong>\u00a0<\/strong><\/h3>\n<ol>\n<li>Use multiple: SQL Aliases (separate 1 for search).<\/li>\n<li>Dedicate SQL Server for SharePoint.<\/li>\n<li>Set max degree of parallelism (MAXDOP) to 1 for instances of SQL (SP will do this when SP is installed).\u00a0 Number of processes for each SQL statement.<\/li>\n<li>Mixed mode authentication &#8211; Don&#8217;t install SQL 2012 for SP in mixed mode auth unless you have good reason (the only reason I have heard of is from Todd Klindt&#8217;s podcast that mentions Access Services needs to use the SA account.\u00a0 If you have other database that need SQL permission access\u00a0consider moving them to a dedicate SQL instance.<\/li>\n<li>SQL Server 2012 AlwaysOn Availability Groups are a new high availability and disaster recovery solution that are an alternative to database mirroring and log shipping solutions. AlwaysOn Availability Groups support a set of primary read-write databases and up to four sets of secondary databases that can be set as read-only.<\/li>\n<li>Memory: You can set the max memory each SQL instance can use.\u00a0 If the machine is dedicate to only provide SQL for SharePoint, the max setting is total memory minus 4GB for the OS.\u00a0 See image 3.<\/li>\n<li>Model DB: Increase initial size and autogrowth settings &#8211; fix growth sizes.\u00a0 I would start\u00a0 with 100MB for the mdf and 20MB for the ldf for initial sizes.\u00a0 Autogrowth on content db&#8217;s I start with 50MB growth for the mdf and 25MB for the log file (ldf).\u00a0 See image1 below.<\/li>\n<li>Model DB: Don&#8217;t modify DB Collation after install.<\/li>\n<li>Model DB: Use Full recovery model on the\u00a0Model system database\u00a0&#8211; Simple prevents large log files.<\/li>\n<li>Avoid giant ldf log files &#8230; (don&#8217;t use DCC_Shrink\u00a0to resize\u00a0ldf files\u00a0with switching to the simple recovery model, it breaks the LSN\/log backup\u00a0chain).\u00a0 ldf growth is far more resource intensive than mdf files growth, the problem I see with Content db growth is the IT pro lets the ldf get out of control, then backs up and shrinks the database.\u00a0 Usage causes the ldf to autogrow periodically and the farm goses back to needing the process repeated with heavy growth issues.\u00a0 Key is to ensure the lfd has a decent initial size (you can work this out between full backup cycles), the ldf for content db&#8217;s should rarely need to autogrow and when it does make it a fixed amount.<\/li>\n<li>TempDB:\u00a0Having multiple mdf tempdb files speeds up SQL performance.\u00a0 The tempdb is a system db\u00a0that has\u00a0resource available to all users.\u00a0 <a href=\"http:\/\/www.sqlskills.com\/blogs\/paul\/a-sql-server-dba-myth-a-day-1230-tempdb-should-always-have-one-data-file-per-processor-core\/\">And from the expert<\/a><\/li>\n<li>TempDB: Increase it&#8217;s initial size\u00a0 &amp; autogrowth to MB as opposed to percent (see image2).<\/li>\n<li>TempDB: Simple recovery model for TempDB is correct.<\/li>\n<li>TempDB: The default is 1, you need more than this depending on how many CPU cores are on your database server.\u00a0 1 option is set the number of TempDB&#8217;s to the same as the number of CPUI cores (1-to-1).\u00a0\u00a0Some folks recommend the number of tempDB&#8217;s should be 1 less than the number of cpu cores, other folks go for 1 TempDB per 2 CPU cores.\u00a0\u00a0 I start with 4 and tune in performance testing or once it is running.\u00a0 Saying that I normally have 16 cores.\u00a0\u00a0I can&#8217;t see performance gains from my testing after 4 TempDB&#8217;s but as a rule I&#8217;d start with 1 TempDB for each 2 Cores and tune\u00a0from there.<\/li>\n<li>TempDB: Move the tempdb.mdf files and the TempDB .ldf file\u00a0to their own fast as possible drive.<\/li>\n<li>Content DBs: CA or PS when creating a new content db won&#8217;t take all the model settings, it does take initial sizes but not the autogrowth settings.<\/li>\n<li>Content DBs: Workaround- create the db outside of PS, get the SP collation right &#8220;Latin1_General_CI_AS_KS_WS&#8221; collation.<\/li>\n<li>If your SQL db uses spinning disk split the mdf and ldf files onto separate disks.\u00a0 Order the db files as follows: tempdb must be on the fastest disk, content db log files next and content db&#8217;s next.<\/li>\n<li>Change the default backup location to a separate disk (pretty obvious but it is the default setting).<\/li>\n<li>Set the default for the\u00a0database instance file locations\u00a0 &#8211; set the default location where new mdf, ldf and backups will go on disk (per your fasteset disk calcs).<\/li>\n<li>Set the default for the database instance backup compression &#8211; I&#8217;d go with compression for all backups.<\/li>\n<li>mdf and ldf should be on separate drives for 2 reasons : IOPS speed (provided this is spinning disk)\u00a0&amp; DR (you don&#8217;t want to loose both).<\/li>\n<li>OS: NTFS allocation unit, by default on Windows 2008 this is 4096 byte (4kb), generally much faster to have it set to 64kb allocation unit size.\u00a0 e.g. cmd&gt;Chkdsk c:<\/li>\n<li>Use RAID 10 where possible.<\/li>\n<li>Windows firewall &#8211; if using it you will need to open the incoming SQL port i.e. 1433<\/li>\n<li>Avoid huge transaction logs and<a href=\"http:\/\/www.brentozar.com\/blitz\/blitz-result-percent-growth-use\/\"> size them appropriately<\/a>.\u00a0 Pref don\u2019t use simple recovery model. Ldf content is not removed every 60 seconds when it is written to the mdf files.\u00a0Backup \u2013 get last full backup and last differential to get you to the lasted backup version. Or get the current ldf, restore the last full backup and play the current ldf through the db. To slim the ldf down, after a successful full backup, can backup the transaction with &#8220;truncate the transaction log&#8221; (it zeros all transaction before the checkpoint made by the transacion log backup\u00a0or (sic. delete the log file) to get it back to a reasonable size.\u00a0 <em><strong>Hint<\/strong><\/em>: BACKUP LOG <em>databasename<\/em> TO <em>devicename<\/em><\/li>\n<li>Watch the size of the Content Databases, they take time to recover.\u00a0 Max up to\u00a04TB, try stick to around 200GB (exception will be for blob storage).\u00a0 This makes backup and restore quick however AlwaysOn also changes the scenario.<\/li>\n<li><a href=\"http:\/\/www.brentozar.com\/archive\/2008\/03\/sql-server-2005-setup-checklist-part-1-before-the-install\/\">Format the Drives<\/a> with 64K NTFS Allocation Units.<\/li>\n<li>Antivirus software must exclude LDF\/MDF\/NDF files.<\/li>\n<li>Don&#8217;t shrink database log files by switching the recovery model to Simple.<\/li>\n<li>Ensure you are within the latency recommendation for SP to SQL (&lt; 20ms).<\/li>\n<\/ol>\n<table>\n<tbody>\n<tr>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Image 1. Change the model database initial size and autogrowth settings.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong><em>Tip<\/em><\/strong>: AutoGrowth of SharePoint 2013 Content databases &#8211; Changing the initial size of the model db will affect the content db&#8217;s &#8211; nice, issues is that the autogrowth settings in the model db are not pushed to the content databases created through SharePoint (either CA or PowerShell).<\/p>\n<table>\n<tbody>\n<tr>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Image 2. Change the TempDB to have multiple mdf files.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table>\n<tbody>\n<tr>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Image 3. Setting Memory on SQL Server instances.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>SharePoint Sizing Starting point notes:<\/strong> SP_Config database &#8211; &#8220;<strong>Transaction log files<\/strong>. We recommend that you back up the transaction log for the configuration database regularly to force truncation.&#8221; Technet.\u00a0\u00a0\u00a0The Full recovery model is the default, switch this to Simple.\u00a0 If you need Full, your ldfs be busy.\u00a0 Suggest ldf at least 1000MB per day growth, can be a lot more.<br \/>\nSuggested <a href=\"http:\/\/blog.sharepointsite.co.uk\/2014\/01\/sharepoint-2013-search-limits.html\">Search database sizing<\/a>.\u00a0 If the Search databases are in the Full Recovery mode you also need to set the ldf sizing.<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"232\"><strong>Database<\/strong><\/td>\n<td width=\"64\"><strong>mdf<\/strong><\/td>\n<td width=\"84\"><strong>mdf growth<\/strong><\/td>\n<td width=\"64\"><strong>ldf<\/strong><\/td>\n<td width=\"64\"><strong>ldf grow<\/strong><\/td>\n<\/tr>\n<tr>\n<td>SP_Search_Admin<\/td>\n<td>100 MB<\/td>\n<td>10 MB<\/td>\n<td>100 MB<\/td>\n<td>50 MB<\/td>\n<\/tr>\n<tr>\n<td>SP_Search_CrawlStore<\/td>\n<td>100 MB<\/td>\n<td>50 MB<\/td>\n<td>300 MB<\/td>\n<td>100 MB<\/td>\n<\/tr>\n<tr>\n<td>SP_Search_AnalyticsReportingStore<\/td>\n<td>100 MB<\/td>\n<td>50 MB<\/td>\n<td>25 MB<\/td>\n<td>25 MB<\/td>\n<\/tr>\n<tr>\n<td>SP_Search_LinksStore<\/td>\n<td>100 MB<\/td>\n<td>50 MB<\/td>\n<td>25 MB<\/td>\n<td>25 MB<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Update 23 Jan 2014:<\/strong>\u00a0 <a href=\"http:\/\/www.toddklindt.com\/blog\/Lists\/Posts\/Post.aspx?ID=466\">Todd Klindt has a good set of blog posts on SQL 2012 for SharePoint 2013<\/a>. <strong><em>How do ldf files work with mdf in SQL Server<\/em><\/strong>: Content goes into .ldf file temporarily, checkpoint occurs every minute and moves from .ldf to mdf.\u00a0 If the &#8220;Full recovery model&#8221; is used the content\u00a0in the the ldf file is retained. Hence large trans logs but recovery is better.\u00a0 If a simple recovery model is used, the ldf data is dumped.<br \/>\n<strong>Keith Tuomi provide the <a href=\"http:\/\/yalla.itgroove.net\/2013\/03\/sql-server-powershell-sharepoint-set-autogrowth-on-content-dbs\/\">code<\/a> to automatically change the autogrowth sizing.<\/strong><\/p>\n<table>\n<tbody>\n<tr>\n<td>01<\/td>\n<td>$Server=&#8221;SQLSRV2012&#8243;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table>\n<tbody>\n<tr>\n<td>02<\/td>\n<td>[System.Reflection.Assembly]::LoadWithPartialName(&#8220;Microsoft.SqlServer.SMO&#8221;) | out-null<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table>\n<tbody>\n<tr>\n<td>03<\/td>\n<td>$SMOserver = New-Object (&#8216;Microsoft.SqlServer.Management.Smo.Server&#8217;) -argumentlist $Server<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table>\n<tbody>\n<tr>\n<td>04<\/td>\n<td>$databases = $SMOserver.Databases;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table>\n<tbody>\n<tr>\n<td>05<\/td>\n<td>foreach ($DB in $databases | where{$_.Name -like &#8216;*Content*&#8217;}) {<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table>\n<tbody>\n<tr>\n<td>06<\/td>\n<td>#Set Log File growth<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table>\n<tbody>\n<tr>\n<td>07<\/td>\n<td>foreach ($DBLF in $DB.logfiles) {<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table>\n<tbody>\n<tr>\n<td>08<\/td>\n<td>$DBLF.set_GrowthType(&#8220;KB&#8221;);<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table>\n<tbody>\n<tr>\n<td>09<\/td>\n<td>$DBLF.set_Growth(&#8220;51200&#8221;); #50mb<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table>\n<tbody>\n<tr>\n<td>10<\/td>\n<td>$DBLF.Alter();<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table>\n<tbody>\n<tr>\n<td>11<\/td>\n<td>}<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table>\n<tbody>\n<tr>\n<td>12<\/td>\n<td>#set File Growth<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table>\n<tbody>\n<tr>\n<td>13<\/td>\n<td>$DBFG = $DB.FileGroups;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table>\n<tbody>\n<tr>\n<td>14<\/td>\n<td>foreach ($DBF in $DBFG.Files) {<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table>\n<tbody>\n<tr>\n<td>15<\/td>\n<td>$DBF.set_GrowthType(&#8220;KB&#8221;);<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table>\n<tbody>\n<tr>\n<td>16<\/td>\n<td>$DBF.set_Growth(&#8220;102400&#8221;); #100mb<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table>\n<tbody>\n<tr>\n<td>17<\/td>\n<td>$DBF.Alter();<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table>\n<tbody>\n<tr>\n<td>18<\/td>\n<td>}<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table>\n<tbody>\n<tr>\n<td>19<\/td>\n<td>}<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>SQL Licencing:<\/strong> There are numerous licensing models available to SQL server on the different versions and I find them extremely complex.\u00a0For large SQL using the\u00a0Enterprise Edition of SQL 2012,\u00a0per-core licensing at the hardware (hypervisor) level is an option.\u00a0The SQL instances can be tied to specific hardware. Affinity rules\u00a0do need to be\u00a0setup to prevent\u00a0vMotion\u00a0moving the VM to another hardware host.\u00a0 In a HA situation using AOAG in a passive situation, the secondary SQL servers et al.\u00a0will require licencing. <strong>SQL Installation<\/strong>:\u00a0 I slipstream and automatically install SQL Server 2012.\u00a0 The checklist below lists the SQL features you can install.\u00a0 Determine your needs makes creating the config.ini files used by the install much easier to do.\u00a0 The example below is used to create both my primary SQL Server and the secondary (AOAG) server, they are identical.\u00a0 The choices are pretty standard, you may want to move the Reporting Services features to another server or remove if you are not using them.<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"292\"><strong>\u00a0Feature<\/strong><\/td>\n<td width=\"64\"><strong>\u00a0Install<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Database Engine Services<\/td>\n<td>Y<\/td>\n<\/tr>\n<tr>\n<td>SQL Server Replication<\/td>\n<td>Y<\/td>\n<\/tr>\n<tr>\n<td>Full-Text Search<\/td>\n<td>N<\/td>\n<\/tr>\n<tr>\n<td>Data Quality Service<\/td>\n<td>N<\/td>\n<\/tr>\n<tr>\n<td>Analysis Services<\/td>\n<td>N<\/td>\n<\/tr>\n<tr>\n<td>Reporting Services: Native<\/td>\n<td>N<\/td>\n<\/tr>\n<tr>\n<td>Reporting Services: SharePoint<\/td>\n<td>Y<\/td>\n<\/tr>\n<tr>\n<td>Reporting Services Add in for SharePoint<\/td>\n<td>Y<\/td>\n<\/tr>\n<tr>\n<td>Data Quality Client<\/td>\n<td>N<\/td>\n<\/tr>\n<tr>\n<td>SQL Server Data Tools<\/td>\n<td>N<\/td>\n<\/tr>\n<tr>\n<td>Integration Services<\/td>\n<td>Y<\/td>\n<\/tr>\n<tr>\n<td>Client Tools Connectivity<\/td>\n<td>Y<\/td>\n<\/tr>\n<tr>\n<td>Client Tools Backward Compatibility<\/td>\n<td>Y<\/td>\n<\/tr>\n<tr>\n<td>Client Tools SDK<\/td>\n<td>N<\/td>\n<\/tr>\n<tr>\n<td>Documentation Components<\/td>\n<td>N<\/td>\n<\/tr>\n<tr>\n<td>Management Tools Basic<\/td>\n<td>Y<\/td>\n<\/tr>\n<tr>\n<td>Management Tools Complete<\/td>\n<td>Y<\/td>\n<\/tr>\n<tr>\n<td>SQL Client Connectivity SDK<\/td>\n<td>N<\/td>\n<\/tr>\n<tr>\n<td>Master Data Services<\/td>\n<td>N<\/td>\n<\/tr>\n<tr>\n<td>Distributed Replay Controller<\/td>\n<td>N<\/td>\n<\/tr>\n<tr>\n<td>Distributed Replay Client<\/td>\n<td>N<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>More Info<\/strong>: <a href=\"http:\/\/yalla.itgroove.net\/2013\/03\/sql-server-powershell-sharepoint-set-autogrowth-on-content-dbs\/\">http:\/\/yalla.itgroove.net\/2013\/03\/sql-server-powershell-sharepoint-set-autogrowth-on-content-dbs\/<\/a> <a href=\"http:\/\/blog.cloudshare.com\/2013\/08\/28\/how-to-use-the-same-autogrowth-value-for-sharepoint-content-databases\/\">http:\/\/blog.cloudshare.com\/2013\/08\/28\/how-to-use-the-same-autogrowth-value-for-sharepoint-content-databases\/<\/a> <a href=\"http:\/\/technet.microsoft.com\/en-us\/library\/hh292622.aspx\">http:\/\/technet.microsoft.com\/en-us\/library\/hh292622.aspx<\/a> <a href=\"http:\/\/channel9.msdn.com\/Series\/Tuning-SQL-Server-2012-for-SharePoint-2013\/Tuning-SQL-Server-2012-for-SharePoint-2013-03-Server-Settings-for-SQL-Server\">http:\/\/channel9.msdn.com\/Series\/Tuning-SQL-Server-2012-for-SharePoint-2013\/Tuning-SQL-Server-2012-for-SharePoint-2013-03-Server-Settings-for-SQL-Server<\/a>\u00a0(Excellent) <a href=\"http:\/\/www.sqlskills.com\/blogs\/paul\/a-sql-server-dba-myth-a-day-1230-tempdb-should-always-have-one-data-file-per-processor-core\/\">http:\/\/www.sqlskills.com\/blogs\/paul\/a-sql-server-dba-myth-a-day-1230-tempdb-should-always-have-one-data-file-per-processor-core\/<\/a> <a href=\"http:\/\/www.brentozar.com\/blitz\/blitz-result-percent-growth-use\/\">http:\/\/www.brentozar.com\/blitz\/blitz-result-percent-growth-use\/<\/a> <a href=\"http:\/\/www.brentozar.com\/archive\/2008\/03\/sql-server-2005-setup-checklist-part-1-before-the-install\/\">http:\/\/www.brentozar.com\/archive\/2008\/03\/sql-server-2005-setup-checklist-part-1-before-the-install\/<\/a> <a href=\"http:\/\/www.sqlskills.com\/blogs\/kimberly\/8-steps-to-better-transaction-log-throughput\/\">http:\/\/www.sqlskills.com\/blogs\/kimberly\/8-steps-to-better-transaction-log-throughput\/<\/a> <a href=\"http:\/\/www.toddklindt.com\/default.aspx\">http:\/\/www.toddklindt.com\/default.aspx<\/a> <a href=\"http:\/\/technet.microsoft.com\/en-us\/library\/cc678868(v=office.15).aspx\">SharePoint database types and description<\/a><br \/>\n<strong>Thanks to<\/strong>: <span style=\"text-decoration: line-through;\">@<\/span>allanSQLIS &#8211; Allan Mitchell &#8211; great sitting next to a SQL\u00a0expert.<br \/>\nSteve Goodyear has a blog post on <a href=\"http:\/\/stevegoodyear.wordpress.com\/sharepoint-2013-build-guide\/\">Farm Install and build guide<\/a>.\u00a0 I haven&#8217;t used it but it is a good post to check you are ready for your install and you have done the big steps.<br \/>\n<strong>SQL Hardening:<\/strong> <strong>From <a href=\"http:\/\/blogs.technet.com\/b\/rycampbe\/archive\/2013\/10\/14\/securing-sharepoint-harden-sql-server-in-sharepoint-environments.aspx\">http:\/\/blogs.technet.com\/b\/rycampbe\/archive\/2013\/10\/14\/securing-sharepoint-harden-sql-server-in-sharepoint-environments.aspx<\/a><\/strong> Hardening SQL Server is done in a 3 phased approach:<\/p>\n<ol>\n<li>Encryption at Rest (Encrypt the data sitting on the hard drives)<\/li>\n<li>Encrypt Connections (Encrypt the data in flight on the network between servers)<\/li>\n<li>Server Isolation (Configure SQL Server&#8217;s firewall to ignore requests from unauthorized servers)<\/li>\n<\/ol>\n<p>Transparent Data Encryption (TDE) can be used to encrypt any SharePoint database.\u00a0 This will encrypt the mdf and ldf files, this ensures that even is the hard disk storage is comprimised, the mdf and ldf cannot be used to restore the databases using the SQL restore tools.\u00a0 There are a lot of ramifications to using TDE so review the decision to use TDE carefulkly before implementing.<\/p>\n<p>Lots of good blogs are gone so I am Reblogging \u00a0it from:\u00a0 http:\/\/blog.sharepointsite.co.uk\/2013\/10\/sql-server-2012-for-sharepoint-2013.html<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00a0 Use multiple: SQL Aliases (separate 1 for search). Dedicate SQL Server for SharePoint. Set max degree of parallelism (MAXDOP) to 1 for instances of SQL (SP will do this when SP is installed).\u00a0 Number of processes for each SQL statement. Mixed mode authentication &#8211; Don&#8217;t install SQL 2012 for SP in mixed mode auth [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/obieta.com\/index.php?rest_route=\/wp\/v2\/posts\/1826"}],"collection":[{"href":"https:\/\/obieta.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/obieta.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/obieta.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/obieta.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1826"}],"version-history":[{"count":0,"href":"https:\/\/obieta.com\/index.php?rest_route=\/wp\/v2\/posts\/1826\/revisions"}],"wp:attachment":[{"href":"https:\/\/obieta.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1826"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/obieta.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1826"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/obieta.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1826"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}