Server, Portal, and Enterprise server changes to allow MS SQL Server 2014

Service (Create/Update/Delete) remote databases and users on SQL Server v12
(MS SQL 2014)
This commit is contained in:
David McDonald 2014-08-13 19:26:52 -05:00
parent 9cb4804ab8
commit f8906f66af
20 changed files with 975 additions and 16 deletions

View file

@ -57,6 +57,7 @@
<MenuItem pageID="SpaceMsSql2005" resourceGroup="MsSQL2005"/>
<MenuItem pageID="SpaceMsSql2008" resourceGroup="MsSQL2008"/>
<MenuItem pageID="SpaceMsSql2012" resourceGroup="MsSQL2012"/>
<MenuItem pageID="SpaceMsSql2014" resourceGroup="MsSQL2014"/>
<MenuItem pageID="SpaceMySql4" resourceGroup="MySQL4"/>
<MenuItem pageID="SpaceMySql5" resourceGroup="MySQL5"/>
</MenuItems>
@ -115,6 +116,7 @@
<Icon pageID="SpaceMsSql2005" resourceGroup="MsSQL2005" imageUrl="icons/mssql_48.png"/>
<Icon pageID="SpaceMsSql2008" resourceGroup="MsSQL2008" imageUrl="icons/mssql_48.png"/>
<Icon pageID="SpaceMsSql2012" resourceGroup="MsSQL2012" imageUrl="icons/mssql_48.png"/>
<Icon pageID="SpaceMsSql2014" resourceGroup="MsSQL2014" imageUrl="icons/mssql_48.png"/>
<Icon pageID="SpaceMySql4" resourceGroup="MySQL4" imageUrl="icons/mysql_48.png"/>
<Icon pageID="SpaceMySql5" resourceGroup="MySQL5" imageUrl="icons/mysql_48.png"/>
<Icon pageID="SpaceOdbc" resourceGroup="OS" quota="OS.ODBC" imageUrl="icons/odbc_48.png"/>

View file

@ -417,6 +417,29 @@
</Content>
</Page>
<Page name="SpaceMsSql2014" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="SqlDatabases" title="Sql2014Databases" icon="mssql_48.png" readOnlyRoles="PlatformCSR,ResellerCSR">
<Settings>
<Add name="GroupName" value="MsSQL2014" />
</Settings>
</Module>
<Module moduleDefinitionID="SqlUsers" title="Sql2014Users" icon="db_user_48.png" readOnlyRoles="PlatformCSR,ResellerCSR">
<Settings>
<Add name="GroupName" value="MsSQL2014" />
</Settings>
</Module>
</Content>
</Page>
<Page name="SpaceMySql4" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">

View file

@ -287,6 +287,12 @@
</data>
<data name="PageTitle.SpaceMsSql2012" xml:space="preserve">
<value>{user} - {space} - SQL Server 2012</value>
</data>
<data name="PageName.SpaceMsSql2014" xml:space="preserve">
<value>SQL Server 2014</value>
</data>
<data name="PageTitle.SpaceMsSql2014" xml:space="preserve">
<value>{user} - {space} - SQL Server 2014</value>
</data>
<data name="PageTitle.SpaceMsSql2005" xml:space="preserve">
<value>{user} - {space} - SQL Server 2005</value>

View file

@ -1854,6 +1854,24 @@
<data name="Quota.MsSQL2012.Users" xml:space="preserve">
<value>Users</value>
</data>
<data name="Quota.MsSQL2014.Backup" xml:space="preserve">
<value>Database Backups</value>
</data>
<data name="Quota.MsSQL2014.Databases" xml:space="preserve">
<value>Databases</value>
</data>
<data name="Quota.MsSQL2014.MaxDatabaseSize" xml:space="preserve">
<value>Max Database Size, MB</value>
</data>
<data name="Quota.MsSQL2014.Restore" xml:space="preserve">
<value>Database Restores</value>
</data>
<data name="Quota.MsSQL2014.Truncate" xml:space="preserve">
<value>Database Truncate</value>
</data>
<data name="Quota.MsSQL2014.Users" xml:space="preserve">
<value>Users</value>
</data>
<data name="Quota.MySQL5.Backup" xml:space="preserve">
<value>Database Backups</value>
</data>
@ -1905,6 +1923,9 @@
<data name="ResourceGroup.MsSQL2012" xml:space="preserve">
<value>SQL Server 2012</value>
</data>
<data name="ResourceGroup.MsSQL2014" xml:space="preserve">
<value>SQL Server 2014</value>
</data>
<data name="Quota.OS.MinimumTaskInterval" xml:space="preserve">
<value>Minimum Tasks Interval, minutes</value>
</data>
@ -2100,6 +2121,12 @@
<data name="ServiceItemType.MsSQL2012User" xml:space="preserve">
<value>MS SQL 2012 User</value>
</data>
<data name="ServiceItemType.MsSQL2014Database" xml:space="preserve">
<value>MS SQL 2014 Database</value>
</data>
<data name="ServiceItemType.MsSQL2014User" xml:space="preserve">
<value>MS SQL 2014 User</value>
</data>
<data name="ServiceItemType.MySQL4Database" xml:space="preserve">
<value>MySQL 4 Database</value>
</data>
@ -3274,6 +3301,9 @@
<data name="Quota.MsSQL2012.MaxLogSize" xml:space="preserve">
<value>Max Log Size, MB</value>
</data>
<data name="Quota.MsSQL2014.MaxLogSize" xml:space="preserve">
<value>Max Log Size, MB</value>
</data>
<data name="Error.EXCHANGE_UPDATE_MAILBOX_PERMISSIONS" xml:space="preserve">
<value>Error updating mailbox permissions. See audit log for more details.</value>
</data>
@ -4834,6 +4864,9 @@
<data name="ReportResourceGroup.MsSQL2012" xml:space="preserve">
<value>SQL Server 2012</value>
</data>
<data name="ReportResourceGroup.MsSQL2014" xml:space="preserve">
<value>SQL Server 2014</value>
</data>
<data name="WebAppGallery.ApplicationInstallationError" xml:space="preserve">
<value>Error while install application pack</value>
</data>

View file

@ -168,4 +168,7 @@
<data name="lclMSSQL2012Resources.Text" xml:space="preserve">
<value>Microsoft SQL 2012 Quotas</value>
</data>
<data name="lclMSSQL2014Resources.Text" xml:space="preserve">
<value>Microsoft SQL 2014 Quotas</value>
</data>
</root>

View file

@ -165,7 +165,7 @@
<th colspan="2">
<br />
<div class="FormButtonsBar">
<div class="FormSectionHeader"><asp:Localize ID="Localize3" runat="server" meta:resourcekey="lclMSSQL2012Resources" /></div>
<div class="FormSectionHeader"><asp:Localize ID="Localize8" runat="server" meta:resourcekey="lclMSSQL2012Resources" /></div>
</div>
</th>
</tr>
@ -179,6 +179,25 @@
</asp:Repeater>
</asp:PlaceHolder>
<asp:PlaceHolder runat="server" ID="MsSQL2014" Visible="false">
<tr>
<th colspan="2">
<br />
<div class="FormButtonsBar">
<div class="FormSectionHeader"><asp:Localize ID="Localize7" runat="server" meta:resourcekey="lclMSSQL2014Resources" /></div>
</div>
</th>
</tr>
<asp:Repeater runat="server" ID="MsSQL2014_Quotas">
<ItemTemplate>
<tr>
<td class="Width20Pcs" style="white-space: nowrap;"><strong><%# GetSharedLocalizedString("Quota." + GetQuotaItemName((string)Container.DataItem)) %>:</strong></td>
<td><%# GetQuotaItemAllocatedValue((string)Container.DataItem) %></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</asp:PlaceHolder>
<asp:PlaceHolder runat="server" ID="MySQL4" Visible="false">
<tr>
<th colspan="2">

View file

@ -1,10 +1,9 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.3074
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
@ -157,15 +156,6 @@ namespace WebsitePanel.Ecommerce.Portal.UserControls {
/// </remarks>
protected global::System.Web.UI.WebControls.PlaceHolder MsSQL2008;
/// <summary>
/// MsSQL2012 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.PlaceHolder MsSQL2012;
/// <summary>
/// Localize3 control.
/// </summary>
@ -184,6 +174,24 @@ namespace WebsitePanel.Ecommerce.Portal.UserControls {
/// </remarks>
protected global::System.Web.UI.WebControls.Repeater MsSQL2008_Quotas;
/// <summary>
/// MsSQL2012 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.PlaceHolder MsSQL2012;
/// <summary>
/// Localize8 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize Localize8;
/// <summary>
/// MsSQL2012_Quotas control.
/// </summary>
@ -193,6 +201,33 @@ namespace WebsitePanel.Ecommerce.Portal.UserControls {
/// </remarks>
protected global::System.Web.UI.WebControls.Repeater MsSQL2012_Quotas;
/// <summary>
/// MsSQL2014 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.PlaceHolder MsSQL2014;
/// <summary>
/// Localize7 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize Localize7;
/// <summary>
/// MsSQL2014_Quotas control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Repeater MsSQL2014_Quotas;
/// <summary>
/// MySQL4 control.
/// </summary>

View file

@ -303,6 +303,7 @@ namespace WebsitePanel.Portal
AddDatabaseVersion(cntx, ResourceGroups.MsSql2005, items, versions);
AddDatabaseVersion(cntx, ResourceGroups.MsSql2008, items, versions);
AddDatabaseVersion(cntx, ResourceGroups.MsSql2012, items, versions);
AddDatabaseVersion(cntx, ResourceGroups.MsSql2014, items, versions);
AddDatabaseVersion(cntx, ResourceGroups.MySql4, items, versions);
AddDatabaseVersion(cntx, ResourceGroups.MySql5, items, versions);
}

View file

@ -207,10 +207,12 @@ namespace WebsitePanel.Portal
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));
sqlDatabases.AddRange(ES.Services.DatabaseServers.GetSqlDatabases(packageId, ResourceGroups.MsSql2014, 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));
sqlUsers.AddRange(ES.Services.DatabaseServers.GetSqlUsers(packageId, ResourceGroups.MsSql2014, false));
}
else if (driverName == "MySql")
{

View file

@ -170,7 +170,8 @@ namespace WebsitePanel.Portal
(resourceGroup.GroupName == ResourceGroups.MsSql2000)|
(resourceGroup.GroupName == ResourceGroups.MsSql2005)|
(resourceGroup.GroupName == ResourceGroups.MsSql2008)|
(resourceGroup.GroupName == ResourceGroups.MsSql2012)|
(resourceGroup.GroupName == ResourceGroups.MsSql2012) |
(resourceGroup.GroupName == ResourceGroups.MsSql2014) |
(resourceGroup.GroupName == ResourceGroups.MySql4)|
(resourceGroup.GroupName == ResourceGroups.MySql5)|
(resourceGroup.GroupName == ResourceGroups.Statistics)|

View file

@ -70,6 +70,7 @@ namespace WebsitePanel.Portal
versions.Add(ResourceGroups.MsSql2005);
versions.Add(ResourceGroups.MsSql2008);
versions.Add(ResourceGroups.MsSql2012);
versions.Add(ResourceGroups.MsSql2014);
FillDatabaseVersions(PanelSecurity.PackageId, ddlDatabaseVersion.Items, versions);
}

View file

@ -161,6 +161,8 @@ namespace WebsitePanel.Portal
PackageContext cntx = PackagesHelper.GetCachedPackageContext(PanelSecurity.PackageId);
// add SQL Server engines
if (cntx.Groups.ContainsKey(ResourceGroups.MsSql2014))
AddDatabaseEngine(DeploymentParameterWellKnownTag.Sql, ResourceGroups.MsSql2014, GetSharedLocalizedString("ResourceGroup." + ResourceGroups.MsSql2014));
if (cntx.Groups.ContainsKey(ResourceGroups.MsSql2012))
AddDatabaseEngine(DeploymentParameterWellKnownTag.Sql, ResourceGroups.MsSql2012, GetSharedLocalizedString("ResourceGroup." + ResourceGroups.MsSql2012));
if (cntx.Groups.ContainsKey(ResourceGroups.MsSql2008))