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
+
+
+
+
+
+
+
+
+
+
+
+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
+
+
+
+
+
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:
+
+
+
+ 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:
+
+
+
+ * 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:
+
+
+
+ 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:
+
+
+
+
+ Username |
+
+ Password |
+
+ Folder |
+
+
+
+
+
+ #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-mail |
+ Username (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:
+
+
+
+
+
+
+
+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:
+
+
+
+
+
+
+
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 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_Modules.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_Modules.ascx.resx
index dc760117..184b2e80 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_Modules.ascx.resx
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_Modules.ascx.resx
@@ -522,6 +522,12 @@
SQL Server 2008 Logins
+
+ SQL Server 2012 Databases
+
+
+ SQL Server 2012 Logins
+
SQL Database Properties
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_Pages.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_Pages.ascx.resx
index 4d8ebe38..887c6a8f 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_Pages.ascx.resx
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_Pages.ascx.resx
@@ -282,6 +282,12 @@
{user} - {space} - SQL Server 2008
+
+ SQL Server 2012
+
+
+ {user} - {space} - SQL Server 2012
+
{user} - {space} - SQL Server 2005
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_SharedResources.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_SharedResources.ascx.resx
index 426ce016..e5a30c55 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_SharedResources.ascx.resx
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_SharedResources.ascx.resx
@@ -1809,6 +1809,24 @@
Users
+
+ Database Backups
+
+
+ Databases
+
+
+ Max Database Size, MB
+
+
+ Database Restores
+
+
+ Database Truncate
+
+
+ Users
+
Database Backups
@@ -1848,6 +1866,9 @@
SQL Server 2008
+
+ SQL Server 2012
+
MySQL 5
@@ -2040,6 +2061,12 @@
MS SQL 2008 User
+
+ MS SQL 2012 Database
+
+
+ MS SQL 2012 User
+
MySQL 4 Database
@@ -3151,6 +3178,9 @@
Max Log Size, MB
+
+ Max Log Size, MB
+
Error updating mailbox permissions. See audit log for more details.
@@ -4693,6 +4723,9 @@
SQL Server 2008
+
+ SQL Server 2012
+
Error while install application pack
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/App_LocalResources/HostingPlanQuotas.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/App_LocalResources/HostingPlanQuotas.ascx.resx
index 189e7602..35fd28ca 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/App_LocalResources/HostingPlanQuotas.ascx.resx
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/App_LocalResources/HostingPlanQuotas.ascx.resx
@@ -165,4 +165,7 @@
Microsoft SQL 2008 Quotas
+
+ Microsoft SQL 2012 Quotas
+
\ No newline at end of file
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/HostingPlanQuotas.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/HostingPlanQuotas.ascx
index 46783657..75d7707f 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/HostingPlanQuotas.ascx
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/HostingPlanQuotas.ascx
@@ -160,6 +160,24 @@
+
+
+
+
+
+
+
+ |
+
+
+
+
+ <%# GetSharedLocalizedString("Quota." + GetQuotaItemName((string)Container.DataItem)) %>: |
+ <%# GetQuotaItemAllocatedValue((string)Container.DataItem) %> |
+
+
+
+
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/HostingPlanQuotas.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/HostingPlanQuotas.ascx.designer.cs
index 93fb9dc1..d599044c 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/HostingPlanQuotas.ascx.designer.cs
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/HostingPlanQuotas.ascx.designer.cs
@@ -157,6 +157,15 @@ namespace WebsitePanel.Ecommerce.Portal.UserControls {
///
protected global::System.Web.UI.WebControls.PlaceHolder MsSQL2008;
+ ///
+ /// MsSQL2012 control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.PlaceHolder MsSQL2012;
+
///
/// Localize3 control.
///
@@ -175,6 +184,15 @@ namespace WebsitePanel.Ecommerce.Portal.UserControls {
///
protected global::System.Web.UI.WebControls.Repeater MsSQL2008_Quotas;
+ ///
+ /// MsSQL2012_Quotas control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.Repeater MsSQL2012_Quotas;
+
///
/// MySQL4 control.
///
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/WebsitePanelControlBase.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/WebsitePanelControlBase.cs
index a95f60d8..9c528998 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/WebsitePanelControlBase.cs
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/WebsitePanelControlBase.cs
@@ -302,6 +302,7 @@ namespace WebsitePanel.Portal
AddDatabaseVersion(cntx, ResourceGroups.MsSql2000, items, versions);
AddDatabaseVersion(cntx, ResourceGroups.MsSql2005, items, versions);
AddDatabaseVersion(cntx, ResourceGroups.MsSql2008, items, versions);
+ AddDatabaseVersion(cntx, ResourceGroups.MsSql2012, items, versions);
AddDatabaseVersion(cntx, ResourceGroups.MySql4, items, versions);
AddDatabaseVersion(cntx, ResourceGroups.MySql5, items, versions);
}
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OdbcEditSource.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OdbcEditSource.ascx.cs
index 671f451b..9acf1b31 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OdbcEditSource.ascx.cs
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OdbcEditSource.ascx.cs
@@ -206,9 +206,11 @@ namespace WebsitePanel.Portal
sqlDatabases.AddRange(ES.Services.DatabaseServers.GetSqlDatabases(packageId, ResourceGroups.MsSql2000, false));
sqlDatabases.AddRange(ES.Services.DatabaseServers.GetSqlDatabases(packageId, ResourceGroups.MsSql2005, false));
sqlDatabases.AddRange(ES.Services.DatabaseServers.GetSqlDatabases(packageId, ResourceGroups.MsSql2008, false));
+ sqlDatabases.AddRange(ES.Services.DatabaseServers.GetSqlDatabases(packageId, ResourceGroups.MsSql2012, false));
sqlUsers.AddRange(ES.Services.DatabaseServers.GetSqlUsers(packageId, ResourceGroups.MsSql2000, false));
sqlUsers.AddRange(ES.Services.DatabaseServers.GetSqlUsers(packageId, ResourceGroups.MsSql2005, false));
sqlUsers.AddRange(ES.Services.DatabaseServers.GetSqlUsers(packageId, ResourceGroups.MsSql2008, false));
+ sqlUsers.AddRange(ES.Services.DatabaseServers.GetSqlUsers(packageId, ResourceGroups.MsSql2012, false));
}
else if (driverName == "MySql")
{
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointEditSite.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointEditSite.ascx.cs
index c9d27324..077f795e 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointEditSite.ascx.cs
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointEditSite.ascx.cs
@@ -69,6 +69,7 @@ namespace WebsitePanel.Portal
versions.Add(ResourceGroups.MsSql2000);
versions.Add(ResourceGroups.MsSql2005);
versions.Add(ResourceGroups.MsSql2008);
+ versions.Add(ResourceGroups.MsSql2012);
FillDatabaseVersions(PanelSecurity.PackageId, ddlDatabaseVersion.Items, versions);
}
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebApplicationGalleryParams.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebApplicationGalleryParams.ascx.cs
index 904f4661..e0efe20b 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebApplicationGalleryParams.ascx.cs
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebApplicationGalleryParams.ascx.cs
@@ -140,6 +140,8 @@ namespace WebsitePanel.Portal
PackageContext cntx = PackagesHelper.GetCachedPackageContext(PanelSecurity.PackageId);
// add SQL Server engines
+ if (cntx.Groups.ContainsKey(ResourceGroups.MsSql2012))
+ AddDatabaseEngine(DeploymentParameterWellKnownTag.Sql, ResourceGroups.MsSql2012, GetSharedLocalizedString("ResourceGroup." + ResourceGroups.MsSql2012));
if (cntx.Groups.ContainsKey(ResourceGroups.MsSql2008))
AddDatabaseEngine(DeploymentParameterWellKnownTag.Sql, ResourceGroups.MsSql2008, GetSharedLocalizedString("ResourceGroup." + ResourceGroups.MsSql2008));
if (cntx.Groups.ContainsKey(ResourceGroups.MsSql2005))