diff --git a/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Actions/StandaloneServerActionManager.cs b/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Actions/StandaloneServerActionManager.cs index 308ed56c..64240951 100644 --- a/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Actions/StandaloneServerActionManager.cs +++ b/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Actions/StandaloneServerActionManager.cs @@ -499,6 +499,10 @@ namespace WebsitePanel.Setup.Actions { serviceInfo.ProviderId = 202; } + else if (sqlVersion.StartsWith("11.")) + { + serviceInfo.ProviderId = 209; + } serviceId = ES.Services.Servers.AddService(serviceInfo); } else diff --git a/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Wizard/DatabasePage.cs b/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Wizard/DatabasePage.cs index 134c9653..933c0201 100644 --- a/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Wizard/DatabasePage.cs +++ b/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Wizard/DatabasePage.cs @@ -124,11 +124,11 @@ namespace WebsitePanel.Setup { // check SQL server version string sqlVersion = GetSqlServerVersion(connectionString); - if (!sqlVersion.StartsWith("9.") && !sqlVersion.StartsWith("10.")) + if (!sqlVersion.StartsWith("9.") && !sqlVersion.StartsWith("10.") && !sqlVersion.StartsWith("11.")) { // SQL Server 2005 engine required e.Cancel = true; - ShowWarning("This program can be installed on SQL Server 2005/2008 only."); + ShowWarning("This program can be installed on SQL Server 2005/2008/2012 only."); return; } int securityMode = GetSqlServerSecurityMode(connectionString); diff --git a/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Wizard/ExpressInstallPage.cs b/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Wizard/ExpressInstallPage.cs index f101d6da..6f5def75 100644 --- a/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Wizard/ExpressInstallPage.cs +++ b/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Wizard/ExpressInstallPage.cs @@ -862,6 +862,10 @@ namespace WebsitePanel.Setup { serviceInfo.ProviderId = 202; } + else if (sqlVersion.StartsWith("11.")) + { + serviceInfo.ProviderId = 209; + } serviceId = ES.Services.Servers.AddService(serviceInfo); } else diff --git a/WebsitePanel/Database/install_db.sql b/WebsitePanel/Database/install_db.sql index e5b39fa7..75fc6abe 100644 --- a/WebsitePanel/Database/install_db.sql +++ b/WebsitePanel/Database/install_db.sql @@ -3625,8 +3625,22 @@ INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDe GO INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (217, 22, 4, N'MsSQL2008.MaxLogSize', N'Max Log Size', 3, 0, NULL) GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (218, 23, 1, N'MsSQL2012.Databases', N'Databases', 2, 0, 37) +GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (219, 23, 2, N'MsSQL2012.Users', N'Users', 2, 0, 38) +GO INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (220, 1, 5, N'OS.DomainPointers', N'Domain Pointers', 2, 0, NULL) GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (221, 23, 3, N'MsSQL2012.MaxDatabaseSize', N'Max Database Size', 3, 0, NULL) +GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (222, 23, 5, N'MsSQL2012.Backup', N'Database Backups', 1, 0, NULL) +GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (223, 23, 6, N'MsSQL2012.Restore', N'Database Restores', 1, 0, NULL) +GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (224, 23, 7, N'MsSQL2012.Truncate', N'Database Truncate', 1, 0, NULL) +GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (225, 23, 4, N'MsSQL2012.MaxLogSize', N'Max Log Size', 3, 0, NULL) +GO INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (300, 30, 1, N'VPS.ServersNumber', N'Number of VPS', 2, 0, 33) GO INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (301, 30, 2, N'VPS.ManagingAllowed', N'Allow user to create VPS', 1, 0, NULL) @@ -10469,37 +10483,39 @@ INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupContr GO INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (5, N'MsSQL2000', 8, N'WebsitePanel.EnterpriseServer.DatabaseServerController') GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (6, N'MySQL4', 11, N'WebsitePanel.EnterpriseServer.DatabaseServerController') +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (6, N'MySQL4', 12, N'WebsitePanel.EnterpriseServer.DatabaseServerController') GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (7, N'DNS', 16, N'WebsitePanel.EnterpriseServer.DnsServerController') +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (7, N'DNS', 17, N'WebsitePanel.EnterpriseServer.DnsServerController') GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (8, N'Statistics', 17, N'WebsitePanel.EnterpriseServer.StatisticsServerController') +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (8, N'Statistics', 18, N'WebsitePanel.EnterpriseServer.StatisticsServerController') GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (9, N'SharePoint', 13, N'WebsitePanel.EnterpriseServer.SharePointServerController') +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (9, N'SharePoint', 14, N'WebsitePanel.EnterpriseServer.SharePointServerController') GO INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (10, N'MsSQL2005', 9, N'WebsitePanel.EnterpriseServer.DatabaseServerController') GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (11, N'MySQL5', 12, N'WebsitePanel.EnterpriseServer.DatabaseServerController') +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (11, N'MySQL5', 13, N'WebsitePanel.EnterpriseServer.DatabaseServerController') GO INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (12, N'Exchange', 5, NULL) GO INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (13, N'Hosted Organizations', 6, NULL) GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (20, N'Hosted SharePoint', 14, N'WebsitePanel.EnterpriseServer.HostedSharePointServerController') +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (20, N'Hosted SharePoint', 15, N'WebsitePanel.EnterpriseServer.HostedSharePointServerController') GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (21, N'Hosted CRM', 15, NULL) +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (21, N'Hosted CRM', 16, NULL) GO INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (22, N'MsSQL2008', 10, N'WebsitePanel.EnterpriseServer.DatabaseServerController') GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (30, N'VPS', 18, NULL) +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (23, N'MsSQL2012', 11, N'WebsitePanel.EnterpriseServer.DatabaseServerController') GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (31, N'BlackBerry', 20, NULL) +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (30, N'VPS', 19, NULL) GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (32, N'OCS', 21, NULL) +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (31, N'BlackBerry', 21, NULL) +GO +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (32, N'OCS', 22, NULL) GO INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (33, N'ExchangeHostedEdition', 7, N'WebsitePanel.EnterpriseServer.ExchangeHostedEditionController') GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (40, N'VPSForPC', 19, NULL) +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (40, N'VPSForPC', 20, NULL) GO SET ANSI_NULLS ON GO @@ -13920,7 +13936,7 @@ INSERT [dbo].[ScheduleTaskParameters] ([TaskID], [ParameterID], [DataTypeID], [D GO INSERT [dbo].[ScheduleTaskParameters] ([TaskID], [ParameterID], [DataTypeID], [DefaultValue], [ParameterOrder]) VALUES (N'SCHEDULE_TASK_BACKUP_DATABASE', N'BACKUP_NAME', N'String', N'database_backup.bak', 4) GO -INSERT [dbo].[ScheduleTaskParameters] ([TaskID], [ParameterID], [DataTypeID], [DefaultValue], [ParameterOrder]) VALUES (N'SCHEDULE_TASK_BACKUP_DATABASE', N'DATABASE_GROUP', N'List', N'MsSQL2000=SQL Server 2000;MsSQL2005=SQL Server 2005;MsSQL2008=SQL Server 2008;MySQL4=MySQL 4.0;MySQL5=MySQL 5.0', 1) +INSERT [dbo].[ScheduleTaskParameters] ([TaskID], [ParameterID], [DataTypeID], [DefaultValue], [ParameterOrder]) VALUES (N'SCHEDULE_TASK_BACKUP_DATABASE', N'DATABASE_GROUP', N'List', N'MsSQL2000=SQL Server 2000;MsSQL2005=SQL Server 2005;MsSQL2008=SQL Server 2008;MsSQL2012=SQL Server 2012;MySQL4=MySQL 4.0;MySQL5=MySQL 5.0', 1) GO INSERT [dbo].[ScheduleTaskParameters] ([TaskID], [ParameterID], [DataTypeID], [DefaultValue], [ParameterOrder]) VALUES (N'SCHEDULE_TASK_BACKUP_DATABASE', N'DATABASE_NAME', N'String', N'', 2) GO @@ -21050,6 +21066,7 @@ and below is the summary information for its resources.
  • SQL Server 2000
  • SQL Server 2005
  • SQL Server 2008
  • +
  • SQL Server 2012
  • My SQL 4.x
  • My SQL 5.x
  • Microsoft Access
  • @@ -21497,6 +21514,34 @@ using this IP address instead of actual POP3/SMTP/IMAP servers name: + + + +

    SQL Server 2012

    + + + + + + + + + + +
    Maximum Number of Databases:
    Maximum Number of Users:
    + +

    + In order to connect to SQL Server 2012 from Management Studio, Enterprise Manager, Query Analyzer + or other client software you can use the following SQL Server address: +

    + + + + +
    #MsSQL2012Address#
    + +
    +

    MySQL 4.x

    @@ -22242,6 +22287,10 @@ INSERT [dbo].[ServiceItemTypes] ([ItemTypeID], [GroupID], [DisplayName], [TypeNa GO INSERT [dbo].[ServiceItemTypes] ([ItemTypeID], [GroupID], [DisplayName], [TypeName], [TypeOrder], [CalculateDiskspace], [CalculateBandwidth], [Suspendable], [Disposable], [Searchable], [Importable], [Backupable]) VALUES (36, 40, N'VirtualSwitch', N'WebsitePanel.Providers.Virtualization.VirtualSwitch, WebsitePanel.Providers.Base', 2, 0, 0, 1, 1, 1, 0, 0) GO +INSERT [dbo].[ServiceItemTypes] ([ItemTypeID], [GroupID], [DisplayName], [TypeName], [TypeOrder], [CalculateDiskspace], [CalculateBandwidth], [Suspendable], [Disposable], [Searchable], [Importable], [Backupable]) VALUES (37, 23, N'MsSQL2012Database', N'WebsitePanel.Providers.Database.SqlDatabase, WebsitePanel.Providers.Base', 1, 1, 0, 0, 1, 1, 1, 1) +GO +INSERT [dbo].[ServiceItemTypes] ([ItemTypeID], [GroupID], [DisplayName], [TypeName], [TypeOrder], [CalculateDiskspace], [CalculateBandwidth], [Suspendable], [Disposable], [Searchable], [Importable], [Backupable]) VALUES (38, 23, N'MsSQL2012User', N'WebsitePanel.Providers.Database.SqlUser, WebsitePanel.Providers.Base', 1, 0, 0, 0, 1, 1, 1, 1) +GO INSERT [dbo].[ServiceItemTypes] ([ItemTypeID], [GroupID], [DisplayName], [TypeName], [TypeOrder], [CalculateDiskspace], [CalculateBandwidth], [Suspendable], [Disposable], [Searchable], [Importable], [Backupable]) VALUES (40, 33, N'ExchangeOrganization', N'WebsitePanel.Providers.ExchangeHostedEdition.ExchangeOrganization, WebsitePanel.Providers.Base', 1, 0, 0, 1, 1, 1, 0, 0) GO INSERT [dbo].[ServiceItemTypes] ([ItemTypeID], [GroupID], [DisplayName], [TypeName], [TypeOrder], [CalculateDiskspace], [CalculateBandwidth], [Suspendable], [Disposable], [Searchable], [Importable], [Backupable]) VALUES (200, 20, N'SharePointSiteCollection', N'WebsitePanel.Providers.SharePoint.SharePointSiteCollection, WebsitePanel.Providers.Base', 25, 1, 0, 0, 1, 1, 1, 1) @@ -23205,6 +23254,8 @@ INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName] GO INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (208, 20, N'HostedSharePoint2010', N'Hosted SharePoint Foundation 2010', N'WebsitePanel.Providers.HostedSolution.HostedSharePointServer2010, WebsitePanel.Providers.HostedSolution', N'HostedSharePoint30', NULL) GO +INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (209, 23, N'MsSQL', N'Microsoft SQL Server 2012', N'WebsitePanel.Providers.Database.MsSqlServer2012, WebsitePanel.Providers.Database.SqlServer', N'MSSQL', NULL) +GO INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (300, 30, N'HyperV', N'Microsoft Hyper-V', N'WebsitePanel.Providers.Virtualization.HyperV, WebsitePanel.Providers.Virtualization.HyperV', N'HyperV', 1) GO INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (301, 11, N'MySQL', N'MySQL Server 5.5', N'WebsitePanel.Providers.Database.MySqlServer55, WebsitePanel.Providers.Database.MySQL', N'MySQL', NULL) diff --git a/WebsitePanel/Database/update_db.sql b/WebsitePanel/Database/update_db.sql index a949fd61..950e401e 100644 --- a/WebsitePanel/Database/update_db.sql +++ b/WebsitePanel/Database/update_db.sql @@ -11,3 +11,819 @@ BEGIN INSERT [dbo].[Versions] ([DatabaseVersion], [BuildDate]) VALUES (@build_version, @build_date) END GO + +IF NOT EXISTS (SELECT * FROM [dbo].[ResourceGroups] WHERE [GroupName] = 'MsSQL2012') +BEGIN + INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (23, N'MsSQL2012', 10, N'WebsitePanel.EnterpriseServer.DatabaseServerController') +END +GO + +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 1 WHERE [GroupName] = N'OS' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 2 WHERE [GroupName] = N'Web' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 3 WHERE [GroupName] = N'FTP' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 4 WHERE [GroupName] = N'Mail' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 5 WHERE [GroupName] = N'Exchange' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 6 WHERE [GroupName] = N'Hosted Organizations' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 7 WHERE [GroupName] = N'ExchangeHostedEdition' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 8 WHERE [GroupName] = N'MsSQL2000' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 9 WHERE [GroupName] = N'MsSQL2005' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 10 WHERE [GroupName] = N'MsSQL2008' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 11 WHERE [GroupName] = N'MsSQL2012' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 12 WHERE [GroupName] = N'MySQL4' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 13 WHERE [GroupName] = N'MySQL5' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 14 WHERE [GroupName] = N'SharePoint' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 15 WHERE [GroupName] = N'Hosted SharePoint' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 16 WHERE [GroupName] = N'Hosted CRM' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 17 WHERE [GroupName] = N'DNS' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 18 WHERE [GroupName] = N'Statistics' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 19 WHERE [GroupName] = N'VPS' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 20 WHERE [GroupName] = N'VPSForPC' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 21 WHERE [GroupName] = N'BlackBerry' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 22 WHERE [GroupName] = N'OCS' +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[ServiceItemTypes] WHERE [DisplayName] = 'MsSQL2012Database') +BEGIN + INSERT [dbo].[ServiceItemTypes] ([ItemTypeID], [GroupID], [DisplayName], [TypeName], [TypeOrder], [CalculateDiskspace], [CalculateBandwidth], [Suspendable], [Disposable], [Searchable], [Importable], [Backupable]) VALUES (37, 23, N'MsSQL2012Database', N'WebsitePanel.Providers.Database.SqlDatabase, WebsitePanel.Providers.Base', 1, 1, 0, 0, 1, 1, 1, 1) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[ServiceItemTypes] WHERE [DisplayName] = 'MsSQL2012User') +BEGIN + INSERT [dbo].[ServiceItemTypes] ([ItemTypeID], [GroupID], [DisplayName], [TypeName], [TypeOrder], [CalculateDiskspace], [CalculateBandwidth], [Suspendable], [Disposable], [Searchable], [Importable], [Backupable]) VALUES (38, 23, N'MsSQL2012User', N'WebsitePanel.Providers.Database.SqlUser, WebsitePanel.Providers.Base', 1, 0, 0, 0, 1, 1, 1, 1) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Providers] WHERE [DisplayName] = 'Microsoft SQL Server 2012') +BEGIN + -- provider + INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (209, 23, N'MsSQL', N'Microsoft SQL Server 2012', N'WebsitePanel.Providers.Database.MsSqlServer2012, WebsitePanel.Providers.Database.SqlServer', N'MSSQL', NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'MsSQL2012.Databases') +BEGIN + INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (218, 23, 1, N'MsSQL2012.Databases', N'Databases', 2, 0, 37) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'MsSQL2012.Users') +BEGIN + INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (219, 23, 2, N'MsSQL2012.Users', N'Users', 2, 0, 38) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'MsSQL2012.MaxDatabaseSize') +BEGIN + INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (221, 23, 3, N'MsSQL2012.MaxDatabaseSize', N'Max Database Size', 3, 0, NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'MsSQL2012.Backup') +BEGIN + INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (222, 23, 5, N'MsSQL2012.Backup', N'Database Backups', 1, 0, NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'MsSQL2012.Restore') +BEGIN + INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (223, 23, 6, N'MsSQL2012.Restore', N'Database Restores', 1, 0, NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'MsSQL2012.Truncate') +BEGIN +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (224, 23, 7, N'MsSQL2012.Truncate', N'Database Truncate', 1, 0, NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'MsSQL2012.MaxLogSize') +BEGIN +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (225, 23, 4, N'MsSQL2012.MaxLogSize', N'Max Log Size', 3, 0, NULL) +END +GO + +UPDATE [dbo].[ScheduleTaskParameters] SET DefaultValue = N'MsSQL2000=SQL Server 2000;MsSQL2005=SQL Server 2005;MsSQL2008=SQL Server 2008;MsSQL2012=SQL Server 2012;MySQL4=MySQL 4.0;MySQL5=MySQL 5.0' WHERE [ParameterID] = N'DATABASE_GROUP' +GO + +UPDATE [dbo].[UserSettings] SET [PropertyValue] = N' + + Hosting Space Summary Information + + + +
    + + + +
    + Hosting Space Information +
    + + +

    +Hello #user.FirstName#, +

    + +

    +"#space.Package.PackageName#" hosting space has been created under your user account +and below is the summary information for its resources. +

    +
    + + + + + +

    Control Panel URL

    + + + + + + + + + + + + + + + +
    Control Panel URLUsernamePassword
    http://panel.HostingCompany.com#user.Username##user.Password#
    +
    + + +

    Hosting Space Overview

    + +

    + General hosting space limits: +

    + + + + + + + + + + + + + + + + + +
    Disk Space, MB:
    Bandwidth, MB/Month:
    Maximum Number of Domains:
    Maximum Number of Sub-Domains:
    + + + +

    Web

    + +

    + Limits +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Maximum Number of Web Sites:
    Web Application Gallery:
    Classic ASP:
    ASP.NET 1.1:
    ASP.NET 2.0:
    ASP.NET 4.0:
    PHP 4:
    PHP 5:
    Perl:
    CGI-BIN:
    + + + +

    Name Servers

    +

    + In order to point your domain to the web site in this hosting space you should use the following Name Servers: +

    + + + + + + +
    #NameServer#
    +

    + You should change the name servers in domain registrar (Register.com, GoDaddy.com, etc.) control panel. + Please, study domain registrar''s user manual for directions how to change name servers or contact your domain + registrar directly by e-mail or phone. +

    +

    + Please note, the changes in domain registrar database do not reflect immediately and sometimes it requires from + 12 to 48 hours till the end of DNS propagation. +

    + + +

    Web Sites

    +

    + The following web sites have been created under hosting space: +

    + + + + + + +
    http://#WebSite.Name#
    +

    + * Please note, your web sites may not be accessible from 12 to 48 hours after you''ve changed name servers for their respective domains. +

    + + + +

    Temporary URL

    +

    + You can access your web sites right now using their respective temporary URLs (instant aliases). + Temporary URL is a sub-domain of the form http://yourdomain.com.providerdomain.com where "yourdomain.com" is your + domain and "providerdomain.com" is the domain of your hosting provider. +

    +

    + You can use the following Temporary URL for all your web sites: +

    + + + + +
    + http://YourDomain.com.#InstantAlias# +
    +
    + + +

    Files Location

    +

    + Sometimes it is required to know the physical location of the hosting space folder (absolute path). + Hosting space folder is the folder where all hosting space files such as web sites content, web logs, data files, etc. are located. +

    +

    + The root of your hosting space on our HDD is here: +

    + + + + +
    + #PackageRootFolder# +
    +

    + By default the root folder of any web site within your hosting space is built as following (you can change it anytime from the control panel): +

    + + + + +
    + #PackageRootFolder#\YourDomain.com\wwwroot +
    +
    + + + + +

    FTP

    + + +

    Limits

    + + + + + +
    Maximum Number of FTP Accounts:
    + + + +

    FTP Server

    +

    +Your hosting space allows working with your files by FTP. +You can use the following FTP server to access your space files remotely: +

    + + + + +
    ftp://#FtpIP#
    +

    + Also, you can use the following domain names to access your FTP server: +

    + + + + +
    ftp://ftp.YourDomain.com
    + +

    + During DNS propagation period (when domain name servers have been changed), similar to web sites, FTP server can be access with Temporary URL too: +

    + + + + +
    ftp://ftp.YourDomain.com.#InstantAlias#
    +
    + +

    FTP Accounts

    +

    + The following FTP accounts have been created under your hosting space and can be used to access FTP server: +

    + + + + + + + + + + + + + + + + + + + + + +
    UsernamePasswordFolder
    #FtpAcocunt.Name# + #FtpAcocunt.Password# + #FtpAcocunt.Folder#
    +
    + + + + +

    Mail

    + + +

    Limits

    + + + + + + + + + + + + + + + + + +
    Maximum Number of Mail Accounts:
    Maximum Number of Mail Forwardings:
    Maximum Number of Mail Groups (Aliases):
    Maximum Number of Mailing Lists:
    + + +

    SMTP/POP3 Server

    +

    +Below is the IP address of your POP3/SMTP/IMAP server. You can always access your mailbox(es) +using this IP address instead of actual POP3/SMTP/IMAP servers name: +

    + + + + +
    + #MailRecords[0].ExternalIP# +
    + +

    + Also, you can use the following domain names to access SMTP/POP3 server from your favourite e-mail client software: +

    + + + + +
    mail.YourDomain.com
    + + +

    + During DNS propagation period (when domain name servers have been changed), similar to web sites, SMTP/POP3 server can be access with temporary domain too: +

    + + + + +
    mail.YourDomain.com.#InstantAlias#
    +
    + + +

    Mail Accounts

    +

    + The following mail accounts have been created under your hosting space: +

    + + + + + + + + + + + + + + + + + + + + + +
    E-mailUsername (for POP3/SMTP/IMAP/WebMail)Password
    #MailAccount.Name##MailAccount.Name# + #MailAccount.Password# +
    +
    + + +

    Databases

    + +

    + You can create databases and database users on "Space Home -> Databases" screen in the control panel. +

    + + + + +

    SQL Server 2000

    + + + + + + + + + + +
    Maximum Number of Databases:
    Maximum Number of Users:
    + +

    + In order to connect to SQL Server 2000 from Management Studio, Enterprise Manager, Query Analyzer + or other client software you can use the following SQL Server address: +

    + + + + +
    #MsSQL2000Address#
    + +
    + + + + +

    SQL Server 2005

    + + + + + + + + + + +
    Maximum Number of Databases:
    Maximum Number of Users:
    + +

    + In order to connect to SQL Server 2005 from Management Studio, Enterprise Manager, Query Analyzer + or other client software you can use the following SQL Server address: +

    + + + + +
    #MsSQL2005Address#
    + +
    + + + + +

    SQL Server 2008

    + + + + + + + + + + +
    Maximum Number of Databases:
    Maximum Number of Users:
    + +

    + In order to connect to SQL Server 2008 from Management Studio, Enterprise Manager, Query Analyzer + or other client software you can use the following SQL Server address: +

    + + + + +
    #MsSQL2008Address#
    + +
    + + + + +

    SQL Server 2012

    + + + + + + + + + + +
    Maximum Number of Databases:
    Maximum Number of Users:
    + +

    + In order to connect to SQL Server 2012 from Management Studio, Enterprise Manager, Query Analyzer + or other client software you can use the following SQL Server address: +

    + + + + +
    #MsSQL2012Address#
    + +
    + + + +

    MySQL 4.x

    + + + + + + + + + + +
    Maximum Number of Databases:
    Maximum Number of Users:
    + +

    + In order to connect to MySQL 4.x server you can use the following address: +

    + + + + +
    #MySQL4Address#
    +
    + + + + +

    MySQL 5.x

    + + + + + + + + + + +
    Maximum Number of Databases:
    Maximum Number of Users:
    + +

    + In order to connect to MySQL 5.x server you can use the following address: +

    + + + + +
    #MySQL5Address#
    +
    + + + +

    Microsoft Access

    +

    + Microsoft Access database are automatically allowed in any hosting plan. You can create/upload any number of Access + database from File Manager in control panel. +

    + + + + +

    Web Statistics

    + + + + + + +
    Maximum Number of Statistics Sites:
    + +

    + You can view advanced statistics from your domain using URL of the following form: +

    + + + + +
    http://stats.YourDomain.com
    + +

    + During DNS propagation period (when domain name servers have been changed), you can access web site statistics with Temporary URL: +

    + + + + +
    http://stats.YourDomain.com.#InstantAlias#
    +
    +
    + + +

    +If you have any questions regarding your hosting account, feel free to contact our support department at any time. +

    + +

    +Best regards,
    +ACME Hosting Inc.
    +Web Site: www.AcmeHosting.com
    +E-Mail: support@AcmeHosting.com +

    +
    + + + +

    + You may also use SQL Server address above in your application connection strings, for example: +

    + + + + + + + + + +
    Classic ASP (ADO Library)Provider=SQLOLEDB;Data source=#server#;Initial catalog=databaseName;User Id=userName;Password=password;
    ASP.NET (ADO.NET Library)Server=#server#;Database=databaseName;Uid=userName;Password=password;
    +
    + + + + #space.Quotas[quota].QuotaAllocatedValue#Unlimited + + 0 + + + + + + EnabledDisabled + + Disabled + + + +
    + +' WHERE [PropertyName] = N'HtmlBody' +GO + + + +IF NOT EXISTS (SELECT * FROM [dbo].[Providers] WHERE [DisplayName] = 'Microsoft SQL Server 2012') +BEGIN + INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (209, 23, N'MsSQL', N'Microsoft SQL Server 2012', N'WebsitePanel.Providers.Database.MsSqlServer2012, WebsitePanel.Providers.Database.SqlServer', N'MSSQL', NULL) +END +GO + diff --git a/WebsitePanel/Resources/build-serveradmin-settings.xml b/WebsitePanel/Resources/build-serveradmin-settings.xml index 0a0b96ef..e6c2859d 100644 --- a/WebsitePanel/Resources/build-serveradmin-settings.xml +++ b/WebsitePanel/Resources/build-serveradmin-settings.xml @@ -228,6 +228,7 @@ and below is the summary information for its resources. <ad:if test="#space.Groups.ContainsKey("MsSQL2000")#"><li><a href="##mssql2000">SQL Server 2000</a></li></ad:if> <ad:if test="#space.Groups.ContainsKey("MsSQL2005")#"><li><a href="##mssql2005">SQL Server 2005</a></li></ad:if> <ad:if test="#space.Groups.ContainsKey("MsSQL2008")#"><li><a href="##mssql2008">SQL Server 2008</a></li></ad:if> + <ad:if test="#space.Groups.ContainsKey("MsSQL2012")#"><li><a href="##mssql2012">SQL Server 2012</a></li></ad:if> <ad:if test="#space.Groups.ContainsKey("MySQL4")#"><li><a href="##mysql4">My SQL 4.x</a></li></ad:if> <ad:if test="#space.Groups.ContainsKey("MySQL5")#"><li><a href="##mysql5">My SQL 5.x</a></li></ad:if> <li><a href="##msaccess">Microsoft Access</a></li> @@ -675,6 +676,34 @@ using this IP address instead of actual POP3/SMTP/IMAP servers name: <ad:MsSqlConnectionStrings server="#MsSQL2008Address#" /> </ad:if> +<ad:if test="#space.Groups.ContainsKey("MsSQL2012")#"> +<a name="mssql2012"></a> + +<h2>SQL Server 2012</h2> + +<table> + <tr> + <td class="Label">Maximum Number of Databases:</td> + <td><ad:NumericQuota quota="MsSQL2012.Databases" /></td> + </tr> + <tr> + <td class="Label">Maximum Number of Users:</td> + <td><ad:NumericQuota quota="MsSQL2012.Users" /></td> + </tr> +</table> + +<p> + In order to connect to SQL Server 2012 from Management Studio, Enterprise Manager, Query Analyzer + or other client software you can use the following SQL Server address: +</p> +<table> + <tr> + <td>#MsSQL2012Address#</td> + </tr> +</table> +<ad:MsSqlConnectionStrings server="#MsSQL2012Address#" /> +</ad:if> + <ad:if test="#space.Groups.ContainsKey("MySQL4")#"> <a name="mysql4"></a> <h2>MySQL 4.x</h2> @@ -1009,6 +1038,18 @@ In order to connect to SQL Server 2008 from Management Studio, Enterprise Manage <ad:MsSqlConnectionStrings server="#MsSQL2008Address#" /> </ad:if> +<ad:if test="#space.Groups.ContainsKey("MsSQL2012")#">SQL Server 2012 +--------------- +Maximum Number of Databases: <ad:NumericQuota quota="MsSQL2012.Databases" /> +Maximum Number of Users: <ad:NumericQuota quota="MsSQL2012.Users" /> + +In order to connect to SQL Server 2012 from Management Studio, Enterprise Manager, Query Analyzer or other client software you can use the following SQL Server address: + + #MsSQL2012Address#</td> + +<ad:MsSqlConnectionStrings server="#MsSQL2012Address#" /> +</ad:if> + <ad:if test="#space.Groups.ContainsKey("MySQL4")#">MySQL 4.x --------- diff --git a/WebsitePanel/Sources/Tools/WebsitePanel.LocalizationToolkit.Setup/Resources.xml b/WebsitePanel/Sources/Tools/WebsitePanel.LocalizationToolkit.Setup/Resources.xml index 49586147..973cbf22 100644 --- a/WebsitePanel/Sources/Tools/WebsitePanel.LocalizationToolkit.Setup/Resources.xml +++ b/WebsitePanel/Sources/Tools/WebsitePanel.LocalizationToolkit.Setup/Resources.xml @@ -1,4 +1,4 @@ - + App_GlobalResources\Ecommerce_Modules.ascx.resx @@ -3334,6 +3334,16 @@ ModuleTitle.Sql2008Users SQL Server 2008 Logins + + App_GlobalResources\WebsitePanel_Modules.ascx.resx + ModuleTitle.Sql2012Databases + SQL Server 2012 Databases + + + App_GlobalResources\WebsitePanel_Modules.ascx.resx + ModuleTitle.Sql2012Users + SQL Server 2012 Logins + App_GlobalResources\WebsitePanel_Modules.ascx.resx ModuleTitle.SQLDatabaseProperties @@ -3994,6 +4004,16 @@ PageTitle.SpaceMsSql2008 {user} - {space} - SQL Server 2008 + + App_GlobalResources\WebsitePanel_Pages.ascx.resx + PageName.SpaceMsSql2012 + SQL Server 2012 + + + App_GlobalResources\WebsitePanel_Pages.ascx.resx + PageTitle.SpaceMsSql2012 + {user} - {space} - SQL Server 2012 + App_GlobalResources\WebsitePanel_Pages.ascx.resx PageTitle.SpaceMsSql2005 @@ -7094,6 +7114,36 @@ Quota.MsSQL2008.Users Users + + App_GlobalResources\WebsitePanel_SharedResources.ascx.resx + Quota.MsSQL2012.Backup + Database Backups + + + App_GlobalResources\WebsitePanel_SharedResources.ascx.resx + Quota.MsSQL2012.Databases + Databases + + + App_GlobalResources\WebsitePanel_SharedResources.ascx.resx + Quota.MsSQL2012.MaxDatabaseSize + Max Database Size, MB + + + App_GlobalResources\WebsitePanel_SharedResources.ascx.resx + Quota.MsSQL2012.Restore + Database Restores + + + App_GlobalResources\WebsitePanel_SharedResources.ascx.resx + Quota.MsSQL2012.Truncate + Database Truncate + + + App_GlobalResources\WebsitePanel_SharedResources.ascx.resx + Quota.MsSQL2012.Users + Users + App_GlobalResources\WebsitePanel_SharedResources.ascx.resx Quota.MySQL5.Backup @@ -7129,6 +7179,11 @@ ResourceGroup.MsSQL2008 SQL Server 2008 + + App_GlobalResources\WebsitePanel_SharedResources.ascx.resx + ResourceGroup.MsSQL2012 + SQL Server 2012 + App_GlobalResources\WebsitePanel_SharedResources.ascx.resx ResourceGroup.MySQL5 @@ -7449,6 +7504,16 @@ ServiceItemType.MsSQL2008User MS SQL 2008 User + + App_GlobalResources\WebsitePanel_SharedResources.ascx.resx + ServiceItemType.MsSQL2012Database + MS SQL 2012 Database + + + App_GlobalResources\WebsitePanel_SharedResources.ascx.resx + ServiceItemType.MsSQL2012User + MS SQL 2012 User + App_GlobalResources\WebsitePanel_SharedResources.ascx.resx ServiceItemType.MySQL4Database @@ -9300,6 +9365,11 @@ Quota.MsSQL2008.MaxLogSize Max Log Size, MB + + App_GlobalResources\WebsitePanel_SharedResources.ascx.resx + Quota.MsSQL2012.MaxLogSize + Max Log Size, MB + App_GlobalResources\WebsitePanel_SharedResources.ascx.resx Error.EXCHANGE_UPDATE_MAILBOX_PERMISSIONS @@ -11875,6 +11945,11 @@ ReportResourceGroup.MsSQL2008 SQL Server 2008 + + App_GlobalResources\WebsitePanel_SharedResources.ascx.resx + ReportResourceGroup.MsSQL2012 + SQL Server 2012 + App_GlobalResources\WebsitePanel_SharedResources.ascx.resx WebAppGallery.ApplicationInstallationError @@ -15762,6 +15837,11 @@ for your installation of ResellerClub .NET API Kit.</div> lclMSSQL2008Resources.Text Microsoft SQL 2008 Quotas + + DesktopModules\Ecommerce\UserControls\App_LocalResources\HostingPlanQuotas.ascx.resx + lclMSSQL2012Resources.Text + Microsoft SQL 2012 Quotas + DesktopModules\Ecommerce\UserControls\App_LocalResources\LoginUserAccount.ascx.resx lclPassword.Text diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ResourceGroups.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ResourceGroups.cs index d7ae1e70..ffa8d80c 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ResourceGroups.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ResourceGroups.cs @@ -38,6 +38,7 @@ namespace WebsitePanel.EnterpriseServer public const string MySql4 = "MySQL4"; public const string MsSql2005 = "MsSQL2005"; public const string MsSql2008 = "MsSQL2008"; + public const string MsSql2012 = "MsSQL2012"; public const string MySql5 = "MySQL5"; public const string Dns = "DNS"; public const string Statistics = "Statistics"; diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/PackageController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/PackageController.cs index b69898c7..0cbd25ca 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/PackageController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/PackageController.cs @@ -1875,6 +1875,7 @@ namespace WebsitePanel.EnterpriseServer SetSqlServerExternalAddress(packageId, items, ResourceGroups.MsSql2000); SetSqlServerExternalAddress(packageId, items, ResourceGroups.MsSql2005); SetSqlServerExternalAddress(packageId, items, ResourceGroups.MsSql2008); + SetSqlServerExternalAddress(packageId, items, ResourceGroups.MsSql2012); SetSqlServerExternalAddress(packageId, items, ResourceGroups.MySql4); SetSqlServerExternalAddress(packageId, items, ResourceGroups.MySql5); diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebAppGallery/WebAppGalleryController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebAppGallery/WebAppGalleryController.cs index 49a4338d..09464f13 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebAppGallery/WebAppGalleryController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebAppGallery/WebAppGalleryController.cs @@ -169,10 +169,11 @@ namespace WebsitePanel.EnterpriseServer //{ // appsFilter.AddRange(SupportedAppDependencies.PHP_SCRIPTING); //} - //// if either MSSQL 2000, 2005 or 2008 enabled in the hosting plan + //// if either MSSQL 2000, 2005, 2008 or 2012 enabled in the hosting plan //if (context.Groups.ContainsKey(ResourceGroups.MsSql2000) || // context.Groups.ContainsKey(ResourceGroups.MsSql2005) || - // context.Groups.ContainsKey(ResourceGroups.MsSql2008)) + // context.Groups.ContainsKey(ResourceGroups.MsSql2008) || + // context.Groups.ContainsKey(ResourceGroups.MsSql2012)) //{ // appsFilter.AddRange(SupportedAppDependencies.MSSQL_DATABASE); //} @@ -342,6 +343,7 @@ namespace WebsitePanel.EnterpriseServer !(context.Groups.ContainsKey(ResourceGroups.MsSql2000) || context.Groups.ContainsKey(ResourceGroups.MsSql2005) || context.Groups.ContainsKey(ResourceGroups.MsSql2008) + || context.Groups.ContainsKey(ResourceGroups.MsSql2012) || context.Groups.ContainsKey(ResourceGroups.MySql4) || context.Groups.ContainsKey(ResourceGroups.MySql5))) result.ErrorCodes.Add(GalleryErrors.DatabaseRequired); @@ -350,7 +352,8 @@ namespace WebsitePanel.EnterpriseServer else if ((app.WellKnownDependencies & GalleryApplicationWellKnownDependency.SQL) == GalleryApplicationWellKnownDependency.SQL && !(context.Groups.ContainsKey(ResourceGroups.MsSql2000) || context.Groups.ContainsKey(ResourceGroups.MsSql2005) - || context.Groups.ContainsKey(ResourceGroups.MsSql2008))) + || context.Groups.ContainsKey(ResourceGroups.MsSql2008) + || context.Groups.ContainsKey(ResourceGroups.MsSql2012))) result.ErrorCodes.Add(GalleryErrors.SQLRequired); // MySQL diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Database.SqlServer/MsSqlServer2012.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Database.SqlServer/MsSqlServer2012.cs new file mode 100644 index 00000000..f9930f20 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Database.SqlServer/MsSqlServer2012.cs @@ -0,0 +1,47 @@ +// Copyright (c) 2012, Outercurve Foundation. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// - Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// - Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// - Neither the name of the Outercurve Foundation nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +using System; + +namespace WebsitePanel.Providers.Database +{ + public class MsSqlServer2012 : MsSqlServer2005 + { + public override bool IsInstalled() + { + return CheckVersion("11."); + } + + public override void TruncateDatabase(string databaseName) + { + SqlDatabase database = GetDatabase(databaseName); + ExecuteNonQuery(String.Format(@"USE [{0}];DBCC SHRINKFILE ('{1}', 1);", + databaseName, database.LogName)); + } + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Database.SqlServer/WebsitePanel.Providers.Database.SqlServer.csproj b/WebsitePanel/Sources/WebsitePanel.Providers.Database.SqlServer/WebsitePanel.Providers.Database.SqlServer.csproj index 59740a36..2e00638b 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Database.SqlServer/WebsitePanel.Providers.Database.SqlServer.csproj +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Database.SqlServer/WebsitePanel.Providers.Database.SqlServer.csproj @@ -65,6 +65,7 @@ + diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/ModulesData.config b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/ModulesData.config index f4ac71d6..ffd5eab9 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/ModulesData.config +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/ModulesData.config @@ -55,6 +55,7 @@ + @@ -97,6 +98,7 @@ + diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Pages.config b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Pages.config index e3a9e46c..70ffb1a7 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Pages.config +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Pages.config @@ -340,6 +340,26 @@ + +