Windows 2012 Hosting - MVC 6 and SQL 2014 BLOG

Tutorial and Articles about Windows Hosting, SQL Hosting, MVC Hosting, and Silverlight Hosting

Cheap YetAnotherForum.NET Hosting :: Installing YetAnotherForum.NET on Your Server

clock July 23, 2014 06:29 by author Ben

YetAnotherForum.NET (YAF) is a Open Source discussion forum or bulletin board system for web sites running ASP.NET with SQL Server as the back-end database. The source code is entirely written in C#, and is licensed with the GPL license. And now YetAnotherForum.NET (YAF) has release the new version YAF.NET

Here is the important features of YetAnotherForum.NET

  • Added Admin Page to Import List of Banned Ip Adresses (You can find Huge list of Bot IP Lists here:
  • DNN YAF Whats New Menu List Item is now fully Templatable
  • Host Admins can control admin groups access to YAF event log by event type. They can set permissions to delete events by type too, i.e. readonly mode for each event.
  • Added New Host Admin Page for Host Admins to restrict simply admins to various admin pages individually.
  • Added New Notification Bar for System Messages (In the Host Settings you can choose Between Modal Dialog or Notification Bar for Messages, also the Display Duration can be defined there). Also added an option to show the alert dialog for messages on Mobile Devices.
  • Added new "Fancy" Theme
  • Added Keystroke For Quotes to the YAF BBCode Editor you can now use CTRL+Q for inserting and "[quote]"..."[/quote]"
  • Added Indicator to a Private Message if its an Reply
  • Added new BB Code Feature to the Editor for indent text
  • Added HoverCards to Username. If enabled it shows an Hover Card (Which shows some quick info about the user) when you hover an user name. This will also show an Hover Card on the Twitter & Facebook Profile Button.
  • Added Display Options for the Event Log, you can define Start and End Date and also Event Type
  • Added settings to control number of records in the event log.
  • Added Option to send PM to all Buddies of a User
  • Added DNN Option to Remove Tab Name/Title from the Current Page Title you can choose between "Dont Remove", "Always Remove", "Remove only if matches the Board Name". Default Value : "Always Remove"

This article will give you a step by step guide on how to install YetAnotherForum.NET on your server:

Make sure your server / Host has the following requirements:

  • Microsoft .NET Framework 3.5 SP1 (Use version 1.9.3 or earlier for .NET Framework 2.0) or the latest .NET Framework.
  • Microsoft SQL Server 2005 or above. SQL Server 2000 works, but requires removal of some SQL forum database optimizations.

1. Download YAF from Note that current version available is YAF and my article is based on this version. For future versions the installation and Integration instructions may change.

2. Create a virtual directory in IIS pointing to D:\YAF-v1.9.6.2-FINAL-SRC\YetAnotherForum.NET. Above is the assumed path where you have downloaded YAF.

3. SQL Server database is required for installing the YAF. SO keep SQL Server installed on the machine. Then Create an empty SQL Server database for YAF named yafnet(say).

4. If Web.Config is not present in the forum root,copy one of the samples provided in the "webconfigs" folder into the root of the web application and rename it to web.config.

5. Setup a valid connection string in db.config as per the format provided by YAF.

6. Configure the SMTP settings in mail.config as per your hosting environment and as per the format provided by YAF.

7. Then try to open http://localhost/YetAnotherForum.NET/install/Default.aspx and install the forum as per instructions appearing on the installation wizard. It will create/update the forum database and create admin user. Note that all the passwords should have a special charector in it.

8. After the installation the URL will come something like http://localhost/yaf/default.aspx if the above page opens without any error that means your installation is complete.

9. Then you need to copy your installation folder to the root of your website.

10. Suppose you want the forum to appear on the Default.aspx Page, Then Merge the Default.aspx page from the forum with Default.aspx page from your website.Also you need the merge the web.config file from the forum to web.config file of existing website.

11. Now run the default.aspx page of the website and forum should appear on the page.

Best and Cheap YetAnotherForum.NET Web Hosting with YetAnotherForum.NET optimised hosting infrastructure features independent email, web, database, DNS and control panel servers and a lightning fast servers ensuring your site loads super quick! Reason why you should choose us to host your YetAnotherForum.NET site:

  • Top of the line servers optimized for your YetAnotherForum.NET installation
  • 24/7/35 Technical support from YetAnotherForum.NET hosting experts
  • We provide full compatability with YetAnotherForum.NET hosting and all popular plug-in.
  • Free professional installation of YetAnotherForum.NET.
  • We provide 30 days money back guarantee


Windows WebSocket Hosting with :: Simple WebSocket Application

clock July 22, 2014 11:02 by author Kenny

In this article I will explain about Simple WebSocket Application. In order to a create a working application, you also need a server side implementation. It’s possible to use technologies like node.js, Java, .NET, Ruby, or C++ to create server side implementation. This section will show you how to create a simple application using WebSockets.

The sample application will allow the user to ask specific questions to server. The server side implementation is done using the Java jWebSocket framework on Windows 7. So, to get the environment set up follow these simple steps. I assume you have already installed the latest JDK (JDK 7)on your Windows 7 PC.

Step 1

Head over to jWebSocket Downloads and download the first zip which is marked as server.

Step 2

Unzip the archive, and place it somewhere in your C:. Then, create a new environment variable named JWEBSOCKET_HOME, which references the root of your jWebSocket installation. This is the path to the jWebSocket-1.0 folder. Add the following JARs to your class path:


Step 3

Create a new Java Source file and name it Add the following code to this file.

import java.util.Date;
import java.text.SimpleDateFormat;
import org.jwebsocket.factory.JWebSocketFactory;
import org.jwebsocket.server.TokenServer;
import org.jwebsocket.kit.WebSocketServerEvent;
import org.jwebsocket.api.WebSocketServerListener;
import org.jwebsocket.api.WebSocketPacket;
import org.jwebsocket.config.JWebSocketConfig;
import org.jwebsocket.instance.JWebSocketInstance;
class JWebSocketListener implements WebSocketServerListener
  public void processOpened(WebSocketServerEvent event)
    System.out.println("Connection Opened");
  public void processPacket(WebSocketServerEvent event, WebSocketPacket packet)
      case "1":        packet.setString("My Name is jWebSocketServer");
      case "2":        packet.setString("Windows 7 64 Bit");
      case "3":        SimpleDateFormat sdf=new SimpleDateFormat("hh:mm:ss");
        packet.setString(sdf.format(new Date()));
  public void processClosed(WebSocketServerEvent event)
public class SocketListener
  public static void main(String[] args)
    JWebSocketConfig.initForConsoleApp(new String[]{});
    TokenServer server = (TokenServer)JWebSocketFactory.getServer("ts0");
    if(server!=null) {      server.addListener(new JWebSocketListener());
    while (JWebSocketInstance.getStatus() != JWebSocketInstance.SHUTTING_DOWN)
      try {
      catch (InterruptedException e)


The code implements the WebSocketServerListener interface. The interface declares the following three methods which should be implemented in our class, JWebSocketListener.


processOpened() is called once a connection is opened. An example use of this will be starting a thread that sends updates to client in regular intervals. Similarly, processClosed() is called when the connection closes so that you can perform any clean ups.

In our application, the major processing is done in processPacket(). This method is called whenever the browser sends a message to the server. It receives two objects, of types WebSocketServerEvent and WebSocketPacket. First, we use WebSocketPacket#getString() to read the message (which is a question asked by the client). Depending on the question the server sends an answer. The message to be sent is wrapped inside a WebSocketPacket using WebSocketPacket#setString(). Then, we call WebSocketServerEvent#sendPacket(), passing the packet as an argument. Next, we create a public class called SocketListener. This class starts a WebSocket implementation server and registers our custom listener to it.

Step 4

Compile, and start your server using the command java SocketListener.

Step 5

Now that you have done the server side implementation, it’s time to create the client that will interact with the server. The following is our initial HTML markup:

    <title>WebSocket Test</title>
    <style>      #response
        width: 200px;
        background: #F2F2F2;
        padding: 120px 0px 120px 0px;
    <div align="center">
      Choose a question to ask:
      <select id="question" name="question" onchange="sendMessage(this.value);">
        <option value="1">What's Your Name</option>
        <option value="2">Which OS You Are Running On?</option>
        <option value="3">What Time Is It?</option>
      <div id="response">
        My Name is jWebSocketServer
Now, add the following JavaScript to the HTML:
<script type="text/javascript">
var connection = new WebSocket('ws://localhost:8787', 'json');
connection.onopen = function ()
  console.log('Connection Opened');};connection.onerror = function (error)
  console.log('WebSocket Error ' + error);};
connection.onmessage = function (e) {
  if("subProtocol")==-1)    document.getElementById("response")"<br/>";};
function sendMessage(msg){  connection.send(msg);}


We created an HTML file that allows users to choose questions from a drop down menu. When an onchange event fires, we take the value of the selected item and send that value to the server. The server then processes the request and sends back an answer to the browser. When the message from the server is received, the onmessage callback is executed, which shows the response in the response <div>. The line if("subProtocol")==-1) is not mandatory. I have included it because initially when the connection is opened, the server sends a long string containing information to the browser. As we don’t want to show this string, I have included the above condition.

Cheap Web API 2.2 Hosting :: The Important Features on Web API 2.2

clock July 22, 2014 10:48 by author Ben

ASP.NET Web API 2.2 was released last week, and one of the key new features is the ability to extend and plug in your own custom logic into the attribute routing engine.

Commonly known as “attribute routing”, it’s actually officially called “direct routing”, because, as they are about to show here, it’s not necessary to use it with attributes at all, and you can plug in any route provider into it. The Web API 2.2 release is particularly noteworthy as it is the first Web API release with support for OData v4 with selected highly demanded features. is Microsoft No #1 Recommended Windows and ASP.NET Spotlight Hosting Partner in United States. Microsoft presents this award to for the ability to support the latest Microsoft and ASP.NET technology, such as: WebMatrix, WebDeploy, Visual Studio 2012, .NET 4.5.2/ASP.NET 4.5.1, ASP.NET MVC 6.0/5.2, Silverlight 5 and Visual Studio Lightswitch. Click here for more information

Here is New features :

1. Protocol and format changes from V3 to V4.

2. OData attribute routing: This release allows you to define the routes in your controllers and actions using attributes.

3. Support for functions: This release allows you to define functions in your OData model and bind them to actions in your controller that implement them.

4. Model aliasing: This release allows to change the names of the types and properties in your OData model to be different than the ones in your CLR types.

5. Support for limiting allowed queries: This feature release the service to define limitations on the properties of the model that can be filtered, sorted, expanded or navigated across.

6. Support for ETags: This release allows to generate an @odata.etag annotation based on some properties of the entity that can be used in IfMatch and IfNoneMatch headers in following requests.

7. Support for Enums

8. Support for $format: Added support for $format, so clients are able to specify the desired format of the response in the URL.

The OData v4.0 protocol includes a lot of new features and many changes to existing ones that improve the protocol and the modeling capabilities for the services implementers, but at the same time, those changes make difficult to support multiple versions of the protocol in a single implementation.

For that reason, we have decided to create a new assembly to support the v4.0 version of the protocol while maintaining the current assembly for those people who want to implement services based on previous versions.

Here are the most important changes:

1. The package ID for the v4.0 is Microsoft.AspNet.OData.

2. The assembly name and the root namespace are now System.Web.OData instead of System.Web.Http.OData.

 3. All the extension methods have been moved to System.Web.OData.Extensions.

4. We have removed all the extension methods that used to exist for HttpRequestMessage like GetODataPath or GetEdmModel and we have added a single extension method, ODataProperties that returns an object containing the common OData properties that were accessible by the old extension methods, like the IEdmModel of the service or the ODataPath of the request.

5. MapODataRoute has been changed to MapODataServiceRoute.

6. QueryableAttribute has been changed to EnableQueryAttribute.

Recommended extras for your Web API 2.2 hosting website:

Feature Rich Services
Offering feature rich, on-demand reliable and secure web hosting services is why our customers stay here. We are constantly working to improve our services and the product line we offer. We firmly believe in a long lasting customer relationship. We want our customers to stay and grow their business with us.

Cost Effective Pricing
We provide our services at the lowest cost possible by utilizing our in house architecture coupled with carefully chosen software. We strive to keep our operating costs low so we can deliver quality web hosting services at very reasonable prices.

Money Back Guarantee
We are absolutely sure that you will be satisfied with our service that we offer our unconditional money back guarantee. Feel free to take a ride with us without any risk!

JSON Hosting on Windows Server:: How to Add JSON Handler in IIS

clock July 22, 2014 09:37 by author Ben

JSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages, including C, C++, C#, Java, JavaScript, Perl, Python, and many others. These properties make JSON an ideal data-interchange language. JSON is very useful when developing a web application where fast, compact and convenient serialisation of data is required, however it's flexible nature is the very thing that makes it less suitable than XML for transferring data between separate systems, or storing data that will be read by 3rd parties.

JSON is built on two structures:

  • A collection of name/value pairs. In various languages, this is realized as an object, record, struct, dictionary, hash table, keyed list, or associative array.
  • An ordered list of values. In most languages, this is realized as an array, vector, list, or sequence.

These are universal data structures. Virtually all modern programming languages support them in one form or another. It makes sense that a data format that is interchangeable with programming languages also be based on these structures.

Advantages of JSON

  • Smaller message size
  • More structural information in the document
  • Can easily distinguish between the number 1 and the string "1" as numbers, strings (and Booleans) are represented differently in JSON.
  • Can easily distinguish between single items and collections of size one (using JSON arrays).
  • Easier to represent a null value
  • Easily consumed by JavaScript

Sometimes we need to create JSON in a text file with extension .json, however by default IIS 7 or any of the IIS are not configure to handle .json extension. So below is a very simple method to do that. You can apply the method on the root of IIS so .json can be handled by every site or virtual folder in the IIS or just to the specific site.

  1. Open IIS Manager
  2. Display properties for the IIS Server
  3. Click MIME Types and then add the JSON extension:
    File name extension: .json

    MIME type: application/json
  4. Go back to the properties for IIS Server
  5. Click on Handler Mappings
    Add a script map

    Request path: *.json

    Executable: C:\WINDOWS\system32\inetsrv\asp.dll

    Name: JSON

Reasons To Use IIS 7 Hosting

IIS 7 makes extending Web server functionality easier. A new integrated pipeline lets developers create custom modules that can be plugged into the IIS7’s new request-processing pipeline. Developers can write native modules with C++ or managed modules in a .NET language such as C# or Visual Basic.Net. The advanced features of the .NET Framework, combined with deep integration into the IIS 7 pipeline, lets developers create custom modules quickly and easily. Any application can leverage the .NET Role and Membership providers, which are integrated in the new IIS 7 pipeline. Existing ISAPI applications built for IIS6 will also run without modification in IIS 7’s Classic mode.

IIS 7 builds on the security and reliability established by IIS 7.0. The modular design lets you reduce the attack surface of your server by uninstalling the modules that you do not need for your application. You can also write your own modules to support your custom security requirements. New automatic application isolation adds a layer of protection to keep applications safe from each other. IIS 7’s ability to set up rules to control access to URLs and filter requests lets administrators manage access to sites, folders, and files without requiring ACLs. And admin delegation lets you assign limited administrative rights to users for specific sites instead of granting server-wide admin rights.

Cheap SQL SSRS 2014 Hosting :: How to Configure Available Memory for SQL Server Reporting Services 2014

clock July 18, 2014 07:35 by author Ben

Reporting Services is a server-based reporting platform that provides comprehensive reporting functionality for a variety of data sources. Reporting Services includes a complete set of tools for you to create, manage, and deliver reports, and APIs that enables developers to integrate or extend data and report processing in custom applications. Reporting Services tools work within the Microsoft Visual Studio environment and are fully integrated with SQL Server tools and components.

Today we're going to cover how to configure available memory for SQL Server Reporting Services 2014. If you need to configure the amount of memory available to an instance of SSRS 2014 you have to get your hands dirty and edit the RsReportServer.config file. The RsReportServer.config file stores settings that are used by Report Manager, the Report Server Web service, and background processing.

The location of the rsconfile file is generally:

\Program Files\Microsoft SQL Server\MSRS1111.MSSQLSERVER\Reporting Services\ReportServer

Within the RsReportServer.config file, configuration settings that control memory allocation for the report server include WorkingSetMaximum, WorkingSetMinimum, MemorySafetyMargin, and MemoryThreshold. If you were to open the file you will see that the WorkingSetMinimum and WorkingSetMaximum are not present by default.


This is because you have to enter them yourself, as if you are hosting multiple applications on the same computer and you determine that the report server is using a disproportionate amount of system resources relative to other applications on the same computer.


The Reasons To Use SQL Reporting Service (SSRS) 2014 Hosting with

  • Fully Integrated with SharePoint
  • The report development environment is a Standard Microsoft Platform - SSRS Reports are developed in BIDS (Business Intelligence Development Studio).
  • Customizable Report Rendering - SSRS provides a .NET Web Service programmatically accessible to extend the delivery of reports beyond the browser. The SSRS reports can be rendered to HTML. PDF(Portable Document Format), Microsoft Excel, XML, MHTML (MIME HTML), TIFF (Tagged Image File Format). Microsoft Word, and ATOM. The SSRS .NET Web Service allows embedding reports in custom applications where the look and feel of the report viewer can be easily controlled and customized.
  • Mobile Support - Starting SQL Server 2012 Service Pack 1 (SP1), SSRS supports viewing and basic interactivity with reports on Microsoft Surface devices and devices with Apple iOS6 and Apple Safari Browser such as iPAD. SSRS reports can also be view on Windows 8 devices.

Cheap Moodle 2.7 Hosting :: Top Features on Moodle 2.7 to Improve Your Moodle Application

clock July 16, 2014 07:27 by author Ben, a leading innovator in Windows Server hosting, announces support for Moodle 2.7 on their Windows Server 2012 hosting platform and available for all of the ASPHostPortal Windows hosting plans.

Moodle 2.7, the latest major release from was released yesterday May 12th. With Moodle 2.7 there are a few major enhancements and improvements such as Atto text editor and the More and Clean themes as the only that will ship by default. An additional point of interest is that Moodle 2.7 will receive long term support of Moodle HQ.

Moodle 2.7 brings a suite of new features, improved tools and streamlined workflows to administrators, educators and students. The free Moodle learning platform continues to strengthen with several new capabilities and improvements, including:

Modern Appearance
Moodle now uses Bootstrap themes by default for improved responsive design and usability.

Easily Create and Manage Quiz

A number of productivity improvements have been added to Quiz and Question Bank, including an added option ‘Save changes and continue editing’, improved quiz reports, and an updated question type selector makes duplicating and moving questions much easier.

Support the Cloud
Moodle now is linking with the cloud and other clustered systems to enable this.  Systems administrators will find more features than ever which will enable them to scale Moodle to millions of learners if required.

Improved Logging
A new logging subsystem with plugins allowing detailed and external logs provides opportunities for improved reporting as well as advancements in better learning analytics.

Improved Conditional Activities Supporting More Complex Boolean Operations and Plugins

Adding a restriction
Within the settings for the activity or resource you want to restrict access to, first click the Add restriction button. A dialogue box appears allowing you to select the type of restriction you wish to apply to the current activity, resource or section.

Adding the restriction type

Having chosen the restriction type, you can then define the specifics of the restriction. In the case of the example below, participants have to complete the Holidays quiz.

Scheduled Tasks Management
With an improved scheduling system, tasks can be scheduled precisely, even on complex clustered servers.

There’s another thing that will make administrators happy. Moodle 2.7 is a long term supported release. It will have an extended support of 3 years (until May 2017) for security and data-loss fixes.

Big Data
You will have heard this term mentioned several times before, now, Moodle has incorporated better use of data and reporting.

Improve Assignments
Teachers can now notify students when providing feedback, easily keep track, edit or delete student submissions, set a word limit and add comments directly to text assignments.

Reasons to choose as your cheap Moodle 2.7 Hosting have Moodle™ experts on staff who are available 24/7 to help, a one click install script to make installation a breeze, and we guarantee our service, money back. What makes the premier place to host Moodle? Here are 5 reasons why we are the best:

Easy to Use Tools use World Class Plesk Control Panel that help you with single-click Moodle installation.
Best Programming Support hosting servers come ready with the latest PHP version. You can get access directly to your MySQL from our world class Plesk Control Panel.
Best Server Technology
The minimal specs of our servers includes Intel Xeon Dual Core Processor, RAID-10 protected hard disk space with minimum 8 GB RAM. You dont need to worry about the speed of your site.
Best and Friendly Support
Our customer support will help you 24 hours a day, 7 days a week and 365 days a year to assist you.
Uptime & Support Guarantees
We are so confident in our hosting services we will not only provide you with a 30 days money back guarantee, but also we give you a 99.9% uptime guarantee. to Launch First Data Center in London on August 2014

clock July 15, 2014 11:04 by author Ben Web Services launch its first data center in London on 01st  August 2014 with room for more than 10,000 physical servers, and allowing customers’ to meet their UK data residency requirements.

The new facility will provide customers and their end users with services that meet in-country data residency requirements. It will also complement the existing Amsterdam data center, to provide European customers redundancy options within the region. The London data center will offer the full range of web hosting infrastructure services, including bare metal servers, virtual servers, storage and networking.

The new data center will allow customers to replicate or integrate data between London and Amsterdam data centers with high transfer speeds and unmetered bandwidth (at no charge) between facilities.

London, itself, is a major center of business with a third of the world’s largest companies headquartered there, but it also boasts a large community of emerging technology startups, incubators, and entrepreneurs.

“We already have a large customer base in London and the region; we’re excited to give those customers a full data center right in their backyard, with all the privacy, security, and control the platform offers,” said Dean Thomas, Manager at

For more information about new data center in London, please visit

About is a hosting company that best support in Windows and ASP.NET-based hosting. Services include shared hosting, reseller hosting, and sharepoint hosting, with specialty in ASP.NET, SQL Server, and architecting highly scalable solutions. As a leading small to mid-sized business web hosting provider, strive to offer the most technologically advanced hosting solutions available to all customers across the world. Security, reliability, and performance are at the core of hosting operations to ensure each site and/or application hosted is highly secured and performs at optimum level.

SQL Server Hosting with :: How to Backup and Restore Your Database with PowerShell Commands

clock July 10, 2014 09:20 by author Ben

PowerShell is Microsoft’s new command-line shell and scripting language that promises to simplify automation and integration across different Microsoft applications and components. Database professionals can leverage PowerShell by utilizing its numerous built-in cmdlets, or using any of the readily available .NET classes, to automate database tasks, simplify integration, or just discover new ways to accomplish the job at hand.

Windows PowerShell commands can be a valuable addition to your SQL Server management tools. PowerShell is going to replace SQL Server Management Studio (SSMS) anytime soon, it can be used for a wide range of scripted management tasks. PowerShell can run T-SQL commands and also work with objects outside of the SQL Server database. You can use the SQL Server PowerShell Provider to navigate and manage SQL Server database objects, and PowerShell scripts can be run by SQL Agent.

Here is a working Windows PowerShell script to perform a FULL database backup against the Northwind database, storing the backup file in your file system.

[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO') | out-null
$s = New-Object ('Microsoft.SqlServer.Management.Smo.Server') "LOCALHOST\SQL2005_1"

#Create a Backup object instance with the Microsoft.SqlServer.Management.Smo.Backup namespace
$dbBackup = new-object ("Microsoft.SqlServer.Management.Smo.Backup")

#Set the Database property to Northwind
$dbBackup.Database = "Northwind"

#Add the backup file to the Devices collection and specify File as the backup type
$dbBackup.Devices.AddDevice("D:\PSScripts\backups\NWind_FULL.bak", "File")

#Specify the Action property to generate a FULL backup

#Call the SqlBackup method to generate the backup

Since you won't be performing backups of just a single database, it would be better if we loop the entire script in a For-Each cmdlet iterating thru the Databases collection of the Server object.

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.SMO") | out-null
$s = new-object ("Microsoft.SqlServer.Management.Smo.Server") $instance

$bkdir = "D:\PSScripts\backups" #We define the folder path as a variable
$dbs = $s.Databases
foreach ($db in $dbs)
     if($db.Name -ne "tempdb") #We don't want to backup the tempdb database
     $dbname = $db.Name
     $dt = get-date -format yyyyMMddHHmm #We use this to create a file name based on the timestamp
     $dbBackup = new-object ("Microsoft.SqlServer.Management.Smo.Backup")
     $dbBackup.Action = "Database"
     $dbBackup.Database = $dbname
     $dbBackup.Devices.AddDevice($bkdir + "\" + $dbname + "_db_" + $dt + ".bak", "File")

There are a lot of different reasons why we need to restore databases, so there are a lot more options with restores than there are with backups. The easiest way to demonstrate a restore is to simply restore a database from a full backup, setting the option to overwrite the existing database.

Restore-SqlDatabase -ServerInstance TESTSQL -Database Northwind`
-BackupFile "E:\Backup\Northwind_db_20130420153024.bak" -ReplaceDatabase

Cheap SQL Hosting with
Providing the best security, compliance, performance, and managed service separates from other hosting companies. MS SQL server supports our commitment to providing service options the businesses that choose demand. Use the Promo Code "DBSQL" (without quotes) and receive double SQL Server Space!

SQL 2014 Hosting - :: Introduction In-Memory OLTP in SQL 2014

clock July 4, 2014 06:49 by author Jervis

Microsoft's new release of SQL Server 2014 comes pretty close on the heels of the last SQL Server 2012 release. For many organizations, this could be a hurdle to adoption, because upgrading core pieces of an IT infrastructure can be both costly and resource-intensive. However, SQL Server 2014 has several compelling new features that can definitely justify an upgrade. Here are the overview of SQL 2014 features:

1. New In-Memory OLTP Engine
2. Enhanced Windows Server 2012 Integration
3. Improvement in Business Intelligence
4. Office 365 Integration
5. Etc

In today post, I want to examine SQL Server 2014 In-Memory OLTP from different angles: how to start using it, provide directions for migration planning, review closely many of its limitations, discuss SQL 2014 In-Memory OLTP applicability and see where the SQL Server In-Memory OLTP can be an alternative to in-memory dynamic caching, and where it is complimentary.

The question now is what is Memory Online Transaction Processing?

SQL Server 2014’s biggest feature is definitely its In-Memory transaction processing, or in-memory OLTP, which Microsoft claims make database operations much faster. In-memory database technology for SQL Server has long been in the works under the code name “Hekaton”. Hekaton is a database engine component which is optimized for accessing Memory resident tables. This component is great, it is fully integrated into SQL 2014 database engine.

The Function of Memory Online Transaction Processing

Hekaton facilitates creation of Memory resident Tables (i.e. Memory Optimized Tables) and Indexes. Beside that, it also provide the option to compile the Transact-Sql Stored Procedure accessing Memory Optimized Tables to Machine code. With Memory Optimized Tables, it provide better performance as the core engine uses the lock free algorithm which doesn’t require any lock and latches when the Memory optimized tables are referenced during the transaction processing.

Low Cost Using In Memory OLTP

Sql Server database engine was designed in the days when Main Memory was very costly. As per this design data is stored on the disk and is loaded to the main memory as required for the transaction processing and any changes to the In-Memory data is written back to the disk. This disk IO is main bottle neck for the OLTP applications having huge number of concurrent users, as it involves waiting for locks to be released, latches to be available, waiting for the log writes to complete.

As per the current trend Main Memory prices are less expensive and enterprises can easily afford to have production database servers with Main Memory sizes in TB’s. And this declining Memory prices made Microsoft to re-think on the initial database engine which is designed in the days when Main Memory was costly. And the result of this re-think is the In-Memory OLTP (a.k.a. Hekaton) Database engine component which supports memory resident Tables and Index. In-Memory OLTP engine uses the lock free algorithm (i.e. MultiVersion Optimistic Concurrency Control) which doesn’t require any lock and latches when the Memory optimized tables are referenced during the transaction processing. And for supporting data durability it still writes to the transaction log but the amount of data which is written to the log is reduced considerably.

Migrating to SQL Server 2014 In-Memory OLTP

Migration to In-Memory OLTP has to be performed in a development environment and carefully tested. Your High-Availability design, Databases design, Tables schemas and data, stored procedures, business logic in the database and even application code – all may require many syntax changes to use In-Memory OLTP.

This is not a “click and migrate” process. It requires development cycles, application and database design and code changes.

The right way to use the In-Memory OLTP engine is:

  • Plan your production database architecture. The In-Memory OLTP is very different and has many limitations in terms of H/A, Mirroring, Replications available functionalities;
  • Plan carefully your new database (and possibly application) design;
  • Migrate several specific tables and procedures that are good benefit candidates;
  • Develop or change your business-logic to fit the new design;
  • Test and evaluate;
  • Deploy

To evaluate whether the In-Memory OLTP can improve your database performance, you can use Microsoft new AMR tool (Analysis, Migrate and Report). For helping with actual migration you can use the Memory Optimization Advisor for tables and the Native Compilation Advisor to help porting a stored procedure to a natively compiled stored procedure.

The AMR tool helps identifying the tables and stored procedures that would benefit by moving them into memory and also help performing the actual migration of those database objects. The AMR tool is installed when you select the “Complete” option of “Management Tools”, and is later accessed through SQL Server Management Studio (SSMS) in Reports  –>> Management Data Warehouse Transaction performance reports tool:

The AMR tool provides reports which tables and procedures can benefit the most from In-Memory OLTP and provide a hint how complex will be the conversion. The reports show either recommendations based on usage, contention and performance. Here is example (graphics may change in the GA release):

After you identify a table that you would like to port to use In-Memory OLTP, you can use the Memory-Optimization Advisor to help you migrate the disk-based database table to In-Memory OLTP. In SSMS Object Explorer, right click the table you want to convert, and select Memory-Optimization Advisor.


Above article is only brief information about one of new feature in SQL 2014. Want to try more? We have supported the latest SQL 2014 hosting on our hosting environment. Just take a look on our site for more information.


We’re a company that works differently to most. Value is what we output and help our customers achieve, not how much money we put in the bank. It’s not because we are altruistic. It’s based on an even simpler principle. "Do good things, and good things will come to you".

Success for us is something that is continually experienced, not something that is reached. For us it is all about the experience – more than the journey. Life is a continual experience. We see the Internet as being an incredible amplifier to the experience of life for all of us. It can help humanity come together to explode in knowledge exploration and discussion. It is continual enlightenment of new ideas, experiences, and passions

 photo ahp banner aspnet-01_zps87l92lcl.png

Author Link

Corporate Address (Location)

170 W 56th Street, Suite 121
New York, NY 10019
United States

Sign in