Database: Database is like a place holder to
store the data. The data will be stored in the defined order. Any server may contain more than one database
to store different kinds of data based on the requirement.
A database is a collection of objects like
schemas, tables, views, functions, stored procedures etc. A database can
contain more than one table and a table contains a
collection of rows, also referred to as records or tuples, and columns, also
referred to as attributes. Each column in the table is designed to store a
certain type of information, for example, dates, names, dollar amounts, and
numbers.
MSDB: The msdb database is used by SQL Server Agent for scheduling alerts and jobs and by other features such as SQL Server Management Studio, Service Broker and Database Mail. SQL Server automatically maintains a complete online backup-and-restore history within tables in msdb
Model: The model database is used as the template for all databases created on an instance of SQL Server. When a CREATE DATABASE statement is issued, the first part of the database is created by copying in the contents of the model database. The rest of the new database is then filled with empty pages.
TempDB: The tempdb system database is a global resource that is available to all users connected to the instance of SQL Server and is used to hold the following:
Resource: The Resource database is a read-only database that contains all the system objects that are included with SQL Server. SQL Server system objects, such as sys.objects, are physically persisted in the Resource database, but they logically appear in the sys schema of every database. The Resource database does not contain user data or user metadata.
There are two categories of databases in SQL
Server.
1.
System databases
2.
User defined databases
System databases: contains information about
the different components, logins, objects in databases and databases.
The following databases are the system
databases:
Master, Model, MSDB, Resource and TEMPDB
Master: The master database records all the system-level
information. This includes instance-wide metadata such as logon accounts,
endpoints linked servers and system configuration settings.
The following operations cannot be performed
on the Master database.
- Adding files or filegroups.
- Changing collation. The default collation is the server collation.
- Changing the database owner. master is owned by dbo.
- Creating a full-text catalog or full-text index.
- Creating triggers on system tables in the database.
- Dropping the database.
- Dropping the guest user from the database.
- Enabling change data capture.
- Participating in database mirroring.
- Removing the primary filegroup, primary data file, or log file.
- Renaming the database or primary filegroup.
- Setting the database to OFFLINE.
- Setting the database or primary filegroup to READ_ONLY.
MSDB: The msdb database is used by SQL Server Agent for scheduling alerts and jobs and by other features such as SQL Server Management Studio, Service Broker and Database Mail. SQL Server automatically maintains a complete online backup-and-restore history within tables in msdb
The following
operations cannot be performed on the msdb database:
- Changing collation. The default collation is the server collation.
- Dropping the database.
- Dropping the guest user from the database.
- Enabling change data capture.
- Participating in database mirroring.
- Removing the primary filegroup, primary data file, or log file.
- Renaming the database or primary filegroup.
- Setting the database to OFFLINE.
- Setting the primary filegroup to READ_ONLY.
Model: The model database is used as the template for all databases created on an instance of SQL Server. When a CREATE DATABASE statement is issued, the first part of the database is created by copying in the contents of the model database. The rest of the new database is then filled with empty pages.
If you modify the model database, all databases created
afterward will inherit those changes. For example, you could set permissions or
database options, or add objects such as tables, functions, or stored
procedures.
And tempdb is created every
time SQL Server is started, the model database must always exist on a SQL
Server system. The entire contents of the model database, including database options,
are copied to the new database. Some of the settings of model are also used for creating a new tempdb during start up, so the model database must always exist on
a SQL Server system.
The following
operations cannot be performed on the model database:
- Adding files or filegroups.
- Changing collation. The default collation is the server collation.
- Changing the database owner. model is owned by dbo.
- Dropping the database.
- Dropping the guest user from the database.
- Enabling change data capture.
- Participating in database mirroring.
- Removing the primary filegroup, primary data file, or log file.
- Renaming the database or primary filegroup.
- Setting the database to OFFLINE.
- Setting the primary filegroup to READ_ONLY.
- Creating procedures, views, or triggers using the WITH ENCRYPTION option. The encryption key is tied to the database in which the object is created. Encrypted objects created in the model database can only be used in model.
TempDB: The tempdb system database is a global resource that is available to all users connected to the instance of SQL Server and is used to hold the following:
- Temporary user objects that are explicitly created, such as: global or local temporary tables, temporary stored procedures, table variables, or cursors.
- Internal objects that are created by the SQL Server Database Engine, for example, work tables to store intermediate results for spools or sorting.
- Row versions that are generated by data modification transactions in a database that uses read-committed using row versioning isolation or snapshot isolation transactions.
- Row versions that are generated by data modification transactions for features, such as: online index operations, Multiple Active Result Sets (MARS), and AFTER triggers.
- Adding filegroups.
- Backing up or restoring the database.
- Changing collation. The default collation is the server collation.
- Changing the database owner. tempdb is owned by dbo.
- Creating a database snapshot.
- Dropping the database.
- Dropping the guest user from the database.
- Enabling change data capture.
- Participating in database mirroring.
- Removing the primary filegroup, primary data file, or log file.
- Renaming the database or primary filegroup.
- Running DBCC CHECKALLOC.
- Running DBCC CHECKCATALOG.
- Setting the database to OFFLINE.
- Setting the database or primary filegroup to READ_ONLY.
Resource: The Resource database is a read-only database that contains all the system objects that are included with SQL Server. SQL Server system objects, such as sys.objects, are physically persisted in the Resource database, but they logically appear in the sys schema of every database. The Resource database does not contain user data or user metadata.
The Resource database makes upgrading to a new
version of SQL Server an easier and faster procedure. In earlier versions of
SQL Server, upgrading required dropping and creating system objects. Because
the Resource database file contains all system objects, an upgrade is now
accomplished simply by copying the single Resource database file to the local
server.
The physical file names of the
Resource database are mssqlsystemresource.mdf and mssqlsystemresource.ldf.
These files are located in <drive>:\Program
Files\Microsoft SQL Server\MSSQL11.<instance_name>\MSSQL\Binn\.
Each instance of SQL Server has one and only one associated
mssqlsystemresource.mdf file, and instances do not share this file.
SQL Server cannot back up the
Resource database. You can perform your own file-based or a disk-based backup
by treating the mssqlsystemresource.mdf file as if it were a binary (.EXE)
file, rather than a database file, but you cannot use SQL Server to restore
your backups. Restoring a backup copy of mssqlsystemresource.mdf can only be
done manually, and you must be careful not to overwrite the current Resource
database with an out-of-date or potentially insecure version.
The Resource database should
only be modified by or at the direction of a Microsoft Customer Support
Services (CSS) specialist. The ID of the Resource database is always 32767.
Other important values associated with the Resource database are the version
number and the last time that the database was updated.
To determine the version
number of the Resource database,
use:
SELECT
SERVERPROPERTY('ResourceVersion');
GO
To determine when the Resource database was
last updated, use:
SELECT
SERVERPROPERTY('ResourceLastUpdateDateTime');
GO
To access SQL
definitions of system objects, use the OBJECT_DEFINITION function:
SELECT
OBJECT_DEFINITION(OBJECT_ID('sys.objects'));
GO
Thanks for
following this blog. Please comment on this post if have any questions and
suggestions.
No comments:
Post a Comment