SQL Server does not support users directly updating the information in system objects such as system tables, system stored procedures, and catalog views. Instead, SQL Server provides a complete set of administrative tools that let users fully administer their system and manage all users and objects in a database. These include the following:
-
Administration utilities, such as SQL Server Management Studio.
-
SQL-SMO API. This lets programmers include complete functionality for administering SQL Server in their applications.
-
Transact-SQL scripts and stored procedures. These can use system stored procedures and Transact-SQL DDL statements.
These tools shield applications from changes in the system objects. For example, SQL Server sometimes has to change the system tables in new versions of SQL Server to support new functionality that is being added in that version. Applications issuing SELECT statements that directly reference system tables are frequently dependent on the old format of the system tables. Sites may not be able to upgrade to a new version of SQL Server until they have rewritten applications that are selecting from system tables. SQL Server considers the system stored procedures, DDL, and SQL-SMO published interfaces, and works to maintain the backward compatibility of these interfaces.
SQL Server does not support triggers defined on the system tables, because they might modify the operation of the system.