{"id":544,"date":"2018-07-18T11:31:01","date_gmt":"2018-07-18T10:31:01","guid":{"rendered":"https:\/\/sqldoubleg.live-website.com\/?p=544"},"modified":"2018-07-18T11:35:43","modified_gmt":"2018-07-18T10:35:43","slug":"sql-server-system-databases-101","status":"publish","type":"post","link":"https:\/\/www.sqldoubleg.com\/es\/2018\/07\/18\/sql-server-system-databases-101\/","title":{"rendered":"Bases de datos del sistema en SQL Server 101"},"content":{"rendered":"<p>En este post quiero dar una breve explicacion de que son las bases de datos del sistema y de que podemos o no hacer con ellas&nbsp;El otro d\u00eda antes de comenzar la \u00faltima reuni\u00f3n de mi grupo de usuarios de SQL, alguien cont\u00f3 la historia del nuevo DBA que estaba bromeando sobre ejecutar \u00abDROP DATABASE [master]\u00bb y hubo diferentes comentarios al respecto, desde caras de terror hasta risas.<\/p>\n<p>Pero eso me dio la idea para esta publicaci\u00f3n, en la que quiero hacer un breve resumen de las cosas que podemos hacer con las bases de datos del sistema o por el contrario, no estamos autorizados.<\/p>\n<p>&nbsp;<br \/>\n<strong>Bases de datos del sistema<\/strong><\/p>\n<p>Lo primero es lo primero, entonces vamos a ver cu\u00e1les son las bases de datos del sistema y cu\u00e1l es su funcionalidad.<\/p>\n<p>Cada instalaci\u00f3n de SQL Server viene con algunas bases de datos instaladas por defecto. Estas se pueden encontrar en SQL Server Management Studio en el Explorador de Objetos listado bajo la carpeta \u00abSystem Databases\u00bb<\/p>\n<p><a href=\"https:\/\/sqldoubleg.live-website.com\/wp-content\/uploads\/2018\/06\/01_system_databases_object_explorer.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/sqldoubleg.live-website.com\/wp-content\/uploads\/2018\/06\/01_system_databases_object_explorer.png\" alt=\"\" width=\"335\" height=\"202\" class=\"aligncenter size-full wp-image-547\" srcset=\"https:\/\/www.sqldoubleg.com\/wp-content\/uploads\/2018\/06\/01_system_databases_object_explorer.png 335w, https:\/\/www.sqldoubleg.com\/wp-content\/uploads\/2018\/06\/01_system_databases_object_explorer-300x181.png 300w, https:\/\/www.sqldoubleg.com\/wp-content\/uploads\/2018\/06\/01_system_databases_object_explorer-150x90.png 150w\" sizes=\"(max-width: 335px) 100vw, 335px\" \/><\/a> <\/p>\n<p>&nbsp;<br \/>\nAqu\u00ed podemos ver cuatro bases de datos, [maser], [model], [msdb] y [tempdb]. <\/p>\n<p>Cada uno de ellas cumple una funci\u00f3n en el motor de la base de datos, que<br \/>\nexplicar\u00e9 en un minuto.<\/p>\n<p>Hay otra base de datos que es incluso m\u00e1s especial, ya que ni siquiera se puede encontrar aqu\u00ed y no se puede acceder de la misma manera que las dem\u00e1s, que es la base de datos de recursos (mssqlsystemresource)<\/p>\n<p>&nbsp;<br \/>\n<strong>Para qu\u00e9 sirven las bases de datos del sistema<\/strong><\/p>\n<p>Como ya he dicho, cada base de datos del sistema tiene un prop\u00f3sito diferente, podemos ver la referencia completa en Libros en l\u00ednea, pero si te sientes perezoso, para eso estoy yo aqu\u00ed<\/p>\n<ul>\n<li><strong>master<\/strong>, registra informaci\u00f3n del nivel del sistema para una instancia de SQL Server, que incluye cuentas de inicio de sesi\u00f3n, puntos finales, servidores vinculados y configuraciones de configuraci\u00f3n del sistema<\/li>\n<li><strong>model<\/strong>, se utiliza como plantilla para todas las bases de datos creadas en la instancia de SQL Server. Las modificaciones realizadas en la base de datos modelo, como el tama\u00f1o de la base de datos, la intercalaci\u00f3n, el modelo de recuperaci\u00f3n y otras opciones de bases de datos, se aplican a las bases de datos creadas posteriormente<\/li>\n<li><strong>msdb<\/strong>, utilizado por el Agente de SQL Server para programar alertas y trabajos<\/li>\n<li><strong>tempdb<\/strong>, es un espacio de trabajo para almacenar objetos temporales o conjuntos de resultados intermedios<\/li>\n<li><strong>mssqlsystemresource<\/strong>, es una base de datos de solo lectura que contiene objetos del sistema que se incluyen con SQL Server. Los objetos del sistema se mantienen f\u00edsicamente en la base de datos de Recursos, pero aparecen l\u00f3gicamente en el esquema sys de cada base de datos.<\/li>\n<\/ul>\n<p>&nbsp;<br \/>\nEsta es una descripci\u00f3n de muy alto nivel de para qu\u00e9 sirven las bases de datos del sistema, as\u00ed que recomiendo leer m\u00e1s en <a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/relational-databases\/databases\/system-databases?view=sql-server-2017\" rel=\"noopener\" target=\"_blank\">Books online<\/a><\/p>\n<p>Pero el prop\u00f3sito de esta publicaci\u00f3n es enumerar lo que se puede o no se puede hacer con estas bases de datos del sistema y responder r\u00e1pidamente a la pregunta que se hizo, no, no se puede eliminar master &#8230; por suerte \ud83d\ude42<\/p>\n<p>La mayor\u00eda de las bases de datos tienen un patr\u00f3n similar, por lo que cualquier cosa que pueda comprometer todo el sistema, devolver\u00e1n un error.<\/p>\n<p>He encontrado que [msdb] parece ser m\u00e1s flexible y te permite hacer cosas que podr\u00edan ser realmente est\u00fapidas, como configurarla en solo lectura (READ_ONLY). Esto evitar\u00e1 que el Agente SQL se inicie y, si se est\u00e1 ejecutando, crear nuevos trabajos o incluso ejecutarlos.<\/p>\n<p>Tambi\u00e9n podemos agregar grupos de archivos y configurarlos para que sean los DEFAULT, no estoy seguro de por qu\u00e9 alguien querr\u00eda hacer eso, ya que no deber\u00edamos crear tablas de usuario en las bases de datos del sistema de todos modos.<\/p>\n<p>[tempdb], por ejemplo, no se puede hacer una copia de seguridad ni restaurar, lo que tiene sentido junto con cambiar el modelo de recuperaci\u00f3n o ejecutar ciertas comprobaciones de coherencia. Es bastante gracioso que puedas ejecutar CHECKDB pero no puedes ejecutar algunos de los comandos que se ejecutan dentro de \u00e9l, CHECKALLOC y CHECKCATALOG.<\/p>\n<p>La lista completa de cosas <strong>que no podemos hacer<\/strong> es la siguiente.<\/p>\n<style type=\"text\/css\">\ntable.tableizer-table {\n\tfont-size: 12px;\n\tborder: 1px solid #CCC; \n\tfont-family: Arial, Helvetica, sans-serif;\ntext-align:center;\nwidth:870px;<\/p>\n<p>} \n.tableizer-table td {\n\tpadding: 4px;\n\tmargin: 3px;\n\tborder: 1px solid #CCC;<\/p>\n<p>}\n.tableizer-table th {\n\tbackground-color: #104E8B; \n\tcolor: #FFF;\n\tfont-weight: bold;\nwidth:25%\n}\n<\/style>\n<p>&nbsp;<\/p>\n<table class=\"tableizer-table\">\n<thead>\n<tr class=\"tableizer-firstrow\">\n<th>tempdb<\/th>\n<th>master<\/th>\n<th>Model<\/th>\n<th>msdb<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td colspan=4>Cambiar intercalaciones. La intercalaci\u00f3n predeterminada es la intercalaci\u00f3n de servidor.<\/td>\n<\/tr>\n<tr>\n<td colspan=4>Eliminar la base de datos.<\/td>\n<\/tr>\n<tr>\n<td colspan=4>Eliminar el usuario guest de la base de datos.<\/td>\n<\/tr>\n<tr>\n<td colspan=4>Habilitar el mecanismo de captura de cambios en los datos.<\/td>\n<\/tr>\n<tr>\n<td colspan=4>Participar en el reflejo de la base de datos (mirroring).<\/td>\n<\/tr>\n<tr>\n<td colspan=4>Quitar el grupo de archivos principal, el archivo de datos principal o el archivo de registro.<\/td>\n<\/tr>\n<tr>\n<td colspan=4>Cambiar el nombre de la base de datos o del grupo de archivos principal.<\/td>\n<\/tr>\n<tr>\n<td colspan=4>Establecer la base de datos en OFFLINE.<\/td>\n<\/tr>\n<tr>\n<td colspan=4>Establecer la base de datos o el grupo de archivos principal en READ_ONLY.<\/td>\n<\/tr>\n<tr>\n<td colspan=3>Agregar archivos o grupos de archivos.<\/td>\n<td>X<\/td>\n<\/tr>\n<tr>\n<td colspan=3>Cambiar el propietario de la base de datos. Por defecto sa<\/td>\n<td>X<\/td>\n<\/tr>\n<tr>\n<td>Realizar una copia de seguridad o restaurar la base de datos.<\/td>\n<td>Crear un cat\u00e1logo de texto completo o un \u00edndice de texto completo.<\/td>\n<td>Crear procedimientos, vistas, o desencadenadores utilizando la opci\u00f3n WITH ENCRYPTION. La clave de cifrado est\u00e1 asociada a la base de datos en la que se crea el objeto. Los objetos cifrados creados en la base de datos modelo solo se pueden usar en model.<\/td>\n<td>X<\/td>\n<\/tr>\n<tr>\n<td>Crear una instant\u00e1nea de base de datos.<\/td>\n<td>Crear desencadenadores en las tablas del sistema de la base de datos.<\/td>\n<td>X<\/td>\n<td>X<\/td>\n<\/tr>\n<tr>\n<td>Ejecutar DBCC CHECKALLOC.<\/td>\n<td>X<\/td>\n<td>X<\/td>\n<td>X<\/td>\n<\/tr>\n<tr>\n<td>Ejecutar DBCC CHECKCATALOG.<\/td>\n<td>X<\/td>\n<td>X<\/td>\n<td>X<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<br \/>\nAdem\u00e1s, cada base de datos viene con configuraciones predeterminadas que se pueden cambiar o no, seg\u00fan la base de datos en que nos encontremos.<\/p>\n<p>Aqu\u00ed encuentro m\u00e1s flexibilidad en [model], porque es la plantilla para cada base de datos que se cree sin especificar ninguna configuraci\u00f3n, por lo que nos permite personalizar nuevas bases de datos. Pero para ser sincero, creo que cada base de datos debe personalizarse de acuerdo con sus requisitos espec\u00edficos, por lo que cada configuraci\u00f3n predeterminada ser\u00eda tan mala como las que se obtienen al salir de la caja.<\/p>\n<table class=\"tableizer-table\" style=\"font-size:10px\">\n<thead>\n<tr class=\"tableizer-firstrow\">\n<th><\/th>\n<th colspan=2>master<\/th>\n<th colspan=2>msdb<\/th>\n<th colspan=2>model<\/th>\n<th colspan=2>tempdb<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Database option<\/td>\n<td>Valor por defecto<\/td>\n<td>Se puede modificar<\/td>\n<td>Valor por defecto<\/td>\n<td>Se puede modificar<\/td>\n<td>Valor por defecto<\/td>\n<td>Se puede modificar<\/td>\n<td>Valor por defecto<\/td>\n<td>Se puede modificar<\/td>\n<\/tr>\n<tr>\n<td>ALLOW_SNAPSHOT_ISOLATION<\/td>\n<td>ON<\/td>\n<td>No<\/td>\n<td>ON<\/td>\n<td>No<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<\/tr>\n<tr>\n<td>ANSI_NULL_DEFAULT<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<\/tr>\n<tr>\n<td>ANSI_NULLS<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<\/tr>\n<tr>\n<td>ANSI_PADDING<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<\/tr>\n<tr>\n<td>ANSI_WARNINGS<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<\/tr>\n<tr>\n<td>ARITHABORT<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<\/tr>\n<tr>\n<td>AUTO_CLOSE<\/td>\n<td>OFF<\/td>\n<td>No<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>No<\/td>\n<\/tr>\n<tr>\n<td>AUTO_CREATE_STATISTICS<\/td>\n<td>ON<\/td>\n<td>Si<\/td>\n<td>ON<\/td>\n<td>Si<\/td>\n<td>ON<\/td>\n<td>Si<\/td>\n<td>ON<\/td>\n<td>Si<\/td>\n<\/tr>\n<tr>\n<td>AUTO_SHRINK<\/td>\n<td>OFF<\/td>\n<td>No<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>No<\/td>\n<\/tr>\n<tr>\n<td>AUTO_UPDATE_STATISTICS<\/td>\n<td>ON<\/td>\n<td>Si<\/td>\n<td>ON<\/td>\n<td>Si<\/td>\n<td>ON<\/td>\n<td>Si<\/td>\n<td>ON<\/td>\n<td>Si<\/td>\n<\/tr>\n<tr>\n<td>AUTO_UPDATE_STATISTICS_ASYNC<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<\/tr>\n<tr>\n<td>CHANGE_TRACKING<\/td>\n<td>OFF<\/td>\n<td>No<\/td>\n<td>OFF<\/td>\n<td>No<\/td>\n<td>OFF<\/td>\n<td>No<\/td>\n<td>OFF<\/td>\n<td>No<\/td>\n<\/tr>\n<tr>\n<td>CONCAT_NULL_YIELDS_NULL<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<\/tr>\n<tr>\n<td>CURSOR_CLOSE_ON_COMMIT<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<\/tr>\n<tr>\n<td>CURSOR_DEFAULT<\/td>\n<td>GLOBAL<\/td>\n<td>Si<\/td>\n<td>GLOBAL<\/td>\n<td>Si<\/td>\n<td>GLOBAL<\/td>\n<td>Si<\/td>\n<td>GLOBAL<\/td>\n<td>Si<\/td>\n<\/tr>\n<tr>\n<td>Database Availability Options<\/td>\n<td>ONLINE<\/td>\n<td>No<\/td>\n<td>ONLINE<\/td>\n<td>No<\/td>\n<td>ONLINE<\/td>\n<td>No<\/td>\n<td>ONLINE<\/td>\n<td>No<\/td>\n<\/tr>\n<tr>\n<td>&nbsp;<\/td>\n<td>MULTI_USER<\/td>\n<td>No<\/td>\n<td>MULTI_USER<\/td>\n<td>Si<\/td>\n<td>MULTI_USER<\/td>\n<td>Si<\/td>\n<td>MULTI_USER<\/td>\n<td>No<\/td>\n<\/tr>\n<tr>\n<td>&nbsp;<\/td>\n<td>READ_WRITE<\/td>\n<td>No<\/td>\n<td>READ_WRITE<\/td>\n<td>Si<\/td>\n<td>READ_WRITE<\/td>\n<td>Si<\/td>\n<td>READ_WRITE<\/td>\n<td>No<\/td>\n<\/tr>\n<tr>\n<td>DATE_CORRELATION_OPTIMIZATION<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<\/tr>\n<tr>\n<td>DB_CHAINING<\/td>\n<td>ON<\/td>\n<td>No<\/td>\n<td>ON<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>No<\/td>\n<td>ON<\/td>\n<td>No<\/td>\n<\/tr>\n<tr>\n<td>ENCRYPTION<\/td>\n<td>OFF<\/td>\n<td>No<\/td>\n<td>OFF<\/td>\n<td>No<\/td>\n<td>OFF<\/td>\n<td>No<\/td>\n<td>OFF<\/td>\n<td>No<\/td>\n<\/tr>\n<tr>\n<td>MIXED_PAGE_ALLOCATION<\/td>\n<td>ON<\/td>\n<td>No<\/td>\n<td>ON<\/td>\n<td>No<\/td>\n<td>ON<\/td>\n<td>No<\/td>\n<td>OFF<\/td>\n<td>No<\/td>\n<\/tr>\n<tr>\n<td>NUMERIC_ROUNDABORT<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<\/tr>\n<tr>\n<td>PAGE_VERIFY<\/td>\n<td>CHECKSUM<\/td>\n<td>Si<\/td>\n<td>CHECKSUM<\/td>\n<td>Si<\/td>\n<td>CHECKSUM<\/td>\n<td>Si<\/td>\n<td>CHECKSUM for new installations of SQL Server.\/NONE for upgrades of SQL Server.<\/td>\n<td>Si<\/td>\n<\/tr>\n<tr>\n<td>PARAMETERIZATION<\/td>\n<td>SIMPLE<\/td>\n<td>Si<\/td>\n<td>SIMPLE<\/td>\n<td>Si<\/td>\n<td>SIMPLE<\/td>\n<td>Si<\/td>\n<td>SIMPLE<\/td>\n<td>Si<\/td>\n<\/tr>\n<tr>\n<td>QUOTED_IDENTIFIER<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<\/tr>\n<tr>\n<td>READ_COMMITTED_SNAPSHOT<\/td>\n<td>OFF<\/td>\n<td>No<\/td>\n<td>OFF<\/td>\n<td>No<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>No<\/td>\n<\/tr>\n<tr>\n<td>RECOVERY<\/td>\n<td>SIMPLE<\/td>\n<td>Si<\/td>\n<td>SIMPLE<\/td>\n<td>Si<\/td>\n<td>Depends on SQL Server edition*<\/td>\n<td>Si<\/td>\n<td>SIMPLE<\/td>\n<td>No<\/td>\n<\/tr>\n<tr>\n<td>RECURSIVE_TRIGGERS<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<\/tr>\n<tr>\n<td>Service Broker Options<\/td>\n<td>DISABLE_BROKER<\/td>\n<td>No<\/td>\n<td>ENABLE_BROKER<\/td>\n<td>Si<\/td>\n<td>DISABLE_BROKER<\/td>\n<td>No<\/td>\n<td>ENABLE_BROKER<\/td>\n<td>Si<\/td>\n<\/tr>\n<tr>\n<td>TRUSTWORTHY<\/td>\n<td>OFF<\/td>\n<td>Si<\/td>\n<td>ON<\/td>\n<td>Si<\/td>\n<td>OFF<\/td>\n<td>No<\/td>\n<td>OFF<\/td>\n<td>No<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<br \/>\n<strong>Copias de seguridad y restauraci\u00f3n de bases de datos del sistema<\/strong><\/p>\n<p>No quiero terminar esta publicaci\u00f3n sin tener una menci\u00f3n especial al proceso de copia de seguridad y restauraci\u00f3n.<\/p>\n<p>La copia de seguridad de las bases de datos del sistema (excepto [tempdb] y Resource) es como cualquier otra base de datos y se recomienda encarecidamente.<\/p>\n<p>Para restaurar las bases de datos del sistema tenemos en un lado [model] y [msdb] que pueden restaurarse como cualquier otra base de datos de usuario porque no hay requisitos especiales, [tempdb] no se puede copiar o restaurar, por lo que solo nos queda, [master] y [Resource].<\/p>\n<p>Para restaurar [master], necesitamos iniciar SQL Server en modo de usuario \u00fanico antes de intentarlo, el proceso se explica en<a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/relational-databases\/backup-restore\/restore-the-master-database-transact-sql?view=sql-server-2017\" rel=\"noopener\" target=\"_blank\">Books Online<\/a> as\u00ed que no voy a dedicar tiempo en ello, pero recomiendo intentarlo en un entorno que no sea de producci\u00f3n y practicar por si alg\u00fan d\u00eda lo necesiteis.<\/p>\n<p>Y finalmente, la base de datos de [Resource] que, al no ser accesible como las dem\u00e1s, <a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/relational-databases\/databases\/resource-database?view=sql-server-2017#backing-up-and-restoring-the-resource-database\" rel=\"noopener\" target=\"_blank\"> no se puede restaurar como los dem\u00e1s<\/a>. Se puede realizar una copia de seguridad de esta base de datos y restaurarla como cualquier archivo en Windows, por lo que debemos detener SQL Server para que poder reemplazarla con la copia del archivo tomada anteriormente; de lo contrario, obtendremos un error.<\/p>\n<p><a href=\"https:\/\/sqldoubleg.live-website.com\/wp-content\/uploads\/2018\/07\/02_resource_error.png\" target=\"blank\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/sqldoubleg.live-website.com\/wp-content\/uploads\/2018\/07\/02_resource_error.png\" alt=\"\" width=\"449\" height=\"268\" class=\"aligncenter size-full wp-image-548\" srcset=\"https:\/\/www.sqldoubleg.com\/wp-content\/uploads\/2018\/07\/02_resource_error.png 449w, https:\/\/www.sqldoubleg.com\/wp-content\/uploads\/2018\/07\/02_resource_error-300x179.png 300w, https:\/\/www.sqldoubleg.com\/wp-content\/uploads\/2018\/07\/02_resource_error-150x90.png 150w\" sizes=\"(max-width: 449px) 100vw, 449px\" \/><\/a><\/p>\n<p>&nbsp;<br \/>\n<strong>Conclusi\u00f3n<\/strong><\/p>\n<p>Las bases de datos del sistema son vitales para el correcto funcionamiento de cada instancia de SQL Server y cada una de ellas cumple una funci\u00f3n.<\/p>\n<p>La recomendaci\u00f3n es que llevemos un mantenimiento como cualquier otra base de datos de usuario en t\u00e9rminos de realizaci\u00f3n de copias de seguridad, comprobaciones de consistencia, etc., y no recomendar\u00eda crear tablas de usuario o procedimientos (o funciones) all\u00ed. S\u00e9 que muchos scripts de la comunidad usan por defecto [master] pero, en su lugar, deber\u00edamos tener una base de datos DBA dedicada para el mantenimiento del servidor y las bases de datos.<\/p>\n<p>Espero que esto os haya parecido interesante y, si ten\u00e9is alguna pregunta, utilizad la caja de comentarios.<\/p>\n<p>\u00a1Gracias!<br \/>\n&nbsp;<\/p>\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>En este post quiero dar una breve explicacion de que son las bases de datos del sistema y de que podemos o no hacer con ellas&nbsp;El otro d\u00eda antes de comenzar la&#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],"tags":[5,88],"_links":{"self":[{"href":"https:\/\/www.sqldoubleg.com\/es\/wp-json\/wp\/v2\/posts\/544"}],"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=544"}],"version-history":[{"count":0,"href":"https:\/\/www.sqldoubleg.com\/es\/wp-json\/wp\/v2\/posts\/544\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.sqldoubleg.com\/es\/wp-json\/wp\/v2\/media?parent=544"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sqldoubleg.com\/es\/wp-json\/wp\/v2\/categories?post=544"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sqldoubleg.com\/es\/wp-json\/wp\/v2\/tags?post=544"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}