Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
Azure SQL Managed Instance
Las tablas base del sistema son las tablas subyacentes que almacenan los metadatos para una base de datos específica. La master base de datos es especial en este sentido porque contiene algunas tablas adicionales que no se encuentran en ninguna de las otras bases de datos. Estas tablas contienen metadatos persistentes con un ámbito para todo el servidor.
Importante
Las tablas base del sistema solo se usan en el motor de base de datos de SQL Server y no son para uso general del cliente. Las tablas base del sistema están sujetas a cambios y no se garantiza la compatibilidad.
Metadatos de la tabla base del sistema
Un receptor que tenga CONTROLpermiso , ALTERo VIEW DEFINITION en una base de datos puede ver los metadatos de la tabla base del sistema en la vista de sys.objects catálogo. El receptor también puede resolver los nombres y los identificadores de objeto de las tablas base del sistema mediante funciones integradas, como OBJECT_NAME y OBJECT_ID.
Para enlazar a una tabla base del sistema, un usuario debe conectarse a la instancia de SQL Server mediante la conexión de administrador dedicada (DAC). Al intentar ejecutar una consulta desde una SELECT tabla base del sistema sin conectarse mediante DAC, se produce un error.
Importante
El acceso a las tablas base del sistema mediante DAC solo está diseñado para el personal de Microsoft y no es un escenario de cliente compatible.
Tablas base del sistema
En la tabla siguiente se enumeran y describen cada tabla base del sistema en SQL Server.
| Tabla base | Descripción |
|---|---|
sys.sysschobjs |
Existe en todas las bases de datos. Cada fila representa un objeto en la base de datos. |
sys.sysbinobjs |
Existe en todas las bases de datos. Contiene una fila para cada entidad de Service Broker en la base de datos. Las entidades de Service Broker incluyen los siguientes objetos: Tipo de mensaje Contrato de servicio Servicio Los nombres y tipos utilizan intercalación binaria fija. |
sys.sysclsobjs |
Existe en todas las bases de datos. Contiene una fila para cada entidad clasificada que comparte las mismas propiedades comunes que incluyen los siguientes objetos: Ensamblado Dispositivo de copia de seguridad Catálogo de texto completo Función de partición Esquema de partición Grupo de archivos Clave de ofuscación Esquema |
sys.sysnsobjs |
Existe en todas las bases de datos. Contiene una fila para cada entidad centrada en el espacio de nombres. Esta tabla se usa para almacenar entidades de la colección de XML. |
sys.syscolpars |
Existe en todas las bases de datos. Contiene una fila para cada columna en una tabla, vista o función con valores de tabla. También contiene las filas para cada parámetro de un procedimiento o función. |
sys.systypedsubobjs |
Existe en todas las bases de datos. Contiene una fila para cada subentidad escrita. Solo se incluyen en esta categoría los parámetros de la función de partición. |
sys.sysidxstats |
Existe en todas las bases de datos. Contiene una fila para cada índice o estadísticas para tablas y vistas indizadas Nota: Cada índice (excepto el montón) está asociado a una estadística que tiene el mismo nombre que el índice. |
sys.sysiscols |
Existe en todas las bases de datos. Contiene una fila para cada índice persistente y para columna de estadísticas. |
sys.sysscalartypes |
Existe en todas las bases de datos. Contiene una fila por cada tipo de sistema o cada tipo definido por el usuario. |
sys.sysdbreg |
Solo existe en la master base de datos. Contiene una fila por cada base de datos registrada. |
sys.sysxsrvs |
Solo existe en la master base de datos. Contiene una fila para cada servidor local, vinculado o remoto. |
sys.sysrmtlgns |
Esta tabla base del sistema solo existe en la master base de datos. Contiene una fila para cada asignación de inicio de sesión remota. Se utiliza para asignar inicios de sesión entrantes originados en el servidor correspondiente para un inicio de sesión local real. |
sys.syslnklgns |
Solo existe en la master base de datos. Contiene una fila para cada asignación de inicio de sesión vinculada. Las llamadas a procedimiento remoto y las consultas distribuidas que proceden de un servidor local fuera de un servidor vinculado correspondiente utilizan las asignaciones de inicio de sesión vinculadas. |
sys.sysxlgns |
Solo existe en la master base de datos. Contiene una fila para cada entidad de seguridad de servidor. |
sys.sysdbfiles |
Existe en todas las bases de datos. Si la columna dbid es cero, la fila representa un archivo que pertenece a esta base de datos. En la master base de datos, la columna dbid puede ser distinto de cero. Cuando eso ocurra, la fila representará un archivo maestro. |
sys.sysusermsg |
Solo existe en la master base de datos. Cada fila representa un mensaje de error definido por el usuario. |
sys.sysprivs |
Existe en todas las bases de datos. Contiene una fila para cada permiso de base de datos o de servidor. Nota: Los permisos de nivel de servidor se almacenan en la master base de datos. |
sys.sysowners |
Existe en todas las bases de datos. Cada fila representa una entidad de base de datos. |
sys.sysobjkeycrypts |
Existe en todas las bases de datos. Contiene una fila para cada clave simétrica, cifrado o propiedad criptográfica asociada a un objeto. |
sys.syscerts |
Existe en todas las bases de datos. Contiene una fila para cada certificado en una base de datos. |
sys.sysasymkeys |
Existe en todas las bases de datos. Cada fila representa una clave asimétrica. |
sys.ftinds |
Existe en todas las bases de datos. Contiene una fila para cada índice de texto completo de la base de datos. |
sys.sysxprops |
Existe en todas las bases de datos. Contiene una fila para cada propiedad extendida. |
sys.sysallocunits |
Existe en todas las bases de datos. Contiene una fila para cada unidad de asignación de almacenamiento. |
sys.sysrowsets |
Existe en todas las bases de datos. Contiene una fila para cada conjunto de filas de particiones para un índice o montón. |
sys.sysrowsetrefs |
Existe en todas las bases de datos. Contiene una fila para cada índice de la referencia del conjunto de filas. |
sys.syslogshippers |
Solo existe en la master base de datos. Contiene una fila para cada testigo de creación de reflejo de la base de datos. |
sys.sysremsvcbinds |
Existe en todas las bases de datos. Contiene una fila para cada enlace de servicio remoto. |
sys.sysconvgroup |
Existe en todas las bases de datos. Contiene una fila para cada instancia de servicio de Service Broker. |
sys.sysxmitqueue |
Existe en todas las bases de datos. Contiene una fila por cada cola de transmisión de Service Broker. |
sys.sysdesend |
Existe en todas las bases de datos. Contiene una fila para cada extremo de envío de una conversación de Service Broker. |
sys.sysdercv |
Existe en todas las bases de datos. Contiene una fila para cada extremo de recepción de una conversación de Service Broker. |
sys.sysendpts |
Solo existe en la master base de datos. Contiene una fila para cada extremo creado en el servidor. |
sys.syswebmethods |
Solo existe en la master base de datos. Contiene una fila para cada método SOAP definido en un extremo HTTP habilitado por SOAP que se crea en el servidor. |
sys.sysqnames |
Existe en todas las bases de datos. Contiene una fila para cada espacio de nombres o nombre completo de un token del identificador de 4 bytes. |
sys.sysxmlcomponent |
Existe en todas las bases de datos. Cada fila representa un componente de esquema XML. |
sys.sysxmlfacet |
Existe en todas las bases de datos. Contiene una fila para cada aspecto de XML (restricción) de definición de tipo de XML. |
sys.sysxmlplacement |
Existe en todas las bases de datos. Contiene una fila para cada ubicación XML de componentes XML. |
sys.syssingleobjrefs |
Existe en todas las bases de datos. Contiene una fila para cada referencia general N a 1. |
sys.sysmultiobjrefs |
Existe en todas las bases de datos. Contiene una fila para cada referencia general N a N. |
sys.sysobjvalues |
Existe en todas las bases de datos. Contiene una fila para cada propiedad de valor general de una entidad. |
sys.sysguidrefs |
Existe en todas las bases de datos. Contiene una fila para cada referencia del identificador clasificado por GUID. |
Actualización de las tablas base del sistema
Puede ver los datos de las tablas del sistema mediante las vistas de catálogo del sistema. Para actualizar los metadatos de una tabla base del sistema, use la interfaz de Transact-SQL adecuada (por ejemplo, instrucciones DDL). No se pueden actualizar manualmente las tablas del sistema. SQL Server notifica los mensajes siguientes al realizar actualizaciones directas en las tablas del sistema.
Una tabla del sistema se actualiza manualmente.
Msg 17659: Warning: System table ID <id> has been updated directly in database ID <id> and cache coherence may not have been maintained. SQL Server should be restarted.
Iniciar una base de datos con una tabla del sistema que se actualizó manualmente
Msg 3859: Warning: The system catalog was updated directly in database ID 17, most recently at date_time.
Ejecute el comando DBCC_CHECKDB después de actualizar manualmente una tabla del sistema.
Msg 3859: Warning: The system catalog was updated directly in database ID 17, most recently at date_time.
Si realiza actualizaciones manuales en una tabla del sistema y encuentra un problema, es posible que se le pida que restaure desde una copia de seguridad o copie los datos de la base de datos afectada a una nueva base de datos. Para obtener más información, consulte acciones de usuario para MSSQLSERVER_8992.