SQL Server 2000 introduced the concept of a extended properties for SQL Server Objects (both below
and at the database level.) This allows for custom name and value pairs to be attributed to
database objects. There are many uses for these properties such as self documentation and control of maintenance (like index maintenance or backups). However, our focus is on Database Level properties for the purpose of self describing.
My approach was to standardize the properties for describing the database into a policy covering both some mandatory and options properties. By formulating them, there purpose and name was clear. This formed a standard that I was able to roll-out and measure our compliance across all the databases.
Before I go through the properties I defined, it is important to note that I also encouraged developers to implement their own extended properties.
Mandatory Properties
These properties must be defined against all user databases within the production environment.Authorisers
A semi comma separated list of email addresses authorized to make decisions on behalf of the database.(such as authorizing changers or permissions.) This is probably the most important property as it defines the data owners. Note that I allow for more than one data owner for a database.
DatabaseType
Identifies the functional purpose of the database. Valid values are: Internal Utility, Internal System, CustomerSystem.
Description
A description of the databases purpose and function.NotificationList
A semi comma separated list of email addresses to be notified in the event of outages or system wideconfiguration changers.
ProjectName
A descriptive and meaningful name of the project.Optional Properties
These properties are considered optional.ApplicationName
Name of the application.ApplicationServers
A comma separated list of Application/Web Servers.ApplicationURL
A comma separated list of associated URL’s.BusinessOwner
The email address of the person(s) considered to be business owner and able to manage clientcommunication.
Clients
A list of clients utilizing the service.MaintenanceWindowDays
Day of week restrictions for the maintenance window. Values can be:Sun,Mon,Tue,Wed,Thu,Fri,Sat,WD,WE,Any (comma separated for multiples)
MaintenanceWindowDuration
Duration of time allowed for the maintenance window. (formatted [d.]hh:mm)MaintenanceWindowStart
Time of from which planned maintenance is acceptable. (formatted hh:mm:ss)Platform
Used to signify a base platform (I.E. Liferay, DNN etc)ProjectNumber
The internal project number assigned to the project.ReviewDate
A date when the database should be reviewed for either archive or a new review date set. (formatted yyyymmdd)RTO
The Recovery Time Objective for the database (formatted [d.]hh:mm:ss)RPO
The Recovery Point Objective for the database (formatted [d.]hh:mm:ss)SecurityClassification
The security classification of the database: Public, Internal, Confidential, Strictly ConfidentialTechnicalLead
The email address of the person(s) considered to be technical lead and able to answertechnical questions about the database/project.
Version
A version identifier (preferably using a dot notation such as 1.2 or 2.1.2)Some self criticism
Email Addresses - The use of Email Addresses for specifying people can make it awkward to identify people. However, the decision was made to allow automation notification of emails.Offline Availability - By using extended properties, the information is only available when the database is online and accessible. This can be a problem when your dealing with an outage and want to notify all the database notification lists.
No comments:
Post a Comment