Show / Hide Table of Contents

    Class DatabaseConfigurator

    Provides methods for creating or updating Repository or Umbraco database. This class is intended to be used by Repository Configuration and Dev Portal Configuration utilities.

    Inheritance
    Object
    DatabaseConfigurator
    Inherited Members
    Object.ToString()
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Namespace: Nevatech.Vsb.Repository.Services
    Assembly: Nevatech.Vsb.Repository.dll
    Syntax
    public sealed class DatabaseConfigurator

    Constructors

    DatabaseConfigurator(String, String)

    Initializes new instance with connection strings.

    Declaration
    public DatabaseConfigurator(string runtimeConnectionString, string systemMasterConnectionString)
    Parameters
    Type Name Description
    String runtimeConnectionString

    Connection string to be used by runtime components (Repository and Agent). It must be fully populated and include credentials and database name.

    String systemMasterConnectionString

    Connection string with elevated access permissions to the database server. It must point to a default or Master database.

    Fields

    DevPortalConnectionStringName

    Gets connection string name in application configuration file that contains DevPortal database connection string.

    Declaration
    public const string DevPortalConnectionStringName = "umbracoDbDSN"
    Field Value
    Type Description
    String

    LatestDbVersion

    The latest database version that does not require any schema updates.

    Declaration
    public static readonly Version LatestDbVersion
    Field Value
    Type Description
    Version

    MinimumSupportedDbVersion

    The minimum database version supported by this tool.

    Declaration
    public static readonly Version MinimumSupportedDbVersion
    Field Value
    Type Description
    Version

    MonitoringConnectionStringName

    Gets connection string name in application configuration file that contains Monitoring database connection string.

    Declaration
    public const string MonitoringConnectionStringName = "Nevatech.Vsb.Monitoring"
    Field Value
    Type Description
    String

    ProviderName

    Name of the SQL Server database provider.

    Declaration
    public const string ProviderName = "System.Data.SqlClient"
    Field Value
    Type Description
    String

    RepositoryConnectionStringName

    Gets connection string name in application configuration file that contains Repository database connection string.

    Declaration
    public const string RepositoryConnectionStringName = "Nevatech.Vsb.Repository"
    Field Value
    Type Description
    String

    Methods

    CreateOrUpdateRepositoryDatabase()

    Creates, upgrades, and populates the Repository database and its entities.

    Declaration
    public void CreateOrUpdateRepositoryDatabase()

    CreateOrUpdateRepositoryDatabase(Boolean, Boolean, Boolean, String)

    Creates, upgrades, and populates the Repository database and its entities.

    Declaration
    public void CreateOrUpdateRepositoryDatabase(bool configurationObjects, bool monitoringObjects, bool enableTablePartitioning = false, string collation = null)
    Parameters
    Type Name Description
    Boolean configurationObjects

    Flag indicating that Configuration database objects must be created or updated.

    Boolean monitoringObjects

    Flag indicating that Monitoring database objects must be created or updated.

    Boolean enableTablePartitioning

    True to enable the monitoring tables partitioning, false otherwise. The default value is false.

    String collation

    The optional collation to use or null to use the default SQL Server collation.

    CreateOrUpdateSystemAdministrator(String, String, String, String)

    Creates or updates the system administrator's account.

    Declaration
    public void CreateOrUpdateSystemAdministrator(string userName, string password, string friendlyName, string email)
    Parameters
    Type Name Description
    String userName

    User login name.

    String password

    User password.

    String friendlyName

    User account friendly name.

    String email

    User's e-mail address.

    CreateSqlLoginAndUser(String, String, Boolean)

    Creates a SQL login and user.

    Declaration
    public void CreateSqlLoginAndUser(string loginName, string password, bool isOwner = false)
    Parameters
    Type Name Description
    String loginName

    The SQL login name.

    String password

    The SQL login password.

    Boolean isOwner

    True to add user to the database 'db_owner' role, false otherwise. The default value is false.

    CreateWindowsLoginAndUser(String, Boolean)

    Creates a Windows login and corresponding user.

    Declaration
    public void CreateWindowsLoginAndUser(string identityName, bool isOwner = false)
    Parameters
    Type Name Description
    String identityName

    Windows identity name.

    Boolean isOwner

    True to add user to the database 'dbo' role, false otherwise. The default value is false.

    EnsureDatabaseAccess(Boolean)

    Creates an empty database, SQL Server login, and/or a database user specified in the runtime connection string.

    Declaration
    public void EnsureDatabaseAccess(bool allowToCreateDatabase = false)
    Parameters
    Type Name Description
    Boolean allowToCreateDatabase

    Flag indicating that empty database can be created, if it does not exist yet. If False and database does not exist then exception will be thrown.

    GetCollation()

    Gets the collation name of this database.

    Declaration
    public string GetCollation()
    Returns
    Type Description
    String

    The collation name.

    GetDatabases()

    Returns collection of names of the non-system databases.

    Declaration
    public Collection<string> GetDatabases()
    Returns
    Type Description
    Collection<String>

    Collection of names of the non-system databases.

    GetDatabases(String)

    Returns collection of names of the non-system databases.

    Declaration
    public static Collection<string> GetDatabases(string systemMasterConnectionString)
    Parameters
    Type Name Description
    String systemMasterConnectionString

    Connection string with elevated access permissions to the database server. It must point to a default or Master database.

    Returns
    Type Description
    Collection<String>

    Collection of names of the non-system databases.

    GetServerType()

    Returns the type of the current database server.

    Declaration
    public DatabaseServerType GetServerType()
    Returns
    Type Description
    DatabaseServerType

    Type of the current database server.

    GetUmbracoDatabaseVersion(String)

    Returns the current Umbraco database schema version.

    Declaration
    public static string GetUmbracoDatabaseVersion(string runtimeConnectionString)
    Parameters
    Type Name Description
    String runtimeConnectionString

    Connection string that points to Umbraco database. It must be fully populated and include credentials and database name.

    Returns
    Type Description
    String

    The database schema version or "0.0.0.0", if version cannot be retrieved.

    IsSystemAdministrator()

    Checks if the current administrative user has system administrator privileges on the target SQL server.

    Declaration
    public bool IsSystemAdministrator()
    Returns
    Type Description
    Boolean

    true if the current user has system administrator privileges on the target server, false otherwise.

    IsValidMonitoringDatabase()

    Checks whether the current database connection represents a valid monitoring database.

    Declaration
    public bool IsValidMonitoringDatabase()
    Returns
    Type Description
    Boolean

    True if the current database is valid Sentinet monitoring database, false otherwise.

    LoadConfigurationSettings(String)

    Loads configuration settings from the database and sets the singleton Current instance.

    Declaration
    public static void LoadConfigurationSettings(string runtimeConnectionString)
    Parameters
    Type Name Description
    String runtimeConnectionString

    Connection string to be used by runtime components (Repository and Agent). It must be fully populated and include credentials and database name.

    PatchUmbracoDatabase()

    Patches Umbraco database.

    Declaration
    public void PatchUmbracoDatabase()

    ReplicationFeatureInstalled()

    Checks whether the replication feature is installed for this instance of SQL Server.

    Declaration
    public bool ReplicationFeatureInstalled()
    Returns
    Type Description
    Boolean

    True if replication is installed, false otherwise.

    SaveConfigurationSettings()

    Saves configuration settings from the singleton Current instance to the database.

    Declaration
    public void SaveConfigurationSettings()

    SqlAgentRunning()

    Checks whether SQL Server Agent service is running.

    Declaration
    public bool SqlAgentRunning()
    Returns
    Type Description
    Boolean

    True if service is running, false otherwise.

    ValidateDatabaseVersion()

    Ensures the target database version is compatible with the current installation and can be upgraded.

    Declaration
    public void ValidateDatabaseVersion()
    Back to top Nevatech Sentinet 6.5 Online Documentation