Mapping database users to operating system users in a computer schema6816869Abstract Described above is a schema extension of the Common Information Model (CIM), designed to model manageable aspects of a database server such as a Structure Query Language (SQL) server. The database schema contains a view of user-related classes of the operating system schema. These classes are in a different namespace than the database schema. The database schema includes associations between its user-related classes and the user-related classes of the operating system. These associations map database users to operating system users. Claims What is claimed is: Description TECHNICAL FIELD
Value Description
0 Unknown
60 SQL Server 6.0
65 SQL Server 6.5
70 SQL Server 7.0
80 SQL Server 2000
datetime CreateDate Access Type: Read-only Description: The CreateDate property indicates the time and date on which the database was created. Note that creation date may be different from the install date in cases where the object is created in one place and then installed elsewhere. boolean CreateForAttach Access Type: Read-only Description: The CreateForAttach property controls database file creation and specifies whether a database is attached from an existing set of operating system files. uint32 DatabaseStatus Access Type: Read-only Description: The DatabaseStatus property reflects the current operational status on the database. The database is inaccessible when the status is Loading, Offline, Recovering or Suspect.
Value Description
0 Normal
32 Loading
192 Recovering
256 Suspect
512 Offline
1024 Standby
32768 Emergency Mode
string Description Access Type: Read-only Description: The Description property provides a textual description of the object. boolean FullTextEnabled Access Type: Read-only Description: The FullTextEnabled property is TRUE when the referenced database has been selected for participation in Microsoft.RTM. Search full-text queries. datetime InstallDate Access Type: Read-only Description: The InstallDate property is datetime value indicating when the object was installed. A lack of a value does not indicate that the object is not installed. [key] string Name Access Type: Read-only Description: The Name property defines the label by which the object is known. string PrimaryFilePath Access Type: Read-only Description: ThePrimaryFilePath property returns the path and nameof the operating system directory containing the primary file for the database. sint32 Size Access Type: Read-only Description: The Size property exposes the total size, in megabytes, of the database. Units: MegaBytes sint32 SpaceAvailable Access Type: Read-only Description: The SpaceAvailable property returns the amount of disk resource allocated in kilobytes and unused in operating systemfiles implementingMicrosoft.RTM. SQL Server.TM. database storage. [key] string SQLServerName Access Type: Read-only Description: The SQLServerName property indicates the name of the SQL Server.TM. installation that the database is a part of. Maximum Length: 128 string Status Access Type: Read-only Description: The Status property is a string indicating the current status of the object. Various operational and non-operational statuses can be defined. Operational statuses are "OK", "Degraded" and "Pred Fail". "Pred Fail" indicates that an element may be functioning properly but predicting a failure in the near future. An example is a SMART-enabled hard drive. Non-operational statuses can also be specified. These are "Error", "Starting", "Stopping" and "Service". The latter, "Service", could apply during mirror re-silvering of a disk, reload of a user permissions list, or other administrative work. Not all such work is on-line, yet the managed element is neither "OK" nor in one of the other states. Values are: "OK", "Error", "Degraded", "Unknown", "Pred Fail", "Starting", "Stopping", "Service" Maximum Length: 10 boolean SystemObject Access Type: Read-only Description: The SystemObject property indicates whether the object is owned by Microsoft.RTM.. A value of TRUE indicates that the object implementation is owned by Microsoft.RTM.. sint32 Version Access Type: Read-only Description: The Version property returns a system-specified integer identifying the version of Microsoft.RTM. SQL Server.TM. used to create the referenced database. Methods
Method Name Description
CheckAllocations The CheckAllocations method scans
all pages of the referenced
Microsoft .RTM. SQL Server .TM.
database, testing pages to
ensure integrity.
CheckCatalog The CheckCatalog method tests
the integrity of the catalog
of the referenced database.
CheckIdentityValues The CheckIdentityValues method
verifies the integrity of all
identity columns in tables of
the referenced database.
Checkpoint The Checkpoint method forces a
write of dirty database pages.
CheckTables The CheckTables method tests
the integrity of database pages
implementing storage for all
tables and indexes defined on
the tables of the database.
CheckTablesDataOnly The CheckTablesDataOnly method
tests the integrity of database
pages implementing storage for
all tables in the referenced database.
Create The Create method is used to
create a new database.
DisableFullTextCatalogs The DisableFullTextCatalogs
method suspends Microsoft .RTM.
Search full-text catalog
maintenance on the database.
EnableFullTextCatalogs The EnableFullTextCatalogs method
enables Microsoft .RTM. Search
full-text indexing on the referenced
Microsoft .RTM. SQL Server .TM.
database.
EnumerateStoredProcedures The EnumerateStoredProcedures
method searches stored procedures
and returns those that contain
a specified string.
ExecuteImmediate The ExecuteImmediate method allows
any SQL Server .TM. command to be
executed, as long as the command
doesn't return result sets.
FullTextIndexScript The FullTextIndexScript method
returns a Transact-SQL command
batch enabling Microsoft .RTM.
Search full-text indexing on
a database or table.
IsValidKeyDatatype The IsValidKeyDatatype method
returns TRUE when the data
type specified can participate
in a PRIMARY KEY or FOREIGN
KEY constraint.
RecalcSpaceUsage The RecalcSpaceUsage method
forces the update of data
reporting the disk resource
usage of the referenced
Microsoft .RTM. SQL Server .TM.
database.
RemoveFullTextCatalogs The RemoveFullTextCatalogs method
drops all Microsoft .RTM. Search
full-text catalogs supporting
full-text query on a Microsoft .RTM.
SQL Server .TM. database.
Rename The Rename method is used to
rename the database instance.
Shrink The Shrink method attempts to
reduce the size of all operating
system files maintaining the
database.
Transfer The Transfer method copies database
schema and/or data from one
Microsoft .RTM. SQL Server .TM.
database to another.
UpdateIndexStatistics The UpdateIndexStatistics method
forces data distribution statistics
update for all indexes on user-
defined tables in the referenced
Microsoft .RTM. SQL Server .TM. database.
Associations (only associations shown in FIG. 6 are listed) DB_Database is associated to DB_Login as the Container property of a DB_DatabaseLogin association 53. User class 48 represents database users. This class exposes the attributes of a single database user. The properties, associations, and methods of this class, referred to as the "DB_User" class, are listed below. Properties string Caption Access Type: Read-only Description: The Caption property is a short textual description (one-line string) of the object. Maximum Length: 64 [key] string DatabaseName Access Type: Read-only Description: The DatabaseName property indicates the name of the database that the user is a part of. Maximum Length: 128 string Description Access Type: Read-only Description: The Description property provides a textual description of the object. datetime InstallDate Access Type: Read-only Description: The InstallDate property is datetime value indicating when the object was installed. A lack of a value does not indicate that the object is not installed. [key] string Name Access Type: Read-only Description: The Name property defines the label by which the user is known. [key] string SQLServerName Access Type: Read-only Description: The SQLServerName property indicates the name of the SQL Server.TM. installation that the object is a part of. Maximum Length: 128 string Status Access Type: Read-only Description: The Status property is a string indicating the current status of the object. Various operational and non-operational statuses can be defined. Operational statuses are "OK", "Degraded" and "Pred Fail". "Pred Fail" indicates that an element may be functioning properly but predicting a failure in the near future. An example is a SMART-enabled hard drive. Non-operational statuses can also be specified. These are "Error", "Starting", "Stopping" and "Service". The latter, "Service", could apply during mirror re-silvering of a disk, reload of a user permissions list, or other administrative work. Not all such work is on-line, yet the managed element is neither "OK" nor in one of the other states. Values are: "OK", "Error", "Degraded", "Unknown", "Pred Fail", "Starting", "Stopping", "Service" Maximum Length: 10 boolean SystemObject Access Type: Read-only Description: The SystemObject property indicates whether the object is owned by Microsoft.RTM.. A value of True indicates that the object implementation is owned by Microsoft.RTM.. Methods
Method Name Description
Create The Create method is used to create a new user.
Associations (only associations shown in FIG. 6 are listed) DB_User is associated to DB_Login as the Dependent property of a DB_UserLogin association 55. Login class 50 represents the login authentication records present in a database server installation. The properties, associations, and methods of this class, referred to as the "DB_login" class, are listed below. Properties string Caption Access Type: Read-only Description: The Caption property is a short textual description (one-line string) of the object. Maximum Length: 64 string Description Access Type: Read-only Description: The Description property provides a textual description of the object. datetime InstallDate Access Type: Read-only Description: The InstallDate property is datetime value indicating when the object was installed. A lack of a value does not indicate that the object is not installed. string Language Access Type: Read/Write Description: The Language property indicates the language used for a client connection using the login. [key] string Name Access Type: Read-only Description: The Name property defines the label by which the object is known. In order to use Windows NT authentication, the name of the login must be a valid NT account name in the form .backslash..backslash.ServerName.backslash.UserName. [key] string SQLServerName Access Type: Read-only Description: The SQLServerName property indicates the name of the SQL Server.TM. installation that the object is a part of. Maximum Length: 128 string Status Access Type: Read-only Description: The Status property is a string indicating the current status of the object. Various operational and non-operational statuses can be defined. Operational statuses are "OK", "Degraded" and "Pred Fail". "Pred Fail" indicates that an element may be functioning properly but predicting a failure in the near future. An example is a SMART-enabled hard drive. Non-operational statuses can also be specified. These are "Error", "Starting", "Stopping" and "Service". The latter, "Service", could apply during mirror-resilvering of a disk, reload of a user permissions list, or other administrative work. Not all such work is on-line, yet the managed element is neither "OK" nor in one of the other states. Values are: "OK", "Error", "Degraded", "Unknown", "Pred Fail", "Starting", "Stopping", "Service" Maximum Length: 10 boolean SystemObject Access Type: Read-only Description: The SystemObject property indicates whether the object is owned by Microsoft.RTM.. A value of True indicates that the object implementation is owned by Microsoft.RTM.. Methods
Method Name Description
GetUserName The GetUserName method returns the
database user used by the referenced
login, when a connection using that
login accesses the specified database.
SetPassword The SetPassword method is used to
set the password for a login that
uses SQL Server .TM. authentication.
Associations (only associations shown in FIG. 6 are listed) DB_Login is associated to DB_User as the Antecedent property of a DB_UserLogin association 55. DB_Login is associated to DB_Database as the contained property of a DB_DatabaseLogin association 53. Database/login association 53, between database class 46 and login class 50, associates a database instance with the login record that owns the database. Login/user association 55, between user class 48 and login class 50, associates individual users with different login records. The operating system portion of the schema, a view of which is contained within the database management schema 40, comprises one or more classes: an operating system account superclass 52, an operating system group account class 54, and an operating system user account class 56. These are user-related account classes that model information used by the operating system to authenticate computer users. The "Windows 2000" operating system is an example of an operating system that authenticates users. Each authorized user has a specific operating system account, and optionally belongs to a specific operating system group of users. Operating system privileges are granted either to individual user accounts or to groups of users. The operating system account class 52 contains information about user accounts and group accounts known to the operating system. User or group names recognized by an operating system are descendents (or members) of this class. The Windows implementation of this class is called "OS_Account." Its properties and associations are listed below: Properties string Caption Access Type: Read-only Description: The Caption property is a short textual description (one-line string) of the object. Maximum Length: 64 string Description Access Type: Read-only Description: The Description property provides a textual description of the object. [key] string Domain Access Type: Read-only Description: The Domain property indicates the name of the Windows domain to which a group or user belongs. Example: NA-SALES datetime InstallDate Access Type: Read-only Description: The InstallDate property is datetime value indicating when the object was installed. A lack of a value does not indicate that the object is not installed. [key] string Name Access Type: Read-only Description: The Name property indicates the name of the OS system account on the domain specified by the Domain member of this class. string SID Access Type: Read-only Description: The SID property contains the security identifier (SID) for this account a SID is a string value of variable length used to identify a trustee. Each account has a unique SID issued by an authority (such as a Windows domain), stored in a security database. When a user logs on, the system retrieves the user's SID from the database and places it in the user's access token. The system uses the SID in the user's access token to identify the user in all subsequent interactions with Windows security. When a SID has been used as the unique identifier for a user or group, it cannot be used again to identify another user or group. uint8 SIDType Access Type: Read-only Description: The SIDType property contains enumerated values that specify the type of security identifier (SID).
Value Description Explanation
1 SidTypeUser Indicates a user SID.
2 SidTypeGroup Indicates a group SID.
3 SidTypeDomain Indicates a domain SID.
4 SidTypeAlias Indicates an alias SID.
5 SidTypeWellKnownGroup Indicates a SID for a well-known
group.
6 SidTypeDeletedAccount Indicates a SID for a deleted account.
7 SidTypeInvalid Indicates an invalid SID.
8 SidTypeUnknown Indicates an unknown SID type.
9 SidTypeComputer Indicates a SID for a computer.
string Status Access Type: Read-only Description: The Status property is a string indicating the current status of the object. Various operational and non-operational statuses can be defined. Operational statuses are "OK", "Degraded" and "Pred Fail". "Pred Fail" indicates that an element may be functioning properly but predicting a failure in the near future. An example is a SMART-enabled hard drive. Non-operational statuses can also be specified. These are "Error", "Starting", "Stopping" and "Service". The latter, "Service", could apply during mirror-resilvering of a disk, reload of a user permissions list, or other administrative work. Not all such work is on-line, yet the managed element is neither "OK" nor in one of the other states. Values are: "OK", "Error", "Degraded", "Unknown", "Pred Fail", "Starting", "Stopping", "Service" Maximum Length: 10 Associations (only associations shown in FIG. 6 are listed) OS_Account is associated to OS_Group as the PartComponent property of an OS_GroupUser association 61. The operating system group account class 54 represents data about a group account in the operating system. A group account allows access privileges to be changed for a list of users. Shown below are the properties and associations of a Windows implementation of account class 52, named "OS_Group": Properties string Caption Access Type: Read-only Description: The Caption property is a short textual description (one-line string) of the object. Maximum Length: 64 string Description Access Type: Read-only Description: The Description property provides a textual description of the object. [key] string Domain Access Type: Read-only Description: The Domain property indicates the name of the Windows domain to which the group account belongs. Example: NA-SALES datetime InstallDate Access Type: Read-only Description: The InstallDate property is datetime value indicating when the object was installed. A lack of a value does not indicate that the object is not installed. [key] string Name Access Type: Read-only Description: The Name property indicates the name of the OS group account on the domain specified by the Domain member of this class. string SID Access Type: Read-only Description: The SID property contains the security identifier (SID) for this account. a SID is a string value of variable length used to identify a trustee. Each account has a unique SID issued by an authority (such as a Windows domain), stored in a security database. When a user logs on, the system retrieves the user's SID from the database and places it in the user's access token. The system uses the SID in the user's access token to identify the user in all subsequent interactions with Windows security. When a SID has been used as the unique identifier for a user or group, it cannot be used again to identify another user or group. uint8 SIDType Access Type: Read-only Description: The SIDType property contains enumerated values that specify the type of security identifier (SID).
Value Description Explanation
1 SidTypeUser Indicates a user SID.
2 SidTypeGroup Indicates a group SID.
3 SidTypeDomain Indicates a domain SID.
4 SidTypeAlias Indicates an alias SID.
5 SidTypeWellKnownGroup Indicates a SID for a well-known
group.
6 SidTypeDeletedAccount Indicates a SID for a deleted account.
7 SidTypeInvalid Indicates an invalid SID.
8 SidTypeUnknown Indicates an unknown SID type.
9 SidTypeComputer Indicates a SID for a computer.
string Status Access Type: Read-only Description: The Status property is a string indicating the current status of the object. Various operational and non-operational statuses can be defined. Operational statuses are "OK", "Degraded" and "Pred Fail". "Pred Fail" indicates that an element may be functioning properly but predicting a failure in the near future. An example is a SMART-enabled hard drive. Non-operational statuses can also be specified. These are "Error", "Starting", "Stopping" and "Service". The latter, "Service", could apply during mirror-resilvering of a disk, reload of a user permissions list, or other administrative work. Not all such work is on-line, yet the managed element is neither "OK" nor in one of the other states. Values are: "OK", "Error", "Degraded", "Unknown", "Pred Fail", "Starting", "Stopping", "Service" Maximum Length: 10 Associations (only associations shown in FIG. 6 are listed) OS_Group is associated to OS_Account as the GroupComponent property of the OS_GroupUser association. The operating system user account class 56, referred to in FIG. 6 as "OS_UserAccount," contains information about user accounts known to the operating system. Its properties are listed below: Properties uint32 AccountType Access Type: Read-only Description: The AccountType property contains flags describing the characteristics of a OS user account
Bit
Position Description Explanation
8 Temporary duplicate Local user account for users whose
account primary account is in another
domain. This account provides user
access to this domain, but not to any
domain that trusts this domain.
9 Normal account Default account type that
representing a typical user.
11 Interdomain Account is for a system domain that
trust account trusts other domains.
12 Workstation This is a computer account for a
trust account Windows NT/Windows 2000
machine that is a member of this
domain.
13 Server trust Account is for a system backup
account domain controller that is a member
of this domain.
string Caption Access Type: Read-only Description: The Caption property is a short textual description (one-line string) of the object. Maximum Length: 64 string Description Access Type: Read-only Description: The Description property provides a textual description of the object. boolean Disabled Access Type: Read-only Description: The Disabled property determines whether the OS user account is disabled. Values: TRUE or FALSE. If TRUE, the user account is disabled. [key] string Domain Access Type: Read-only Description: The Domain property indicates the name of the Windows domain to which the user account belongs. Example: NA-SALES string FullName Access Type: Read-only Description: The FullName property indicates the full name of the local user. Example: Thomas Williams datetime InstallDate Access Type: Read-only Description: The InstallDate property is datetime value indicating when the object was installed. A lack of a value does not indicate that the object is not installed. boolean Lockout Access Type: Read-only Description: The Lockout property determines whether the user account is locked out of the OS system. Values: TRUE or FALSE. If TRUE, the user account is locked out. [key] string Name Access Type: Read-only Description: The Name property indicates the name of the OS user account on the domain specified by the Domain member of this class. Example: thomasw boolean PasswordChangeable Access Type: Read-only Description: The PasswordChangeable property determines whether the password on the OS user account can be changed. Values: TRUE or FALSE. If TRUE, the password can be changed. boolean PasswordExpires Access Type: Read-only Description: The PasswordExpires property determines whether the password on the OS user account will expire. Values: TRUE or FALSE. If TRUE, the password will expire. boolean PasswordRequired Access Type: Read-only Description: The PasswordRequired property determines whether a password is required on the OS user account. Values: TRUE or FALSE. If TRUE, a password is required. string SID Access Type: Read-only Description: The SID property contains the security identifier (SID) for this account. a SID is a string value of variable length used to identify a trustee. Each account has a unique SID issued by an authority (such as a Windows domain), stored in a security database. When a user logs on, the system retrieves the user's SID from the database and places it in the user's access token. The system uses the SID in the user's access token to identify the user in all subsequent interactions with Windows security. When a SID has been used as the unique identifier for a user or group, it cannot be used again to identify another user or group. uint8 SIDType Access Type: Read-only The SIDType property contains enumerated values that specify the type of security identifier (SID).
Value Description Explanation
1 SidTypeUser Indicates a user SID.
2 SidTypeGroup Indicates a group SID.
3 SidTypeDomain Indicates a domain SID.
4 SidTypeAlias Indicates an alias SID.
5 SidTypeWellKnownGroup Indicates a SID for a well-known
group.
6 SidTypeDeletedAccount Indicates a SID for a deleted account.
7 SidTypeInvalid Indicates an invalid SID.
8 SidTypeUnknown Indicates an unknown SID type.
9 SidTypeComputer Indicates a SID for a computer.
string Status Access Type: Read-only The Status property is a string indicating the current status of the object. Various operational and non-operational statuses can be defined. Operational statuses are "OK", "Degraded" and "Pred Fail". "Pred Fail" indicates that an element may be functioning properly but predicting a failure in the near future. An example is a SMART-enabled hard drive. Non-operational statuses can also be specified. These are "Error", "Starting", "Stopping" and "Service". The latter, "Service", could apply during mirror-resilvering of a disk, reload of a user permissions list, or other administrative work. Not all such work is on-line, yet the managed element is neither "OK" nor in one of the other states. Values are: "OK", "Error", "Degraded", "Unknown", "Pred Fail", "Starting", "Stopping", "Service" Maximum Length: 10 User account class 56 and group account class 54 are subclasses of operating system account superclass 52. In addition to the associations listed above, the inventors have discovered that it would be advantageous to associate database user logins with operating system users or groups. To that end, they have created associations between the two schemas: an association 60 that maps operating system user accounts 56 to their database logins 50, and an association 62 that maps operating system groups 54 to their database logins 50. More specifically, DB_Login is associated to OS_UserAccount as the Dependent property of a DB_LoginOSUserAccount association 60. DB_Login is associated to OS_Group as the Dependent property of a DB_LoginOSGroup association 62. Furthermore, the system management schema 37 appropriately models a database in which users can login using two different types of authentication: OS authentication or database server authentication. This is controlled by a property of DB_Database class 46 called "Type": uint32 Type Access Type: Read/Write Description: The Type property indicates the type of authentication used. The authentication can be NT authentication, or SQL Server.TM. authentication. For NT authentication, the login can use the name of a user or a group.
Value Description
0 Other NT User Authentication
1 NT Group Authentication
2 SQL Server .TM. Authentication
DB_Database class 46 includes a further property, called "DenyNTLogin", that indicates the ability to access to a SQL Server.TM. installation for login records identifying Windows NT users or groups: boolean DenyNTLogin Access Type: Read/Write Description: The DenyNTLogin property indicates the ability to access to a SQL Server.TM. installation for login records identifying Windows NT users or groups. When True, any Windows NT authenticated connection attempt specifying the user or group name fails authentication. When False, the Windows NT user or group is allowed access to the SQL Server.TM. installation on which the login is defined. Use DenyNTLogin to specifically deny access to Windows NT users and groups. Because of association 60 and 62, the WMI management system is able to addresses the potential difficulties of using disparate mechanisms to manage different applications. For example, in order to manage an enterprise, one needs to manage not only the database server, but also the operating system running on the machines, the e-mail servers, the web servers, etc. In order to deploy a reliable system that includes all such components, one needs the ability to manage and troubleshoot across these applications. Having a common interface for each of these components and allowing system administrators (as well as third party management applications) to seamlessly navigate from one subsystem to another, is a huge leap in making an enterprise more manageable. Specifically, the schemas described above allow a system administrator to submit queries that map between users defined in databases, and users defined in the operating system. This type of information greatly improves the efficiency with which a system can be managed. Although details of specific implementations and embodiments are described above, such details are intended to satisfy statutory disclosure obligations rather than to limit the scope of the following claims. Thus, the invention as defined by the claims is not limited to the specific features described above. Rather, the invention is claimed in any of its forms or modifications that fall within the proper scope of the appended claims.
|
Same subclass Same class Consider this |
||||||||||
