<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ASP.NET MSSQL Webhosting Blog &#187; Martin</title>
	<atom:link href="http://www.mywebhostingblog.net/author/moosa/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mywebhostingblog.net</link>
	<description>ASP.NET, MSSQL and Windows dedicated server articles</description>
	<lastBuildDate>Thu, 16 Sep 2010 19:53:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Error 916 Connecting SQL 2005 DB with MSSMS (Express) 2008</title>
		<link>http://www.mywebhostingblog.net/aspnet-web-hosting/error-916-connecting-ms-sql-2005-db-with-mssms-express-2008/</link>
		<comments>http://www.mywebhostingblog.net/aspnet-web-hosting/error-916-connecting-ms-sql-2005-db-with-mssms-express-2008/#comments</comments>
		<pubDate>Tue, 28 Jul 2009 03:21:36 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[ASP.NET Web Hosting]]></category>
		<category><![CDATA[MSSMS]]></category>
		<category><![CDATA[MSSQL]]></category>
		<category><![CDATA[MSSQL Server]]></category>
		<category><![CDATA[remote connection]]></category>
		<category><![CDATA[SQL 2005]]></category>
		<category><![CDATA[SQL 2008]]></category>

		<guid isPermaLink="false">http://www.mywebhostingblog.net/?p=558</guid>
		<description><![CDATA[Since eUKhost has started providing Windows 2008 Server with Shared hosting as well as with Windows dedicated Server hosting there has been allot of new errors coming across. Also ASP .NET with Visual Studio 2008 and MS SQL 2008 has been widely used after the final release of Windows 2008 Server along with MS SQL [...]]]></description>
			<content:encoded><![CDATA[<p>Since eUKhost has started providing <strong>Windows 2008 Server</strong> with <strong>Shared hosting</strong> as well as with <strong>Windows dedicated Server host</strong>ing there has been allot of new errors coming across. Also<strong> ASP .NET</strong> with Visual Studio 2008 and MS SQL 2008 has been widely used after the final release of <strong>Windows 2008 Server</strong> along with<strong> MS SQL 2008</strong>. The most command error that we have seen in combination of<strong> MS SQL 2005</strong> and <strong>SQL 2008</strong> is:</p>
<p><code>TITLE: Microsoft SQL Server Management Studio<br />
------------------------------</code></p>
<p><code>Failed to retrieve data for this request. (Microsoft.SqlServer.Management.Sdk.Sfc)<br />
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&amp;LinkId=20476</code></p>
<p><code>------------------------------<br />
ADDITIONAL INFORMATION:<br />
</code><br />
<code>An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)<br />
------------------------------</code></p>
<p><span id="more-558"></span><br />
<code>The server principal "my_db_user" is not able to access the database "any_other_db_on_the_server" under the current security context. (Microsoft SQL Server, Error: 916)<br />
</code><br />
<code>For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&amp;ProdVer=09.00.1399&amp;EvtSrc=MSSQLServer&amp;EvtID=916&amp;LinkId=20476</code></p>
<p>This is something similar to the image below:</p>
<div id="attachment_567" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-567" title="microsoft-sql-server-management-studio-error-9162" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/07/microsoft-sql-server-management-studio-error-9162-300x96.jpg" alt="Error Connecting to MS SQL 2005 DB Remotely Management Studio 2008" width="300" height="96" /><p class="wp-caption-text">Error Connecting to MS SQL 2005 DB Remotely Management Studio 2008</p></div>
<p>This error happen to appear while remotely connecting a database on <strong>Microsoft SQL server 2005</strong> with any version of <strong>Microsoft SQL Server Management Studio 2008</strong>, It will not appear if you connect the <strong>SQL server 2005</strong> with <strong>Microsoft SQL Server Management Studio Express 2005</strong>. And the link that has been specified in the error above is of any no use, also the error started to be reported more for a <strong>Windows Shared hosting</strong> clients rather than the one with <strong>Windows dedicated server</strong>. Because the problem only appears to happen if you connect with a user that has access to a particular database and not with the user that has administrator access over the <strong>Microsoft SQL server</strong>. I had to scratch my head for the solution as it seems to be related more to the permissions on the database user. Now the interesting thing here is that the <strong>SQL database</strong> that in the error is different than the <strong>MSSQL database</strong> on which the user has its access on.</p>
<p>After allot of searching on the web I found that this is a bug on all versions of Microsoft SQL Server Management Studio (Express) 2008 and there is a simple work around to access your database remotely with no errors at all. Here is what that is required:</p>
<p>1) Connect to the <strong>MS SQL</strong> server with the user credentials in <strong>MSSMS (Express) 2008</strong>.<br />
2) Bring Object Explorer Details window by selecting View &#8211;&gt; Object Explorer Details in menu (or just by hitting F7)<br />
3) In Object Explorer window click at Databases folder<br />
4) In Object Explorer Details Window right-click at the column header and deselect Collation<br />
5) Refresh Databases folder.</p>
<p>Refer to the image below for better understanding:</p>
<div id="attachment_568" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-568" title="microsoft-sql-server-management-studio-remove-collation2" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/07/microsoft-sql-server-management-studio-remove-collation2-300x238.jpg" alt="Fix Failed to retrieve data for this request Error: 916 Management studio" width="300" height="238" /><p class="wp-caption-text">Fix Failed to retrieve data for this request Error: 916 Management studio</p></div>
<p>That is it. This will give you the desired access over your database and you will be happily make changes as per your need.<br />
This is just another complicated error by Microsoft which has a very simple fix.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mywebhostingblog.net/aspnet-web-hosting/error-916-connecting-ms-sql-2005-db-with-mssms-express-2008/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MSSQL WebAdmin ASP.NET ENT Manager in Plesk show Virus</title>
		<link>http://www.mywebhostingblog.net/aspnet-web-hosting/mssql-webadmin-aspnet-ent-manager-in-plesk-show-virus/</link>
		<comments>http://www.mywebhostingblog.net/aspnet-web-hosting/mssql-webadmin-aspnet-ent-manager-in-plesk-show-virus/#comments</comments>
		<pubDate>Sat, 23 May 2009 18:20:55 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[ASP.NET Web Hosting]]></category>
		<category><![CDATA[Hosting Security]]></category>
		<category><![CDATA[MSSQL Server]]></category>
		<category><![CDATA[Window Hosting]]></category>
		<category><![CDATA[MSSQL]]></category>
		<category><![CDATA[Plesk]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Virus]]></category>
		<category><![CDATA[Webadmin]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.mywebhostingblog.net/?p=521</guid>
		<description><![CDATA[We have recently had this complain from our various Shared hosting as well as Dedicated Server hosting clients that MSSQL Webadmin ASP .NET Enterprise Manager is having a virus / trojan on it. When the first complain arrived we too thought that there seems to be a problem with the server and might be MSSQL [...]]]></description>
			<content:encoded><![CDATA[<p>We have recently had this complain from our various <strong>Shared hosting</strong> as well as <strong>Dedicated Server hosting</strong> clients that <strong>MSSQL Webadmin ASP .NET Enterprise Manager</strong> is having a <strong>virus / trojan</strong> on it. When the first complain arrived we too thought that there seems to be a problem with the server and might be <strong>MSSQL Webadmin ASP .NET Enterprise Manager</strong> has got an injection in it. But after receiving too many complains from most of our <strong>dedicated server</strong> clients we started investigating the problem and now we knew that this is something that has happen globally. After viewing <strong>MSSQL Webadmin ASP .NET Enterprise Manager</strong> on <strong>Plesk server</strong> it looked as the picture below:</p>
<p><span id="more-521"></span></p>
<p><img class="aligncenter size-medium wp-image-522" title="mssql-webadmin-showing-trojen-virus" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/05/mssql-webadmin-showing-trojen-virus-300x219.jpg" alt="mssql-webadmin-showing-trojen-virus" width="300" height="219" /></p>
<p>We understood that the problem was not with the <em><strong>mssql.domain_name</strong></em> link but the virus alert only happened after click on <strong><em>ASP .NET Enterprise Manager, Recomended this site</em></strong>. And the link was:</p>
<p><code>www.referralplanet.com/referral/windows/referralWindow.asp?id=17</code></p>
<p>Since the site was not hosted with us we had a sigh of relief that the problem is not with the server however we thought we still have a security problem if the link has been injected into <strong>ASP .NET Manager</strong> site in IIS, may be due to a security issue with <strong>Plesk control panel</strong>. And after checking several servers we came to know that the problem has happened to the site that is recommended on <strong>MSSQL Webadmin site </strong>and not the server.</p>
<p>If you want to remove this link from your server as well as from the <strong>MSSQL WebAdmin</strong> site then follow the steps below:</p>
<p>1. Login into the server through RDP with Administrator user.<br />
2. Go to <em><strong>D:\inetpub\vhosts\sqladmin\mssql\app</strong></em><br />
3. Open the <em><strong>navbar.aspx</strong></em> page in notepad<br />
4. Go to <em><strong>line number 119</strong></em> and remove the code below:</p>
<p><code>&lt;!-- Begin ReferralPlanet.com Referral Script --&gt;<br />
&lt;a onclick="refWindow=window.open('http:// www.referralplanet.com/referral/windows/referralwindow.asp?id=18','referralWindow' ,'width=350,height=520,scrollbars=yes,menubar=no,resizable=yes'); refWindow.focus(); return false;" target=_blank href="http:// www.referralplanet.com/referral/windows/referralWindow.asp?id=17"&gt;<br />
&lt;IMG alt="Click Here To Tell A Friend" src="images/tellafriend.gif" border=0&gt;&lt;/A&gt;<br />
&lt;!-- Begin ReferralPlanet.com Referral Script --&gt;</code></p>
<p>5. Save the file and exit.</p>
<p>This problem must have infected millions of computer in the world. Let see when chinese hacker stop putting their shit on other&#8217;s website and get mature.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mywebhostingblog.net/aspnet-web-hosting/mssql-webadmin-aspnet-ent-manager-in-plesk-show-virus/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>About ASP .NET</title>
		<link>http://www.mywebhostingblog.net/aspnet-web-hosting/about-asp-net/</link>
		<comments>http://www.mywebhostingblog.net/aspnet-web-hosting/about-asp-net/#comments</comments>
		<pubDate>Sat, 02 May 2009 00:44:47 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[ASP.NET Web Hosting]]></category>
		<category><![CDATA[About ASP .NET]]></category>
		<category><![CDATA[ASP .NET]]></category>

		<guid isPermaLink="false">http://www.mywebhostingblog.net/?p=3</guid>
		<description><![CDATA[Information and definition of ASP .NET and its Advantages over other scripting languages.]]></description>
			<content:encoded><![CDATA[<p><strong>What is ASP.NET?</strong></p>
<p class="MsoNormal">
<p class="MsoNormal"><strong>ASP.NET</strong>, a higher version of ASP, is a programming framework used to create enterprise-class Web Applications. These applications are available to the entire world providing efficient information to their end users. <strong>ASP .NE</strong>T has far more advantages than just a next version of ASP. And it is easily available to configure and use no matter if you have a <strong>Dedicated server </strong>or a <strong>Shared hosting </strong>account.</p>
<p class="MsoNormal">
<p class="MsoNormal"><strong>Why to use ASP.NET?</strong></p>
<p class="MsoNormal"><strong></strong><br />
<span id="more-3"></span></p>
<p class="MsoNormal">
<p class="MsoNormal">Microsoft has worked well to shift their focus on Internet world from a Windows based platform since 1995 and finally <strong>Microsoft</strong> introduced <strong>Active Server Pages</strong> (ASP) in 1996 that was much easy to understand than the orthodox languages like <strong>Java, C++</strong> and <strong>Perl </strong>as it offered the efficiency of ISAPI applications. However ASP scripts were difficult to debug and main, since it consisted unstructured code and interpreted script. ASP also made it difficult for developer to ingrate the web development software as it required to understand many different technologies. If the web application grew more complex and bigger it became harder to maintain as the number of line in source code increased dramatically, specially when you host your application on a <strong>Shared hosting server</strong>. Therefore, a need of an architecture was required that would allow development of Web application in a consistent way.</p>
<p class="MsoNormal">
<p class="MsoNormal">A new technology <strong>.NET framework</strong> was introduced with the intention to provide globally distributed software with Internet functionality and interoperability. The<strong> .NET Framework</strong> includes multiple language support and consists of many class libraries with a common execution point. <strong>.NET framework </strong>provides a high level of flexibility allowing to development a top class web application that does different things. <strong>ASP .NET</strong> is built into this framework which allows a developer to crate a web application using any of the built-in languages. Making it easy to develop an Internet based web application.</p>
<p class="MsoNormal">
<p class="MsoNormal"><strong>ASP.NET</strong> uses the<strong> Common Language Runtime</strong> (<strong>CLR</strong>) provided by the <strong>.NET Framewor</strong>k which is not available in ASP. Execution of the code we rite is managed by this <strong>CLR. ASP.NET</strong> code is a compiled <strong>CLR</strong> code instead of interpreted code <strong>(ASP)</strong>. The <strong>CLR </strong>makes development of Web applications simple and also allows objects written in different languages to interact with each other.</p>
<p class="MsoNormal">
<p class="MsoNormal"><strong>Advantages of Using ASP.NET:</strong></p>
<p class="MsoNormal">
<ul>
<li><strong>ASP.NET</strong> reduces the code drastically that is required to build large applications</li>
<li><strong>ASP.NET</strong> makes for easy deployment. There is no need to register components because the configuration information is built-in</li>
<li><strong>ASP.NET</strong>, with an event-driven, server-side programming model makes development simpler and easier to maintain.</li>
<li>The pages have lots of power and flexibility by this approach since the source code is executed on the server.</li>
<li>The Web server continuously monitors the pages, components and applications running on it. If it notices memory leaks, infinite loops, other illegal software or activities, it seamlessly kills those activities and restarts itself</li>
<li>Execution of <strong>.NET application</strong> is fast as the Web Server compiles the page the first time it is requested. The server saves the compiled version of the page to use it next time the page is requested</li>
<li><strong>ASP.NET</strong> applications are more secure as only the HTML produced by the <strong>ASP .NET</strong> page is sent back to the browser and the application source code you write is not sent and is not easily stolen</li>
<li><strong>ASP.NET</strong> pages are easy to write and maintain because the source code and HTML are together</li>
<li><strong>ASP.NET</strong> applications run faster and counters large volumes of users without performance problems</li>
<li><strong>ASP .NET</strong> validates information (validation controls) entered by the user without writing a single line of code</li>
<li><strong>ASP.NET</strong> is compatible with <strong>ADO.NET</strong> using data-binding and page formatting features.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.mywebhostingblog.net/aspnet-web-hosting/about-asp-net/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>About MSSQL Server</title>
		<link>http://www.mywebhostingblog.net/mssql-server-hosting/about-mssql-server/</link>
		<comments>http://www.mywebhostingblog.net/mssql-server-hosting/about-mssql-server/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 06:36:32 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[MSSQL Server]]></category>
		<category><![CDATA[Microsoft SQL]]></category>
		<category><![CDATA[MSSQL]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://www.mywebhostingblog.net/?p=29</guid>
		<description><![CDATA[The architecture of Microsoft MSSQL Server is mainly divided into three components: 1. SQLOS: which implements the basic services required by MS SQL Server, including thread scheduling, I/O stat management and memory management. 2. Relational Engine: which implements the relational database components including support for databases, tables, queries and stored procedures as well as implementing [...]]]></description>
			<content:encoded><![CDATA[<p>The architecture of <strong>Microsoft MSSQL Server</strong> is mainly divided into three components:</p>
<p>1. <strong>SQLOS</strong>: which implements the basic services required by <strong>MS SQL Server</strong>, including thread scheduling, I/O stat management and memory management.</p>
<p>2. <strong>Relational Engine:</strong> which implements the relational database components including support for databases, tables, queries and stored procedures as well as implementing the type system.</p>
<p>3. <strong>Protocol Layer:</strong> which exposes the <strong>MS SQL Server </strong>functionality.</p>
<p><strong>SQLOS</strong></p>
<p><span id="more-29"></span></p>
<p>SQLOS is the base component in the <strong>Windows</strong> <strong>SQL Server</strong> architecture. It implements functions normally associated with the <strong>Operating System</strong>, thread scheduling, memory management, I/O management, buffer pool management, resource management, synchronization primitives and locking, and deadlock detection. Because the requirements of <strong>Windows SQL Server</strong> are highly specialized, it implements its own memory and thread management system, rather than using the generic one implemented in the OS. <strong>SQLOS</strong> also includes synchronization primitives for locking as well as monitoring for the worker threads to detect and recover from deadlocks.</p>
<p><strong>SQLOS</strong> handles the memory requirements of <strong>MS SQL Server</strong> as well. Reducing disc I/O is one of the primary goals of specialized memory management in SQL Server. It maintains a buffer pool, which is used to cache data pages from the disc, and to satisfy the memory requirements for the query processor, and for other internal data structures. <strong>SQLOS</strong> monitors all the memory allocated from the buffer pool, ensuring that the components return unused memory to the pool, and shuffles data out of the cache to make room for newer data. For changes that are made to the data in buffer, <strong>SQLOS</strong> writes the data back to the disc lazily, that is when the disc subsystem is either free, or there have been significant numbers of changes made to the cache, while still serving requests from the cache. For this, it implements a Lazy Writer, which handles the task of writing the data back to persistent storage.</p>
<p><strong>WIndows SQL Server</strong> normally supports up to 2 GB memory on x86 hardware, though it can be configured to use up to 64 GB if the Address Windowing Extension is used in the supporting operating system. For x64 hardware, it supports 8 TB of memory, and 7 TB for IA-64 systems (currently it is limited by Windows Server 2003 SP1 to 1TB). However, when running x86 versions of SQL Server on x64 hardware, it can access 4 GB of memory without any special configuration.</p>
<p><strong>Relational Engine:</strong></p>
<p>The Relational engine implements the relational data store using the capabilities provided by<strong> SQLOS</strong>, which is exposed to this layer via the private <strong>SQLOS</strong> API. It implements the type system, to define the types of the data that can be stored in the tables, as well as the different types of data items (such as tables, indexes, logs etc) that can be stored. It includes the Storage Engine, which handles the way data is stored on persistent storage devices and provides methods for fast access to the data. The storage engine implements log-based transaction to ensure that any changes to the data are ACID compliant. It also includes the query processor, which is the component that retrieves data. <strong>MSSQL</strong> queries specify what data to retrieve, and the query processor optimizes and translates the query into the sequence of operations needed to retrieve the data. The operations are then performed by worker threads, which are scheduled for execution by <strong>SQLOS</strong>.</p>
<p><strong>Protocol Layer:</strong></p>
<p>Protocol layer implements the external interface to <strong>MS SQL Server.</strong> All operations that can be invoked on <strong>MSSQL Server</strong> are communicated to it via a <strong>Microsoft</strong>-defined format, called Tabular Data Stream (TDS). TDS is an application layer protocol, used to transfer data between a database server and a client. Initially designed and developed by Sybase Inc. for their Sybase <strong>MS SQL Server</strong> relational database engine in 1984, and later by Microsoft in <strong>Microsoft MS SQL Server</strong>, TDS packets can be encased in other physical transport dependent protocols, including TCP/IP, Named pipes, and Shared memory. Consequently, access to <strong>MSSQL Server</strong> is available over these protocols. In addition, the <strong>MSSQL Server</strong> API is also exposed over web services.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mywebhostingblog.net/mssql-server-hosting/about-mssql-server/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Windows Clustering and Load Balancing, Explained</title>
		<link>http://www.mywebhostingblog.net/mssql-server-hosting/windows-clustering-and-load-balancing-explained/</link>
		<comments>http://www.mywebhostingblog.net/mssql-server-hosting/windows-clustering-and-load-balancing-explained/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 10:44:23 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[Exchange Hosting]]></category>
		<category><![CDATA[MSSQL Server]]></category>
		<category><![CDATA[Window Hosting]]></category>
		<category><![CDATA[Cluster]]></category>
		<category><![CDATA[Network Load Balancing]]></category>
		<category><![CDATA[NLB]]></category>
		<category><![CDATA[Windows 2003]]></category>

		<guid isPermaLink="false">http://www.mywebhostingblog.net/?p=380</guid>
		<description><![CDATA[Clustering in Windows 2003 Dedicated or Shared hosting is a means of providing High Availability to your applications and websites. Clustering is a group of machines acting as a single entity to provide resources and services to the network. In time of failure, a fail over will occur to a system in that group that [...]]]></description>
			<content:encoded><![CDATA[<p>Clustering in <strong>Windows 2003 Dedicated or Shared hosting</strong> is a means of providing High Availability to your applications and websites. Clustering is a group of machines acting as a single entity to provide resources and services to the network. In time of failure, a fail over will occur to a system in that group that will maintain availability of those resources to the network. You can be alerted to the failure, repair the system failure, and bring the system back online to participate as a provider of services once more. You learn about many forms of Windows clustering. <strong>Clustering </strong>in <strong>Windows </strong>2003 <strong>hosting </strong>can allow for <strong>failover </strong>to other systems and it can also allow for load balancing between systems. <strong>Load balancing</strong> in Windows 2003 <strong>hosting </strong>is using a device, which can be a server or an appliance, to balance the load of traffic across multiple <strong>servers </strong>waiting to receive that traffic. The device sends incoming <strong>traffic </strong>based on an algorithm to the most underused machine or spreads the traffic out evenly among all machines that are on at the time. A good example of using this <strong>technology</strong> would be if you had a web site that received 2,000 hits per day. If, in the months of November and December, your <strong>hit</strong> <strong>count </strong>tripled, you might be unable to sustain that type of increased load. Your customers might experience time outs,<br />
<span id="more-380"></span><br />
slow response times, or worse, they might be unable to get to the site at all. With that picture fresh in your mind, consider two <strong>servers </strong>providing the same web site. Now you have an alternative to slow response time and, by adding a second or a third server, the response time would improve for the customer. High Availability is provided because, with this technology, you can always have your web site or services available to the visiting <strong>Internet community</strong>. You have also systematically removed the single point of failure from the equation. A single point of <strong>failure </strong>is removed because you now have a form of redundancy added in.</p>
<p><strong>Pros and Cons to Windows 2003 Clustering and Load Balancing:</strong></p>
<p>You could now be asking yourself, which is better to implement, Windows clustering or load balancing hosting? To give you a quick rundown of the high-level pros and cons to each technology, consider the following. With <strong>Windows</strong> <strong>cluster hosting</strong>, you depend on the actual clustered nodes to make a decision about the state of the network and what to do in a failure. If <strong>Node </strong>A in a cluster senses a problem with Node B (<strong>Node </strong>B is down), then Node A comes online. This is done with heartbeat <strong>traffic</strong>, which is a way for Node A to know that Node B is no longer available and it must come online to take over the traffic. With load <strong>balancing</strong>, a single device (a network client) sends traffic to any available node in the <strong>load-balanced group</strong> of nodes. <strong>Load balancing</strong> uses heartbeat traffic as well but, in this case, when a node comes offline, the &#8220;load&#8221; is recalculated among the remaining nodes in the group. Also, with <strong>clustering </strong>(not <strong>load balancing</strong>), you&#8217;re normally tied down or restricted to a small number of participating nodes. For example, if you want to implement a <strong>clustered </strong>solution with <strong>Windows 2003 Advanced Server</strong>, you might use a two-node cluster. With load balancing, you can implement up to 32 nodes and, if you use a third-party utility, you can scale way beyond that number. You can even mix up the operating system (OS) platforms, if needed, to include <strong>Sun Solaris</strong> or any other system you might be running your services on. Finally, you have the option to set up tiered access to services and to mix both architectures (<strong>clustering </strong>and <strong>load balancing hosting</strong>) together. You can set up the first tier of access to your web servers as load balanced and the last tier of access as your clustered SQL databases.</p>
<p>With eukhost we have expertise for any feature as per your hosting requirement. We can also setup<strong> Windows Dedicated Cluster hosting</strong> along with<strong> Plesk control panel</strong>, this is something that only eUKhost can provide.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mywebhostingblog.net/mssql-server-hosting/windows-clustering-and-load-balancing-explained/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Monitoring IIS Web Server with Logparser and the RRDtool</title>
		<link>http://www.mywebhostingblog.net/hosting-security/monitoring-iis-web-server-with-logparser-and-the-rrdtool/</link>
		<comments>http://www.mywebhostingblog.net/hosting-security/monitoring-iis-web-server-with-logparser-and-the-rrdtool/#comments</comments>
		<pubDate>Thu, 12 Mar 2009 15:03:04 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[Hosting Security]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[Window Hosting]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[Graph]]></category>
		<category><![CDATA[IIS Web Server]]></category>
		<category><![CDATA[logparser]]></category>
		<category><![CDATA[MRTG]]></category>
		<category><![CDATA[MRTGbundle]]></category>
		<category><![CDATA[RRDTool]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Web Server]]></category>

		<guid isPermaLink="false">http://www.mywebhostingblog.net/?p=67</guid>
		<description><![CDATA[Introduction We read allot of articles on how one can use MRTG as an Intrusion detection tool or to creating traffic graph for a particular network subnet or a single IP address on Linux platform with Apache web server. But we find very few that allow us to have graphs on Windows Dedicated server with [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Introduction</strong></p>
<p>We read allot of articles on how one can use <strong>MRTG</strong> as an Intrusion detection <strong>tool </strong>or to creating<strong> traffic graph </strong>for a particular network subnet or a single IP address on<strong> Linux platform</strong> with <strong>Apache web server</strong>. But we find very few that allow us to have graphs on<strong> Windows</strong> <strong>Dedicated server </strong>with <strong>IIS Web Server</strong>.</p>
<p>Here are some steps that can be used to create graphs on <strong>Windows Dedicated server</strong> with <strong>IIS </strong>as the <strong>web servers</strong>. And there is no need to take all the efforts to configure <strong>MRTG </strong>as we can simply have graphs with the use of <strong>logparser </strong>and the <strong>RRDtool </strong>from Tobias Oetiker and you can use the <strong>RRDtool </strong>perfectly without the rest of <strong>MRTG</strong>.</p>
<p><span id="more-67"></span></p>
<p><strong>Logparser</strong></p>
<p><strong>Logparser </strong>is a great free tool from <strong>Microsoft</strong>. It is written by Gabriele Giuseppini a Software Design Engineer from the test department. The first version of <strong>logparser </strong>was an internal testing tool inside <strong>Microsoft</strong>. Version 2 was made publicly available at the website, version 2.1 was a part of the <strong>IIS resource tools kit </strong>and version 2.2 was made available in January 2005.</p>
<p><strong>Here is a brief introduction how logparser works:</strong></p>
<p>Logparser need three things, an input format, an output format and a sort of <strong>SQL query</strong>. The <strong>SQL query</strong> is a dialect of <strong>SQL</strong>.</p>
<p>There are few very interesting articles on Microsoft’s website, one written by the Author himself:<br />
<a title="Details on how to use LogParser" href="http://www.microsoft.com/technet/community/columns/profwin/pw0505.mspx"><strong>How to use Logparser</strong></a><br />
<a title="Another link on &quot;How to use Logparser&quot;" href="http://www.microsoft.com/technet/community/columns/scripts/sg0105.mspx"><strong>Another one from Scripting Guys:</strong></a></p>
<p>The article from the scripting guys shows you how to use the logparser directly in a script with a com object.</p>
<p>You can download Logparser from the link below:<br />
<a title="Download LogParser" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&amp;displaylang=en"><strong>DOWNLOAD LOAGPARSER</strong></a></p>
<p>The above download has portable help file in the application directory. This help file give you the parameters of all the properties of the <strong>logparser</strong>.<br />
There is also an unofficial website specially for logparser:<br />
www.logparser.com</p>
<p><strong>About RRDtool.</strong></p>
<p><strong>What is the RRDtool:</strong></p>
<p>The <strong>RRDtool </strong>or <strong>Round Robin Database tool</strong> is a tool that can store date in a <strong>database </strong>and create graphs with it. The really great thing about <strong>RDDTool </strong>is that the database does not growing. It will stay almost the same size as when it was created.</p>
<p>On the RRD website<br />
<a title="RRDTool Official Website" href="http://www.people.ee.ethz.ch/~oetiker/webtools/rrdtool/index.en.html"><strong>RRDTool Website</strong></a><br />
there are some really good <strong>tutorials</strong>, and it is recommended to read them before you use the <strong>RRDtool</strong>.<br />
From this website you can also download the <strong>RRDtool</strong>, the only problem is that you need to compile it but if you download it with the <strong>MRTGbundle </strong>from the link below, it has a completed version of the <strong>RRDtool </strong>in the packet. If you unpack the MRTGbundle, you can copy the RRDtool directory to your scripting directory or your application directory and start using it.<br />
<a title="Compiled version of RRDTool" href="http://www.openinnovations.com/mrtgbundle.html"><strong>DOWNLOAD RDDTool Compiled Version</strong></a></p>
<p><strong>Create Database.</strong></p>
<p>Before you can use the <strong>RRDtool </strong>you need to create the database.<br />
The link below has all the information on how and why to create a database along with the parameters.<br />
<a title="How and why to create a database" href="http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/tut/rrdtutorial.en.html"><strong>How to create a database</strong></a><br />
<strong><a title="This link defines its parameters." href="http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/doc/rrdcreate.en.html">Parameters</a></strong></p>
<p>You can also use a script to do that.</p>
<p><code><br />
‘#start script.<br />
Set WshShell = WScript.CreateObject("WScript.Shell")<br />
strCMD = ".binrrdtool.exe create Eservicing.rrd"<br />
strCMD = strCMD &amp; " --start N "<br />
strCMD = strCMD &amp; " -s 300"<br />
strCMD = strCMD &amp; " DS:Hits:GAUGE:600:0:2000000"<br />
strCMD = strCMD &amp; " DS:Error400:GAUGE:600:0:2000000"<br />
strCMD = strCMD &amp; " DS:Error500:GAUGE:600:0:2000000"<br />
strCMD = strCMD &amp; " RRA:AVERAGE:0.5:1:288"<br />
strCMD = strCMD &amp; " RRA:AVERAGE:0.5:2:2016"<br />
strCMD = strCMD &amp; " RRA:AVERAGE:0.5:4:2232"<br />
strCMD = strCMD &amp; " RRA:AVERAGE:0.5:12:8760"</code></p>
<p>WshShell.Run strCMD<br />
‘#end script.</p>
<p>Here is an explanation of every command in the script:</p>
<p><code>Set WshShell = WScript.CreateObject("WScript.Shell")</code><br />
This line create a shell object you need to run the RRDtool .<br />
In the next 10 lines I create the command line that I run in the last line.</p>
<p><code>strCMD = ".binrrdtool.exe create Eservicing.rrd"</code><br />
this starts the RRDtool with the create function and give the name of the database.</p>
<p><code>strCMD = strCMD &amp; " --start N "</code><br />
&#8211;start set the start time of the database and N is the current time. The RRDtool works with Unixtime, this are the seconds from 1 January 1970.</p>
<p><code>strCMD = strCMD &amp; " -s 300"</code><br />
-s is the seconds between a database update.</p>
<p><code>strCMD = strCMD &amp; " DS:Hits:GAUGE:600:0:2000000"<br />
strCMD = strCMD &amp; " DS:Error400:GAUGE:600:0:2000000"<br />
strCMD = strCMD &amp; " DS:Error500:GAUGE:600:0:2000000"</code><br />
with this three lines I create three data sources. DS stands for data source, Hits is the name of the data source GAUGE is one of the four type’s of data sources, 600 are the seconds between the records if there is no input after 600 the value is NULL, 0 is the minimum value of the record and 200000 is the maximum value.</p>
<p><code>strCMD = strCMD &amp; " RRA:AVERAGE:0.5:1:288"<br />
strCMD = strCMD &amp; " RRA:AVERAGE:0.5:2:2016"<br />
strCMD = strCMD &amp; " RRA:AVERAGE:0.5:4:2232"<br />
strCMD = strCMD &amp; " RRA:AVERAGE:0.5:12:8760"</code><br />
this four lines create four Round Robin Archives. RRA stands for Round Robin Archive, AVERAGE is one of the four consolidation functions, 0.5 is the consolidation interval, 1 is the number of data sources that are consolidate in one record in the Round Robin Archive. If every 600 seconds a DS is created and the value is 4 instead of 1 every 2400 seconds there will be a record add to the archive, the last value is the number of records the archive contains.<br />
The first line create a Round Robin Archive with a consolidation interval of 0.5. every data source gets a record in the archive and the archive is 288 records long.</p>
<p><code>WshShell.Run strCMD</code><br />
And with this line the command is executed.</p>
<p><strong>Update database.</strong></p>
<p>With the next script we use logparser to evaluate the logfile from a IIS server. We can run this script every 5 minutes. To write the results in RRD database.</p>
<p><code>‘#start script<br />
Const ForReading = 1, ForWriting = 2, ForAppending = 8<br />
'-------------------------------------------------------------------------<br />
LogDir = "serverd$logsyswwwsiteW3SVC1"<br />
Set WSHShell = CreateObject("Wscript.Shell")<br />
Set fso = CreateObject("Scripting.FileSystemObject")<br />
Set objLogParser = CreateObject("MSUtil.LogQuery")<br />
Set objDictIISlogslist = CreateObject("Scripting.Dictionary")</code></p>
<p>Dim strDate<br />
Dim count<br />
Error400 = 0<br />
Error500 = 0<br />
&#8216;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Main<br />
&#8216;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
&#8216;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Sub Main<br />
Call MakeStrDate<br />
Call GetUniqueHits<br />
Call GetStatus<br />
Call UpdateRRD<br />
End Sub<br />
&#8216;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
&#8216; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Sub MakeStrDate<br />
strMonth = Month(Now)<br />
If Len(strMonth) = 1 Then<br />
strMonth = &#8220;0&#8243; &amp; CStr(strMonth)<br />
End If<br />
strDay = Day(Now)<br />
If Len(strDay) = 1 Then<br />
strDay = &#8220;0&#8243; &amp; CStr(strDay)<br />
End If<br />
strYear =Right(Year(Now),2)<br />
strDate = strYear &amp; strMonth &amp; strDay<br />
End Sub<br />
&#8216; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
&#8216;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Sub GetUniqueHits<br />
Set objInputFormat = CreateObject(&#8220;MSUtil.LogQuery.IISW3CInputFormat&#8221;)<br />
objInputFormat.recurse = -1<br />
objInputFormat.iCheckPoint = strDate &amp; &#8220;.lpc&#8221;<br />
strQuery = &#8220;SELECT count(*) as UniqueHits FROM &#8216;&#8221; &amp; _<br />
LogDir &amp; &#8220;ex&#8221; &amp; strDate &amp; &#8220;.log&#8217;&#8221;<br />
Set objRecordSet = objLogParser.Execute(strQuery, objInputFormat)<br />
Do While Not objRecordSet.AtEnd<br />
Set objRecord = objRecordSet.GetRecord<br />
count = objRecord.GetValue(&#8220;UniqueHits&#8221;)<br />
objRecordSet.MoveNext<br />
Loop<br />
End Sub<br />
&#8216;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
&#8216;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Sub GetStatus<br />
Set objInputFormat = CreateObject(&#8220;MSUtil.LogQuery.IISW3CInputFormat&#8221;)<br />
objInputFormat.recurse = -1<br />
objInputFormat.iCheckPoint = strDate &amp; &#8220;Error.lpc&#8221;<br />
strQuery = &#8220;SELECT sc-status , COUNT(*) as Hits FROM &#8216;&#8221; &amp; LogDir &amp; &#8220;ex&#8221; &amp; strDate &amp; &#8220;.log&#8217; WHERE sc-status &gt; 399 GROUP BY sc-status ORDER BY Hits DESC&#8221;<br />
Set objRecordSet = objLogParser.Execute(strQuery, objInputFormat)<br />
Do While Not objRecordSet.AtEnd<br />
Set objRecord = objRecordSet.GetRecord<br />
If  objRecord.GetValue(&#8220;sc-status&#8221;) &gt; 399 And objRecord.GetValue(&#8220;sc-status&#8221;) &lt; 500  Then<br />
Error400 = Error400 + objRecord.GetValue(&#8220;Hits&#8221;)<br />
End If<br />
If  objRecord.GetValue(&#8220;sc-status&#8221;) &gt; 499 And objRecord.GetValue(&#8220;sc-status&#8221;) &lt; 600  Then<br />
Error500 = Error500 + objRecord.GetValue(&#8220;Hits&#8221;)<br />
End If<br />
objRecordSet.MoveNext<br />
Loop</p>
<p>End Sub<br />
&#8216;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
&#8216;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Sub UpdateRRD<br />
strRun = &#8220;.binrrdtool update Eservicing.rrd N:&#8221; &amp; count &amp; &#8220;:&#8221; &amp; Error400 &amp; &#8220;:&#8221; &amp; Error500<br />
X = WshShell.Run(strRun,0,True)<br />
End Sub<br />
&#8216;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
‘#end script</p>
<p>We will not explain this script line by line as it is a pretty simple script.</p>
<p><strong>Creating a Graphic with the RRDtool.</strong></p>
<p>With the next script I create a graphic with the RRDtool.</p>
<p><code>Set WshShell = WScript.CreateObject("WScript.Shell")</code></p>
<p>strCMD = &#8220;.binrrdtool graph .graphintranetNLweek.gif&#8221;<br />
strCMD = strCMD &amp; &#8221; &#8211;start N-1w &#8211;end N&#8221;<br />
strCMD = strCMD &amp; &#8221; &#8211;vertical-label &#8221; &amp; Chr(34) &amp; &#8220;Hits &#8221; &amp; Chr(34)<br />
strCMD = strCMD &amp; &#8221; &#8211;title INTRANET&#8221;<br />
strCMD = strCMD &amp; &#8221; DEF:Xhits=.databaseintranetNL.rrd:Hits:AVERAGE&#8221;<br />
strCMD = strCMD &amp; &#8221; DEF:Xerror400=.databaseintranetNL.rrd:Error400:AVERAGE&#8221;<br />
strCMD = strCMD &amp; &#8221; DEF:Xerror500=.databaseintranetNL.rrd:Error500:AVERAGE&#8221;<br />
strCMD = strCMD &amp; &#8221; LINE2:Xhits#FF0000:&#8221; &amp; Chr(34) &amp; &#8220;Hits&#8221; &amp; Chr(34)<br />
strCMD = strCMD &amp; &#8221; LINE2:Xerror400#00FF00:&#8221; &amp; Chr(34) &amp; &#8220;400 Errors&#8221; &amp; Chr(34)<br />
strCMD = strCMD &amp; &#8221; LINE2:Xerror500#0000FF:&#8221; &amp; Chr(34) &amp; &#8220;500 Errors&#8221; &amp; Chr(34)</p>
<p>WshShell.Run strCMD</p>
<p>You will make a note of 2 important thing in this script:<br />
1.    The DEF line: this line defines the Data Sources you use.<br />
2.    The LINE2: This defines the line in the graphic.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mywebhostingblog.net/hosting-security/monitoring-iis-web-server-with-logparser-and-the-rrdtool/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Fix for MSDTC Service errors in Windows Cluster</title>
		<link>http://www.mywebhostingblog.net/aspnet-web-hosting/fix-for-msdtc-service-errors-in-windows-cluster/</link>
		<comments>http://www.mywebhostingblog.net/aspnet-web-hosting/fix-for-msdtc-service-errors-in-windows-cluster/#comments</comments>
		<pubDate>Thu, 12 Mar 2009 10:57:50 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[ASP.NET Web Hosting]]></category>
		<category><![CDATA[Exchange Hosting]]></category>
		<category><![CDATA[MSSQL Server]]></category>
		<category><![CDATA[Window Hosting]]></category>
		<category><![CDATA[Cluster]]></category>
		<category><![CDATA[MSDTC]]></category>
		<category><![CDATA[MSDTC configuration]]></category>
		<category><![CDATA[Windows 2003]]></category>

		<guid isPermaLink="false">http://www.mywebhostingblog.net/?p=318</guid>
		<description><![CDATA[Some times Configuring MSDTC and their error can ruin your Windows Cluster service and your time as well. You may get one of the following error when you failover the MSDTC service from one Dedicated node to another. This would only happen if the Cluster services has been installed before installing and configuring MSDTC Service. [...]]]></description>
			<content:encoded><![CDATA[<p>Some times Configuring <strong>MSDTC</strong> and their error can ruin your <strong>Windows Cluster service</strong> and your time as well. You may get one of the following error when you failover the <strong>MSDTC </strong>service from one <strong>Dedicated </strong>node to another.</p>
<p>This would only happen if the <strong>Cluster services</strong> has been installed before installing and configuring MSDTC Service. Hence it is highly recommended that you first install and configure MSDTC and then configure the Windows Cluster Service.</p>
<p><code>Event ID: 4097<br />
Description:<br />
MS DTC started with the following settings: Security Configuration (OFF = 0 and ON = 1): Network Administration of Transactions = 1, Network Clients = 0, Distributed Transactions using Native MSDTC Protocol = 1, Transaction Internet Protocol (TIP) = 0, XA Transactions = 1.</code></p>
<p>OR</p>
<p><code>Event ID: 4395<br />
Description:<br />
MSDTC detected that MSDTC related information in the local registry is different from that in the shared cluster registry. Error Specifics: d:ntcomcom1xdtcsharedmtxclumtxclusetuphelper.cpp:541, CmdLine: C:WINNTSystem32msdtc.exe, Pid: 796<br />
Data:<br />
0000: 05 40 00 80 .@.?</code></p>
<p>OR</p>
<p><code>Event ID:	4384<br />
Description:<br />
MS DTC was unable to start because the installation was not configured to run on a cluster. Please run comclust.exe and restart MS DTC. Error Specifics: d:ntcomcom1xdtcsharedmtxclumtxclusetuphelper.cpp:668, CmdLine: C:WINNTSystem32msdtc.exe, Pid: 796</code></p>
<p>OR</p>
<p><code>Event ID : 7024<br />
Source : Service Control Manager<br />
Description: The MSDTC service terminated with service specific error 3221229584.</code></p>
<p>Initially you should try and run the command below and check if it solves the problem:</p>
<p><code>msdtc -resetlog</code></p>
<p>If that does not help then follow the fix below:</p>
<p><span id="more-318"></span></p>
<p>1. Delete the DTC resource<br />
2. Delete MSDTC folder from the quorum disk.</p>
<p><strong>On Node 1:</strong></p>
<p><strong>&#8211; Stop the Cluster Service</strong></p>
<p><strong>&#8211; Remove Enable network DTC  Service with the command below:</strong></p>
<p><code>msdtc -uninstall</code></p>
<p>Make sure to check the Success in the Event logs.</p>
<p><strong>&#8211; Verify that the following registry key has been removed as well.. if not then remove it manually.</strong></p>
<p><code>HKEY_CLASSES_ROOTCID<br />
HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSDTC<br />
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSDTC</code></p>
<p><strong>&#8211; Reboot the Server</strong></p>
<p><strong>&#8211; After the Server is back online reinstall Enable network DTC Service with the command below:</strong></p>
<p><code>msdtc -install</code></p>
<p>Now create the DTC resource on <strong>Node 1</strong> and it should come online.</p>
<p><strong>Now on Node 2</strong></p>
<p><strong>&#8211; Stop the Cluster Services.</strong></p>
<p><strong>&#8211; Evict Node 2 from the Cluster</strong></p>
<p><strong>&#8211; Remove Enable network DTC  Service with the command below:</strong></p>
<p><code>msdtc -uninstall</code></p>
<p>Make sure to check the Success in the Event logs.</p>
<p><strong>&#8211; Verify that the registry key has been removed as well.. if not then remove it manually.</strong></p>
<p><strong>&#8211; Reboot<br />
</strong></p>
<p><strong>&#8211; </strong><strong>Reinstall Enable network DTC Service with the command below:</strong></p>
<p><code>msdtc -install</code></p>
<p><strong>&#8211; Verify that the Service has now Started and also registry keys created.</strong></p>
<p><strong>&#8211; Rejoin the node back into the cluster.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mywebhostingblog.net/aspnet-web-hosting/fix-for-msdtc-service-errors-in-windows-cluster/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Checklists for Windows Cluster:</title>
		<link>http://www.mywebhostingblog.net/hosting-security/checklists-for-windows-cluster/</link>
		<comments>http://www.mywebhostingblog.net/hosting-security/checklists-for-windows-cluster/#comments</comments>
		<pubDate>Wed, 11 Mar 2009 23:38:27 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[Exchange Hosting]]></category>
		<category><![CDATA[Hosting Security]]></category>
		<category><![CDATA[MSSQL Server]]></category>
		<category><![CDATA[Window Hosting]]></category>
		<category><![CDATA[cluster node configuration]]></category>
		<category><![CDATA[Cluster Prerequisite]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[Windows 2003]]></category>

		<guid isPermaLink="false">http://www.mywebhostingblog.net/?p=333</guid>
		<description><![CDATA[This checklist helps you prepare for installation. It is very important to go through all of them else it make it very difficult to restart if either one of them is missed or not configured: Software Requirements •    Microsoft Windows Server 2003 Enterprise Edition or Windows Server 2003 Datacenter Edition installed on all dedicated servers [...]]]></description>
			<content:encoded><![CDATA[<p>This checklist helps you prepare for installation. It is very important to go through all of them else it make it very difficult to restart if either one of them is missed or not configured:</p>
<p><strong>Software Requirements</strong></p>
<p>•    Microsoft <strong>Windows Server 2003</strong> Enterprise Edition or <strong>Windows Server 2003</strong> Datacenter Edition installed on all <strong>dedicated servers</strong> in the cluster.<br />
•    A name resolution method such as Domain Name System (<strong>DNS</strong>), <strong>DNS </strong>dynamic update protocol, Windows Internet Name Service (WINS), HOSTS, and so on.</p>
<p><span id="more-333"></span>•    An existing domain model.<br />
•    All nodes must be members of the same domain.<br />
•    A domain-level account that is a member of the local administrators group on each node. A dedicated account is recommended.</p>
<p><strong>Hardware Requirements</strong></p>
<p>•    Clustering hardware must be on the cluster service<strong> Hardware Compatibility List</strong> (HCL). To find the latest version of the cluster service HCL, go to the Windows Hardware Compatibility List at<strong> http://www.microsoft.com/hcl/</strong>, and then search for cluster. The entire solution must be certified on the HCL, not just the individual components.</p>
<p>•    Two mass storage device controllers—Small Computer System Interface (<strong>SCSI</strong>) or Fibre Channel. A local system disk for the operating system (<strong>OS</strong>) to be installed on one controller. A separate peripheral component interconnect (PCI) storage controller for the shared disks.<br />
•    Two <strong>PCI </strong>network adapters on each node in the cluster.<br />
•    Storage cables to attach the shared storage device to all computers. Refer to the manufacturers instructions for configuring storage devices..<br />
•    All hardware should be identical, slot for slot, card for card, <strong>BIOS</strong>, firmware revisions, and so on, for all nodes. This makes configuration easier and eliminates compatibility problems.</p>
<p><strong>Network Requirements</strong></p>
<p>•    A unique <strong>NetBIOS </strong>name.<br />
•    Static IP addresses for all network interfaces on each node.<br />
•    Access to a domain controller. If the cluster service is unable to authenticate the user account used to start the service, it could cause the cluster to fail. It is recommended that you have a<strong> domain controller</strong> on the same local area network (<strong>LAN</strong>) as the cluster is on to ensure availability.<br />
•    Each node must have at least two network adapters—one for connection to the client public network and the other for the node-to-node private cluster network. A dedicated private network adapter is required for <strong>HCL </strong>certification.<br />
•    All nodes must have two physically independent LANs or virtual <strong>LANs </strong>for public and private communication.<br />
•    If you are using fault-tolerant network cards or network adapter teaming, verify that you are using the most recent firmware and drivers. Check with your network adapter manufacturer for cluster compatibility.</p>
<p><strong>Shared Disk Requirements:</strong></p>
<p>•    An <strong>HCL-approved</strong> external disk storage unit connected to all computers. This will be used as the clustered shared disk. Some type of a hardware redundant array of independent disks (<strong>RAID</strong>) is recommended.<br />
•    All shared disks, including the quorum disk, must be physically attached to a shared bus.<br />
•    Shared disks must be on a different controller then the one used by the system drive.<br />
•    Creating multiple logical drives at the hardware level in the <strong>RAID </strong>configuration is recommended rather than using a single logical disk that is then divided into multiple partitions at the operating system level. This is different from the configuration commonly used for stand-alone servers. However, it enables you to have multiple disk resources and to do Active/Active configurations and manual load balancing across the nodes in the cluster.<br />
•    A dedicated disk with a minimum size of 50 megabytes (MB) to use as the quorum device. A partition of at least 500 MB is recommended for optimal <strong>NTFS </strong>file system performance.<br />
•    Verify that disks attached to the shared bus can be seen from all nodes. This can be checked at the host adapter setup level. Refer to the manufacturer’s documentation for adapter-specific instructions.<br />
•    SCSI devices must be assigned unique <strong>SCSI </strong>identification numbers and properly terminated according to the manufacturer’s instructions.<br />
•    All shared disks must be configured as basic disks.<br />
•    Software fault tolerance is not natively supported on cluster shared disks.<br />
•    All shared disks must be configured as master boot record (<strong>MBR</strong>) disks on systems running the 64-bit versions of <strong>Windows Server 2003</strong>.<br />
•    All partitions on the clustered disks must be formatted as <strong>NTFS</strong>.<br />
•    Hardware fault-tolerant <strong>RAID </strong>configurations are recommended for all disks.<br />
•    A minimum of two logical shared drives is recommended.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mywebhostingblog.net/hosting-security/checklists-for-windows-cluster/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Install &amp; Configure Windows DNS Service</title>
		<link>http://www.mywebhostingblog.net/window-hosting/install-configure-windows-dns-service/</link>
		<comments>http://www.mywebhostingblog.net/window-hosting/install-configure-windows-dns-service/#comments</comments>
		<pubDate>Wed, 11 Mar 2009 16:54:03 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[Window Hosting]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[DNS Server]]></category>
		<category><![CDATA[DNS Service]]></category>
		<category><![CDATA[dnsmgmt.msc]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.mywebhostingblog.net/?p=220</guid>
		<description><![CDATA[Steps to Configure Windows DNS Server/Service. Here is a very simple way to configure a DNS service on Windows Dedicated Server that hosts your website. Requirements: 1. You should have one of the following Windows OS to install the DNS service: &#8211; Windows XP Professional edition. &#8211; Windows Vista. &#8211; Windows 2003 Server Data center [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Steps to Configure Windows DNS Server/Service.</strong></p>
<p>Here is a very simple way to configure a <strong>DNS service</strong> on Windows Dedicated Server that hosts your website.</p>
<p><strong>Requirements:</strong></p>
<p>1. You should have one of the following Windows OS to install the DNS service:</p>
<p>&#8211; Windows XP Professional edition.<br />
&#8211; Windows Vista.<br />
&#8211; Windows 2003 Server Data center edition.<br />
&#8211; Windows 2003 Server Enterprise edition.<br />
&#8211; Windows 2003 Server Standard edition.</p>
<p>You cannot install DNS service on <strong>Windows 2008 Server</strong> with the steps below as it does not have an option to add remove <strong>Windows Components</strong>. You will have to use the <strong>Server Manager</strong> option to install Services on your <strong>Windows 2008 Server.</strong></p>
<p><span id="more-220"></span>I have not specified Windows NT and Windows 2000 version as they are hardly used now a days. Also Windows XP Home edition and <strong>Windows 2003 Server</strong> Web edition does not support DNS service on them.</p>
<p>2. Windows OS installation CD or the i386 folder.</p>
<p>3. A user that will have Administrator rights on the Dedicated server on which you want to install DNS service.</p>
<p><strong>Installation Steps:</strong></p>
<p>1. Go to Control panel &gt;&gt; Add/Remove Programs &gt;&gt; Add/Remove Windows Components, it will open a windows below:</p>
<p style="text-align: center;"><a href="http://www.mywebhostingblog.net/wp-content/uploads/2008/11/install-dns-service-step-3.png"><img class="alignnone size-full wp-image-221" title="install-dns-service-step-1" src="http://www.mywebhostingblog.net/wp-content/uploads/2008/11/install-dns-service-step-1.png" alt="install-dns-service-step-1" width="502" height="407" /><br />
</a></p>
<p>2. Click Next and you will get the screen,  see below:</p>
<p style="text-align: center;"><a href="http://www.mywebhostingblog.net/wp-content/uploads/2008/11/install-dns-service-step-2.png"><img class="size-full wp-image-222 aligncenter" title="install-dns-service-step-2" src="http://www.mywebhostingblog.net/wp-content/uploads/2008/11/install-dns-service-step-2.png" alt="" width="500" height="401" /></a></p>
<p>3. Select the Networking Server <strong>(DO NOT CHECK THE BOX)</strong> and Click on Details (Highlighted in red) and you will get screen below:</p>
<p style="text-align: center;"><a href="http://www.mywebhostingblog.net/wp-content/uploads/2008/11/install-dns-service-step-3.png"><img class="size-full wp-image-223 aligncenter" title="install-dns-service-step-3" src="http://www.mywebhostingblog.net/wp-content/uploads/2008/11/install-dns-service-step-3.png" alt="" width="500" height="402" /></a></p>
<p>4. Check Box on Domain Name System (DNS) and Click OK &gt;&gt; then Next. It will start the installation and will popup for the CD:</p>
<p style="text-align: center;"><a href="http://www.mywebhostingblog.net/wp-content/uploads/2008/11/install-dns-service-step-4.png"><img class="size-full wp-image-224 aligncenter" title="install-dns-service-step-4" src="http://www.mywebhostingblog.net/wp-content/uploads/2008/11/install-dns-service-step-4.png" alt="" width="498" height="401" /></a></p>
<p>5. Browse to the i386 folder and then Click OK to complete the installation of <strong>DNS Service</strong>.</p>
<p><strong>DNS Service and ZONE Configuration:</strong></p>
<p>1. G oto Start &gt;&gt; Run and type the command below and hit enter:</p>
<p><code>dnsmgmt.msc</code></p>
<p>2. This will open <strong>DNS Management Console</strong>:</p>
<p style="text-align: center;"><a href="http://www.mywebhostingblog.net/wp-content/uploads/2008/11/configure-dns-service-step-1.png"><img class="size-full wp-image-225 aligncenter" title="configure-dns-service-step-1" src="http://www.mywebhostingblog.net/wp-content/uploads/2008/11/configure-dns-service-step-1.png" alt="" width="498" height="530" /></a></p>
<p>3. Before making any changes on the<strong> DNS server</strong> I will show you some steps that will make your life as well as the configuration very easy.<br />
A. We will assume that we have to crate a DNS zone for the domain www.moosa.com. For that just go to C:WINDOWSsystem32dns directory (Path to WINDOWS may differ as per the OS you use, you can find it with %windir% or %SystemRoot% in the explorer)<br />
B. Create an empty file as moosa.com.dns.<br />
C. Insert the entire code into it:<br />
&#8212;&#8212;&#8211;</p>
<p><code>;<br />
;  Database file moosa.com.dns for moosa.com zone.<br />
;      Zone version:  1<br />
;</code></p>
<p>@	IN  SOA NS1.moosa.com.  info.moosa.com. (<br />
1            ; serial number<br />
900          ; refresh<br />
600          ; retry<br />
86400        ; expire<br />
3600       ) ; default TTL</p>
<p>;<br />
;  Zone NS records<br />
;</p>
<p>@	IN	NS	NS1.moosa.com.<br />
@	IN	NS	NS2.moosa.com.</p>
<p>;<br />
;  Zone records<br />
;</p>
<p>@	IN	A	192.168.5.52<br />
mail	IN	A	192.168.5.72<br />
www	IN	CNAME	moosa.com.<br />
ftp	IN	CNAME	moosa.com.</p>
<p>;<br />
;  Zone Mail records<br />
;</p>
<p>@	IN	MX	10 mail.moosa.com.</p>
<p>&#8212;&#8212;-<br />
Let me explain each entry one by one briefly, you will have to change each of them as per your requirement:</p>
<p><strong>&#8211; NS1.moosa.com. in SOA :</strong> This is the primary name server of my domain moosa.com. It is not compulsory that you too may have name server on your domain. But it should be the one from the set of name servers that you provide to your registrar to point your domain on your server.</p>
<p><strong>&#8211; info.moosa.com. in SOA:</strong> This is actually an email address info @ moosa.com, it is provided for the DNS server to send notification of that is a problem within the zone.</p>
<p>&#8211; You can forget the rest in SOA as it will require a separate topic to explain those.</p>
<p><strong>&#8211; NS1.moosa.com. in NS:</strong> This is again a primary name server that was provided to registrar.</p>
<p><strong>&#8211; NS2.moosa.com. in NS:</strong> This a secondary name server of my domain moosa.com.<br />
It is not over here, you can even have 3rd and 4th NS entry here. A zone will accept up to 13 NS entries for a single domain.</p>
<p><strong>&#8211; &#8216;A&#8217; records: </strong>&#8216;A&#8217; record has the IP address that you want your domain to point at. This will probably the IP address of your web server or a mail server. I have 2 A records for moosa.com and mail.moosa.com, one for the IIS web server and other for the Exchange mail server.</p>
<p><strong>&#8211; CNAME: </strong>CNAME are the canonical names for a domain or duplicate names. I have 2 CNAME so that www.moosa.com and ftp.moosa.com will point to the same IP of moosa.com.</p>
<p><strong>&#8211; MX record:</strong> MX record will be required for your mails to work. It shows a path to your email server. If you do not have an email server and this record will not be required.</p>
<p>I will not go more deep in each of these settings or this topic will turn into a book. <img src='http://www.mywebhostingblog.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>4. Save the file and close it, make sure that each setting looks exactly the same as that has been defined above or the zone creation will fail.</p>
<p>5. Now go back to DNS Management Console, right click on SERVER NAME to make sure that the DNS service is running. If it is not running then click on Start option to start the service.</p>
<p><a href="http://www.mywebhostingblog.net/wp-content/uploads/2008/11/configure-dns-service-step-2.png"><img class="aligncenter size-full wp-image-226" title="configure-dns-service-step-2" src="http://www.mywebhostingblog.net/wp-content/uploads/2008/11/configure-dns-service-step-2.png" alt="" width="498" height="529" /></a></p>
<p>6. Right Click on &#8220;Forward Lookup Zone&#8221; &gt;&gt; New Zone:</p>
<p><a href="http://www.mywebhostingblog.net/wp-content/uploads/2008/11/configure-dns-service-step-3.png"><img class="aligncenter size-full wp-image-227" title="configure-dns-service-step-3" src="http://www.mywebhostingblog.net/wp-content/uploads/2008/11/configure-dns-service-step-3.png" alt="" width="492" height="333" /></a></p>
<p>7. It will Open the New Zone Wizard, click Next on first screen and then select &#8220;Primary zone&#8221; and then Next:</p>
<p><a href="http://www.mywebhostingblog.net/wp-content/uploads/2008/11/configure-dns-service-step-5.png"><img class="aligncenter size-full wp-image-229" title="configure-dns-service-step-5" src="http://www.mywebhostingblog.net/wp-content/uploads/2008/11/configure-dns-service-step-5.png" alt="" width="500" height="381" /></a></p>
<p>8. Put Domain name in &#8220;Zone Name&#8221; screen, without www in it. and click Next:</p>
<p><a href="http://www.mywebhostingblog.net/wp-content/uploads/2008/11/configure-dns-service-step-51.png"><img class="aligncenter size-full wp-image-230" title="configure-dns-service-step-51" src="http://www.mywebhostingblog.net/wp-content/uploads/2008/11/configure-dns-service-step-51.png" alt="" width="500" height="381" /></a></p>
<p>9. In the Zone File screen, Select the 2nd option &#8220;Use this existing file&#8221;. Make sure that the file name and path matches your name and path from the steps above. Then click Next:</p>
<p><a href="http://www.mywebhostingblog.net/wp-content/uploads/2008/11/configure-dns-service-step-6.png"><img class="aligncenter size-full wp-image-231" title="configure-dns-service-step-6" src="http://www.mywebhostingblog.net/wp-content/uploads/2008/11/configure-dns-service-step-6.png" alt="" width="498" height="380" /></a></p>
<p>10. In &#8220;Dynamic Update&#8221; screen, select &#8220;Do not allow dynamic updates&#8221; and click Next:</p>
<p><a href="http://www.mywebhostingblog.net/wp-content/uploads/2008/11/configure-dns-service-step-7.png"><img class="aligncenter size-full wp-image-232" title="configure-dns-service-step-7" src="http://www.mywebhostingblog.net/wp-content/uploads/2008/11/configure-dns-service-step-7.png" alt="" width="500" height="383" /></a></p>
<p>11. Click Finish on Next screen to create the new domain for your domain:</p>
<p><a href="http://www.mywebhostingblog.net/wp-content/uploads/2008/11/configure-dns-service-step-8.png"><img class="aligncenter size-full wp-image-233" title="configure-dns-service-step-8" src="http://www.mywebhostingblog.net/wp-content/uploads/2008/11/configure-dns-service-step-8.png" alt="" width="499" height="382" /></a></p>
<p>12. Your zone will appear in the screen below. You wil either double click the existing entries to update/edit/modify them or right click on the white screen to Add new Records as per your need.</p>
<p><a href="http://www.mywebhostingblog.net/wp-content/uploads/2008/11/configure-dns-service-step-9.png"><img class="aligncenter size-full wp-image-234" title="configure-dns-service-step-9" src="http://www.mywebhostingblog.net/wp-content/uploads/2008/11/configure-dns-service-step-9.png" alt="" width="500" height="511" /></a></p>
<p><strong>DO NOT FORGET TO EITHER RELOAD THE ZONE OR RESTART THE DNS SERVICE FOR THE CHANGES YOU HAVE MADE TO REFLECT.</strong></p>
<p>That is it.. now create another zone and so on..</p>
<p>Wasn&#8217;t that damn easy..!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mywebhostingblog.net/window-hosting/install-configure-windows-dns-service/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Check list for Remote Desktop not Working</title>
		<link>http://www.mywebhostingblog.net/hosting-security/check-list-for-remote-desktop-not-working/</link>
		<comments>http://www.mywebhostingblog.net/hosting-security/check-list-for-remote-desktop-not-working/#comments</comments>
		<pubDate>Wed, 11 Mar 2009 07:32:24 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[Hosting Security]]></category>
		<category><![CDATA[Window Hosting]]></category>
		<category><![CDATA[RDP]]></category>
		<category><![CDATA[Remote Desktop]]></category>
		<category><![CDATA[Terminal Services]]></category>
		<category><![CDATA[Windows 2003]]></category>
		<category><![CDATA[Windows firewall]]></category>
		<category><![CDATA[Windows Server 2008]]></category>

		<guid isPermaLink="false">http://www.mywebhostingblog.net/?p=371</guid>
		<description><![CDATA[Remote Desktop [RDP] not Working..? This applies to all versions of Windows 2003 and Windows 2008 and also to Vista and XP Professional. This problem normally occurs to our client with Dedicated Server hosting. So I thought I will create a check list to make their hosting service a bit easy. Yes, you will need [...]]]></description>
			<content:encoded><![CDATA[<p>Remote Desktop [<strong>RDP</strong>] not Working..?</p>
<p>This applies to all versions <strong>of Windows 2003</strong> and <strong>Windows 2008</strong> and also to <strong>Vista </strong>and <strong>XP Professional</strong>. This problem normally occurs to our client with <strong>Dedicated Server hosting</strong>. So I thought I will create a check list to make their hosting service a bit easy.<br />
Yes, you will need physical access to the machine to check this, it is obvious that you will not be able to check this problem unless you have remote access to the server. These steps can only be performed if you have physical access to the dedicated server or through a Keyboard-Video-Mouse [<strong>KVM</strong>]. So there we go:</p>
<p>* First thing that you need to check is whether the <strong>Remote Desktop Console</strong> [RDC] is enabled on your server.<br />
Go to Desktop &gt;&gt; My Computer &gt;&gt; Properties &gt;&gt; Remote Tab<br />
Check the box for &#8220;<strong>Enable Remote Desktop on this computer</strong>&#8221; and click OK.</p>
<p><img class="aligncenter size-medium wp-image-372" title="windows-dedicated-hosting-enable-remote-desktop-1" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/windows-dedicated-hosting-enable-remote-desktop-1-262x300.png" alt="windows-dedicated-hosting-enable-remote-desktop-1" width="262" height="300" /></p>
<p><span id="more-371"></span></p>
<p>* If the above option is enabled then make sure that the user which you are using to connect the server remotely is added in the &#8220;<strong>Remote Desktop users&#8221;</strong> group. Administrators are normally added in the group. This can be confirmed from with the steps below:<br />
Go to Desktop &gt;&gt; My Computer &gt;&gt; Mange<br />
Expand Local Users and Group &gt;&gt; Select Group.<br />
Double click on &#8220;<strong>Remote Desktop Users</strong>&#8221; Group and make sure that the user is added in here.</p>
<p><img class="aligncenter size-medium wp-image-373" title="windows-dedicated-hosting-rdp-group" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/windows-dedicated-hosting-rdp-group-270x300.png" alt="windows-dedicated-hosting-rdp-group" width="270" height="300" /></p>
<p>* If both the above settings are correct then you need to make sure that TCP port 3389, which is the default port for RDC is enabled in the firewall of the machine that is used to RDP the server. Vise a verse make sure that the server firewall also has this port added in the exception. The best way to check this is:</p>
<p>First make sure that the server listens to telnet, try telnet of any other port which you are sure is working on the server like port 80 or 25. The command would be:</p>
<p><code>TELNET ip_address 25</code></p>
<p>If this works then try telnet on port 3389.</p>
<p><code>TELNET ip_address 3389</code></p>
<p>* If the telnet is not working then there are several possibilities, it can be the firewall on your machine or the firewall on the server tha is blocking the port. It can also be the case that <strong>Terminal Server Service</strong> did not start for some reasons. Or in a very rare situation it could be that the RDP port has been changed by some one. We will rectify all the possibilities one by one:</p>
<p>* Check the firewall on your machine or just shut the firewall down and then try the telnet again.</p>
<p>* If you have <strong>Windows Firewall</strong> then make sure that <strong>Remote Desktop</strong> is added in Exception.<br />
Goto Start &gt;&gt; All Programs &gt;&gt; Control Panel &gt;&gt; Windows Firewall<br />
If you have a third party firewall your dedicated server then just disable it and try the telnel option.</p>
<p><img class="aligncenter size-medium wp-image-374" title="windows-dedicated-hosting-firewall" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/windows-dedicated-hosting-firewall-256x300.png" alt="windows-dedicated-hosting-firewall" width="256" height="300" /></p>
<p>* If that is not the firewall issue make sure that <strong>Terminal Server Service</strong> is set to Automatic and is running. This server depends on <strong>Remote Procedure Call</strong> Service and you get errors while starting the server and you will need to trouble shoot the problem. If the server is terminating unexpectedly then make sure that the Hardware profile of the server is set to &#8220;Enable&#8221;:</p>
<p><img class="aligncenter size-medium wp-image-375" title="windows-dedicated-hosting-terminal-service" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/windows-dedicated-hosting-terminal-service-266x300.png" alt="windows-dedicated-hosting-terminal-service" width="266" height="300" /></p>
<p>* Sometimes client with <strong>Windows Dedicated Hosting</strong> package change the RDP port of their server and forget it, the steps below can be used for checking the RDP port as well as changing it as well, these steps will require to make changes in Registry hence it is recommended to backup the registry before following these steps:</p>
<p>Goto Start &gt;&gt; Run<br />
Type: regedit to open the registry editor MMC<br />
Expand to the Key:<br />
<code>[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp]</code><br />
Modify the value for Key &#8220;PortNumber&#8221;<br />
Change Base to Decimal</p>
<p><img class="aligncenter size-medium wp-image-376" title="windows-dedicated-hosting-rdp-port" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/windows-dedicated-hosting-rdp-port-300x177.png" alt="windows-dedicated-hosting-rdp-port" width="300" height="177" /><br />
Change Value data to the port your desire for your Dedicated Server<br />
Click OK<br />
Reboot the Machine.</p>
<p>Once the machine is online you will have to define your the port to connect your Dedicated Server remotrly<br />
<code>ip_address:port_number<br />
10.10.10.52:3362</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mywebhostingblog.net/hosting-security/check-list-for-remote-desktop-not-working/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Plesk SitePreview Not Working On Windows</title>
		<link>http://www.mywebhostingblog.net/hosting-security/plesk-sitepreview-not-working-on-windows/</link>
		<comments>http://www.mywebhostingblog.net/hosting-security/plesk-sitepreview-not-working-on-windows/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 08:03:04 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[Hosting Security]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[Window Hosting]]></category>
		<category><![CDATA[Parallels]]></category>
		<category><![CDATA[Plesk]]></category>
		<category><![CDATA[Sitepreview]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.mywebhostingblog.net/?p=409</guid>
		<description><![CDATA[Most of our users have this problem with there Windows Plesk Dedicated hosting as well as Windows Shared hosting packages with recent Parallels Plesk versions. I have had so many instance of support about the sitepreview not working on our Windows Shared Servers with Plesk for different reasons and I had to scratch my head [...]]]></description>
			<content:encoded><![CDATA[<p>Most of our users have this problem with there <strong>Windows Plesk Dedicated hosting</strong> as well as <strong>Windows Shared hosting packages</strong> with recent <strong>Parallels Plesk</strong> versions. I have had so many instance of support about the <strong>sitepreview </strong>not working on our <strong>Windows Shared Servers</strong> with Plesk for different reasons and I had to scratch my head to get things sorted for our valuable Windows dedicated hosting customers. And it is an important feature for our Shared hosting customers without the dedicated IP address to check their site before moving their name server to us. So I decided to write this blog with the steps to troubleshoot the problem with Plesk sitepreview in few simple steps. I will try and put every thing that I have figured while investigation.</p>
<p>There are 3 types of problems with site preview in Plesk:</p>
<p><span id="more-409"></span></p>
<p>1. <strong>Site Preview</strong> in Windows Plesk will show 404 Page Not Found error<br />
2. <strong>Site Preview</strong> in Windows Plesk will show Plesk Default page.<br />
3. <strong>SitePreview</strong> will ask for user name and password.</p>
<p>We will troubleshoot each problem with site preview one by one.</p>
<p><strong>1. Site Preview in Plesk will show 404 Page Not Found error.</strong></p>
<p>Cause: This happens if the sitepreview ISAPI DLL is not loaded correctly in IIS web server.</p>
<p><strong>Troubleshoot steps:</strong><br />
a. First check if a the Virtual folder with the name sitepreview is create in <strong>IIS Default Web Site</strong>. If it is not created then create it without the application pool and map it to folder <strong>&#8220;%plesk_dir%isapi&#8221;</strong>, same as in image below.  Also Make sure that Executable Permissions are set to <strong>&#8220;Scripts And Executables&#8221;</strong></p>
<p style="text-align: left;"><img class="aligncenter size-full wp-image-412" title="windows-plesk-hosting-site-preview-iis1" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/03/windows-plesk-hosting-site-preview-iis1.png" alt="windows-plesk-hosting-site-preview-iis1" width="470" height="460" /></p>
<p>b. Make sure that the <strong>Site preview ISAPI DDL</strong> is Allowed in Web Exteniosn and look like in image below, if not then Add it in Plesk Extensions.  <strong></strong><strong></strong></p>
<p style="text-align: left;"><img class="aligncenter size-full wp-image-413" title="windows-plesk-hosting-site-preview-iis-web-extension" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/03/windows-plesk-hosting-site-preview-iis-web-extension.png" alt="windows-plesk-hosting-site-preview-iis-web-extension" width="401" height="435" /></p>
<p>c. Also make sure that the Site Preview ISAPI DLL has been loaded with green Arrow in IIS &gt;&gt; Web Site &gt;&gt; Right click &gt;&gt; Properties &gt;&gt; ISAPI Tab. like in the figure below. If it is not loaded then just click on the Add button and browser through <strong>&#8220;%plesk_dir%isapisitepreview.dll&#8221;</strong> and restart IIS.</p>
<p><img class="aligncenter size-full wp-image-411" title="windows-plesk-hosting-site-preview-iis-web-site" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/03/windows-plesk-hosting-site-preview-iis-web-site.png" alt="windows-plesk-hosting-site-preview-iis-web-site" width="471" height="460" /></p>
<p>d. If you have IIS7 on <strong>Windows 2008 Server</strong> then make suer that you have Plesk Site Preview DLL added in IIS &gt;&gt; Click on Server &gt;&gt; IIS Group &gt;&gt; ISAPI Filters.</p>
<p><strong>2. Site Preview in Plesk will show Plesk Default page.</strong></p>
<p>Cause: Related to IP configuration on the server.</p>
<p><strong>Troubleshoot steps:</strong></p>
<p>a. Please fo through all the steps in problem one for this. However the only reason for this problem that I have found is main IP address of the server. Just make sure that you have alleast one site added on the main IP address of the server. To know the main IP address of the server Go to START &gt;&gt; <strong>Control Panel</strong> &gt;&gt; Network Connections &gt;&gt; Right click on main network adapter &gt;&gt; Click on Properties &gt;&gt; Select TCP IP &gt;&gt; Properties. The IP address list in this windows as IP address is the main IP address of the server. Just make sure that you have atleast one site hosted on this IP address.</p>
<p>The above solution will also apply is Plesk Site Preview option is working with https prefix butnot with http in URL browser.</p>
<p><strong>3. SitePreview will ask for user name and password for all website.</strong></p>
<p>Cause: Related to Permissions and Security Options.</p>
<p><strong>Troubleshoot steps:</strong></p>
<p>a. First check if the URL work fine with the IP address only:</p>
<p><code>http://192.168.1.52/</code></p>
<p>if not then there are permissions issue with the default site and if you are using a dedicated IP address instead of <strong>shared</strong> IP then the problem is with the permissions of the site that holds the dedicated IP.</p>
<p>b. If step &#8220;a&#8221; is working then try access the link below:<br />
<code>http://192.168.1.52/$sitepreview/</code></p>
<p>The above link should get redirected to the IP address and show Plesk default page or index.html page in <strong>Default Web site</strong> but it is is asking for password then permissions on sitepreview virtual directory is not correct. Make sure that <strong>IIS_WPG, NETWORK SERVICE, psaadm, psacln &amp; psaserv</strong> has read an execute permissions on the virtual folder, do not forget to inherit the permissions to files in it.</p>
<p>c. If it asks password for only one site then the problem should be either with the website permissions or the file you are accessing it.</p>
<p>I think this should cover all the problems with Parallels Plesk Site Preview problems. But if you still face problem and don&#8217;t want to use Site Preview then you have try the HACK below.</p>
<p><a title="Point Domain Wihtout Changing the DNS Name Server." href="http://www.mywebhostingblog.net/aspnet-web-hosting/point-domain-to-another-ip-without-changing-dns-name-servers/" target="_self"><strong>WINDOWS HACK TO POINT YOUR SITE TO AN IP WITHOUT CHANGING THE NAME SERVERS.</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mywebhostingblog.net/hosting-security/plesk-sitepreview-not-working-on-windows/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Write Permissions on Plesk Windows Server Get Removed</title>
		<link>http://www.mywebhostingblog.net/aspnet-web-hosting/write-permissions-on-plesk-windows-server-get-removed/</link>
		<comments>http://www.mywebhostingblog.net/aspnet-web-hosting/write-permissions-on-plesk-windows-server-get-removed/#comments</comments>
		<pubDate>Sat, 07 Mar 2009 06:18:24 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[ASP.NET Web Hosting]]></category>
		<category><![CDATA[Hosting Security]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[Window Hosting]]></category>
		<category><![CDATA[Permissions]]></category>
		<category><![CDATA[Plesk]]></category>
		<category><![CDATA[Plesk Control Panel]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.mywebhostingblog.net/?p=436</guid>
		<description><![CDATA[This has been a regular problem with most of our Windows dedicated Server Clients as well as Windows Shared hosting client that has Plesk 8.4 installed on them, specially for those who need write permissions on web user for the ASP .NET/MSSQL and PHP/MySQL application, that the write permissions on the folder get removed own [...]]]></description>
			<content:encoded><![CDATA[<p>This has been a regular problem with most of our<strong> Windows dedicated Server Clients</strong> as well as <strong>Windows Shared hosting client </strong>that has Plesk 8.4 installed on them, specially for those who need <strong>write permissions </strong>on web user for the <strong>ASP .NET/MSSQL</strong> and <strong>PHP/MySQL</strong> application, that the write <strong>permissions </strong>on the folder get <strong>removed</strong> own its own without any changes being made by us or the client. After allot of scratching and investigation we were finally able to reveal the secrete about the permissions issue. The problem was not with Plesk but the way we use to set <strong>permissions </strong>on the folder.</p>
<p style="text-align: left;"><img class="aligncenter size-full wp-image-437" title="Plesk Permissions Problem on Windows" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/03/plesk-86-premissions-problems.jpg" alt="plesk-86-premissions-problems" width="465" height="160" /></p>
<p>While I was searching for the solution I found the KB articel on Parallels sites below:</p>
<p><code>http://kb.parallels.com/en/1147</code></p>
<p><span id="more-436"></span></p>
<p>Where they (<strong>Plesk adminstrators</strong>) have clearly mentioned that custom permissions set on top level folder like httpdocs, statistics, cgi-bin etc will get reset by Plesk. So I decided to make a test, I manually gave write permissions to httpdocs folder and ran <em><strong>webservmng.exe</strong></em> on it and yes it was removed. Then after allot digging I would that there us a file<em> .Security</em> which is saved under the folder with the domain name (parallel to httpdocs folder), that stores all permissions for that domain.</p>
<p>Before we start please be informed that these steps are applicable to <strong>Parallel Plesk version 8.4</strong> and above as <em>.Security</em> file was introduced in 8.4 only.</p>
<p>So here are steps to get around the problem permanently:</p>
<p>1. Backup the <em>.Security</em> file and delete it from<em> [drive]:inetpub/vhosts/domain_name,</em> this file saves all the permissions assigned to that user from Plesk on Windows. Deleting it will remove all the records.</p>
<p>2. After renaming or deleting the <em>. Security</em> file, run this command below:</p>
<p><code>"%plesk_bin%/websrvmng.exe" --reconfigure-vhost --vhost-name=domain_name</code></p>
<p>3. This command will create a new <em>.Security</em> file with all default permissions on that domain.</p>
<p>4. Now login into Plesk &gt;&gt; Click on Domains &gt;&gt; domain_name &gt;&gt; File Manager &gt;&gt; httpdocs &gt;&gt; golden padlock of folder_name to set perm on &gt;&gt; &#8220;Advance&#8221; Button &gt;&gt; Select users &gt;&gt; Assign permissions &gt;&gt; OK.</p>
<p>These steps will save new permissions in .Security file and even if you run <em><strong>websrvmng</strong></em> on that domain again, the new permissions that has been set from Plesk will not get removed. There is no need to add any special group or users like, <strong>ASPNET </strong>or <strong>NETWORK SERVICE</strong> to any folder as those permissions are handled by <strong>IUSR_ &amp; IWAM_/IWPD_ users</strong>.</p>
<p>Any permissions that has been assigned directly to httpdocs folder will get reset by <strong>Plesk </strong>and if you inherit them to sub folder, permissions from sub folder will also get removed.</p>
<p>So the moral is,<strong> DO NOT</strong> give any permissions from RDP, use File Manager option if you want to keep the trouble of permissions away.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mywebhostingblog.net/aspnet-web-hosting/write-permissions-on-plesk-windows-server-get-removed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Point Domain to Another IP Without Changing DNS Name Servers</title>
		<link>http://www.mywebhostingblog.net/aspnet-web-hosting/point-domain-to-another-ip-without-changing-dns-name-servers/</link>
		<comments>http://www.mywebhostingblog.net/aspnet-web-hosting/point-domain-to-another-ip-without-changing-dns-name-servers/#comments</comments>
		<pubDate>Sat, 28 Feb 2009 11:48:21 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[ASP.NET Web Hosting]]></category>
		<category><![CDATA[Exchange Hosting]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[Linux Server Hosting]]></category>
		<category><![CDATA[Window Hosting]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[Hosts]]></category>
		<category><![CDATA[Name Servers]]></category>
		<category><![CDATA[Sitepreview]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.mywebhostingblog.net/?p=427</guid>
		<description><![CDATA[One can point your site to any designated IP address you want without changing the Name server of your Domain. Yes, you will be able to view/test your site on new server without changing the name servers as well as having trouble of using site Preview options in Control panel like Plesk. This option is [...]]]></description>
			<content:encoded><![CDATA[<p>One can point your site to any designated IP address you want without changing the Name server of your Domain. Yes, you will be able to view/test your site on new server without changing the name servers as well as having trouble of using site Preview options in Control panel like Plesk. This option is also helpful in the case of some site that use .js script in their codes since those scripts don&#8217;t work in Plesk site preview option. Specially in case of sites that work on <strong>DotNetNuke [DNN]</strong>.</p>
<p><strong>So here we go:</strong></p>
<p>On your local machine, [<strong>AND NOT THE SERVER</strong>]:<br />
Goto START &gt;&gt; Run &gt;&gt; and Type:<br />
<code>notepad "C:WINDOWSsystem32driversetchosts"</code><br />
And hit Enter</p>
<p><span id="more-427"></span>If you get file does not exist error then create hosts file in notepad <strong>&#8220;C:WINDOWSsystem32driversetc&#8221;</strong> folder.</p>
<p>At the end of the file you will have:</p>
<p><code>127.0.0.1    localhost</code></p>
<p>Just add your domain with the IP you want to point to, and it will look like, this will be also applicable if you have create a new hosts file:</p>
<p><code>127.0.0.1    localhost<br />
192.168.1.52    mywebhostingblog.net<br />
192.168.1.52    www.mywebhostingblog.net</code></p>
<p>Save the file and exit.</p>
<p>Now ping the domain on the <strong>computer </strong>you have made changes on and it will point to the <strong>IP address</strong> defined. You can now browse your site without the <strong>site preview</strong> and you will have to the content of the <strong>server </strong>you are moving to. Just remove the entries from the <strong>hosts </strong>file to point your domain back it was.</p>
<p>Wasn&#8217;t that Simple..!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mywebhostingblog.net/aspnet-web-hosting/point-domain-to-another-ip-without-changing-dns-name-servers/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>How to Block IP on Windows.</title>
		<link>http://www.mywebhostingblog.net/aspnet-web-hosting/how-to-block-ip-on-windows/</link>
		<comments>http://www.mywebhostingblog.net/aspnet-web-hosting/how-to-block-ip-on-windows/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 09:49:22 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[ASP.NET Web Hosting]]></category>
		<category><![CDATA[Hosting Security]]></category>
		<category><![CDATA[Window Hosting]]></category>
		<category><![CDATA[Block]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[IPSec]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Windows 2003]]></category>

		<guid isPermaLink="false">http://www.mywebhostingblog.net/?p=285</guid>
		<description><![CDATA[It is very easy to block a single IP address on a Linux server but Windows Default firewall doesn&#8217;t allow us to block a single IP address on the server or for particular ports. However Microsoft released this and introduced IP Security Polices in their Local Security Polices option in the release of their SP2. [...]]]></description>
			<content:encoded><![CDATA[<p>It is very easy to block a single IP address on a <strong>Linux </strong>server but <strong>Windows </strong>Default <strong>firewall </strong>doesn&#8217;t allow us to block a single IP address on the server or for particular ports. However <strong>Microsoft </strong>released this and introduced <strong>IP Security Polices</strong> in their <strong>Local Security Polices</strong> option in the release of their SP2. But most of us are not aware of this option and we mostly adopted third party firewall and pay for their heavy license. However Firewall onl Windows 2008 Server is far more advanced than that on Windows 2003.</p>
<p>It would not be the case now as I have listed detailed steps along with the images on how to block IP using the IP security policy in Windows. This option is also available in <strong>XP </strong>as well as <strong>Windows 2003</strong> Server edition.</p>
<p><strong>How to BLock IP Using Windows:</strong></p>
<p>You can either open MMC from START &gt;&gt; RUN &gt;&gt; MMC and add a new Snapin for IP Security policy with steps below:</p>
<p><span id="more-285"></span></p>
<p>Click &#8216;Start&#8217; &gt; &#8216;Run&#8217; &gt;type &#8216;MMC&#8217; press ok.<br />
In the console click &gt; &#8216;File&#8217; &gt; &#8216;Add/Remove Snap in&#8217;<br />
In the &#8216;Standalone Tab&#8217; click The &#8216;add&#8217; button<br />
Seclect &#8216;IP Security Policy Managment&#8217; &gt; &#8216;ADD&#8217; &gt; &#8216;Local Computer&#8217; &gt; &#8216;finish&#8217;  &gt; &#8216;close&#8217; &gt; &#8216;ok&#8217;<br />
You should now be back to the Management console.</p>
<p>OR</p>
<p>Just goto START &gt;&gt; PROGRAMS &gt;&gt; ADMINISTRATIVE TOOLS &gt;&gt; LOCAL SECURITY POLICIES ON LOCAL COMPUTER to open the IP Security Management Console.</p>
<p>1. Select IP Security Policy and Right Click on the right pane to select new Policy. The screen will like an image below:</p>
<div id="attachment_288" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-1.png"><img class="size-medium wp-image-288" title="block-ip-in-windows-1" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-1-300x179.png" alt="Windows IPSecurity Policies" width="300" height="179" /></a><p class="wp-caption-text">Figure 1</p></div>
<p>2. This will open the IP Security Policy Wizard, Just click on Next button.</p>
<div id="attachment_289" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-2.png"><img class="size-medium wp-image-289" title="block-ip-in-windows-2" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-2-300x238.png" alt="Figure 2" width="300" height="238" /></a><p class="wp-caption-text">Figure 2</p></div>
<p>3. On the Next screen you have to define the name of your IP Security policy and its description and then click Next Button.</p>
<div id="attachment_290" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-3.png"><img class="size-medium wp-image-290" title="block-ip-in-windows-3" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-3-300x240.png" alt="Figure 3" width="300" height="240" /></a><p class="wp-caption-text">Figure 3</p></div>
<p>4. Plesk uncheck the box for &#8220;<strong>Activate the default Response Rule</strong>&#8221; and then click Next Button..</p>
<div id="attachment_291" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-4.png"><img class="size-medium wp-image-291" title="block-ip-in-windows-4" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-4-300x238.png" alt="Figure 4" width="300" height="238" /></a><p class="wp-caption-text">Figure 4</p></div>
<p>5. On the Next screen remove the check for <strong>Edit Properties</strong> and Click Finish.</p>
<div id="attachment_292" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-5.png"><img class="size-medium wp-image-292" title="block-ip-in-windows-5" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-5-300x237.png" alt="Figure 5" width="300" height="237" /></a><p class="wp-caption-text">Figure 5</p></div>
<p>6. Once you click on the Finish Button you will see the screen below along with your rule being added to the list. Now we will create an <strong>IP filter list </strong>to block IPs.</p>
<div id="attachment_293" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-6.png"><img class="size-medium wp-image-293" title="block-ip-in-windows-6" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-6-300x177.png" alt="Figure 6" width="300" height="177" /></a><p class="wp-caption-text">Figure 6</p></div>
<p>7. Double click on the rule you have just create to open the properties window:</p>
<div id="attachment_294" class="wp-caption aligncenter" style="width: 277px"><a href="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-7.png"><img class="size-medium wp-image-294" title="block-ip-in-windows-7" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-7-267x300.png" alt="Figure 7" width="267" height="300" /></a><p class="wp-caption-text">Figure 7</p></div>
<p>8. Since we have chosen to uncheck <strong>&#8220;Activate the default Response Rule&#8221; </strong>in Step 4 the Dynamic rule in not applied. Click on Add button to open <strong>Security Rule Wizard</strong> and Click again on Add button to open <strong>IP Filter List Wizard.</strong></p>
<div id="attachment_295" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-8.png"><img class="size-medium wp-image-295" title="block-ip-in-windows-8" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-8-300x239.png" alt="" width="300" height="239" /></a><p class="wp-caption-text">Figure 8</p></div>
<p>9. You will have a screen some what in Figure 9. Put in the name of your list and Click on the Add button.</p>
<div id="attachment_296" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-9.png"><img class="size-medium wp-image-296" title="block-ip-in-windows-9" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-9-300x238.png" alt="Figure 9" width="300" height="238" /></a><p class="wp-caption-text">Figure 9</p></div>
<p>10. This will open another window for you to add IP and ports in the IP Filter list. In the Description box just put in the IP address that you want to block and make sure that you keep the check on the box for <strong>&#8220;Mirrored. Match packets with the exact appropriate source and destination addresses&#8221;</strong> and click on the Next button.</p>
<div id="attachment_297" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-10.png"><img class="size-medium wp-image-297" title="block-ip-in-windows-10" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-10-300x233.png" alt="Figure 10" width="300" height="233" /></a><p class="wp-caption-text">Figure 10</p></div>
<p>11. Select <strong>My IP address</strong> in the <strong>Sources Address</strong> from the drop down list.</p>
<div id="attachment_298" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-11.png"><img class="size-medium wp-image-298" title="block-ip-in-windows-11" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-11-300x233.png" alt="Figure 11" width="300" height="233" /></a><p class="wp-caption-text">Figure 11</p></div>
<p>12. You have many more options to select from the list for both in Sources and Destination Address. You will need some advanced knowledge to work with those option. We will select My IP address for now and click on Next button.</p>
<div id="attachment_299" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-12.png"><img class="size-medium wp-image-299" title="block-ip-in-windows-12" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-12-300x233.png" alt="Figure 12" width="300" height="233" /></a><p class="wp-caption-text">Figure 12</p></div>
<p>13. In the IP Traffic Destination, select <strong>&#8220;A specific IP Address&#8221;</strong> and enter the IP address that you want to block on your machine. Here you can also select a sub net from the drop down and block the entire subnet. Once you finish entering an IP/Subnet, click on Next button.</p>
<div id="attachment_300" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-13.png"><img class="size-medium wp-image-300" title="block-ip-in-windows-13" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-13-300x233.png" alt="Figure 13" width="300" height="233" /></a><p class="wp-caption-text">Figure 13</p></div>
<p>14. Here in <strong>IP Protocol Type</strong> you can define the protocol that you want to block, it can be any one from the list for example <strong>TCP, UDP, ICMP etc.</strong> We will select <strong>ANY</strong> which mean all connect from a specific IP address. If you select a protocol from the list andclick Next it will ask you to enter the port address that you want to block, example 80 (See Figure 14.2). But since we want to block all ports we will select Any and click Next (Figure 14.1) and then Finish.</p>
<div id="attachment_301" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-14.png"><img class="size-medium wp-image-301" title="block-ip-in-windows-14" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-14-300x233.png" alt="Figure 14" width="300" height="233" /></a><p class="wp-caption-text">Figure 14.1</p></div>
<div id="attachment_312" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-142.png"><img class="size-medium wp-image-312" title="block-ip-in-windows-142" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-142-300x233.png" alt="Figure 14.2" width="300" height="233" /></a><p class="wp-caption-text">Figure 14.2</p></div>
<p>15.  After you click on Finish button you will see that the rule has been added in the IP filter list. If you want to add more IP and subnets then click on the Add button to add another rule or block 2nd IP. Once you finish with it you will have rules as in Figure 15.2.</p>
<div id="attachment_302" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-15.png"><img class="size-medium wp-image-302" title="block-ip-in-windows-15" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-15-300x238.png" alt="Figure 15" width="300" height="238" /></a><p class="wp-caption-text">Figure 15.1</p></div>
<div id="attachment_313" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-152.png"><img class="size-medium wp-image-313" title="block-ip-in-windows-152" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-152-300x238.png" alt="Figure 15.2" width="300" height="238" /></a><p class="wp-caption-text">Figure 15.2</p></div>
<p>16. Once your <strong>IP Filter List</strong> is complete click on the <strong>OK</strong> button to get back <strong>Security Rule Wizard.</strong> Select the IP filter list which you have created by clicking on the radio button and click Next.</p>
<div id="attachment_303" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-16.png"><img class="size-medium wp-image-303" title="block-ip-in-windows-16" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-16-300x239.png" alt="Figure 16" width="300" height="239" /></a><p class="wp-caption-text">Figure 16</p></div>
<p>17. In the Next screen of Security Rule Wizard you will not see any Filter Action as Block as by default it is not created. We will create a Filter action to block connect by click on Add button.</p>
<div id="attachment_304" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-17.png"><img class="size-medium wp-image-304" title="block-ip-in-windows-17" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-17-300x239.png" alt="Figure 17" width="300" height="239" /></a><p class="wp-caption-text">Figure 17</p></div>
<p>18. In the Name type <strong>&#8220;Block&#8221;</strong> and any discryption you like and click on Next.</p>
<div id="attachment_305" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-18.png"><img class="size-medium wp-image-305" title="block-ip-in-windows-18" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-18-300x229.png" alt="Figure 18" width="300" height="229" /></a><p class="wp-caption-text">Figure 18</p></div>
<p>19. In Filter Action General options select Block and click Next.</p>
<div id="attachment_306" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-19.png"><img class="size-medium wp-image-306" title="block-ip-in-windows-19" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-19-300x229.png" alt="Figure 19" width="300" height="229" /></a><p class="wp-caption-text">Figure 19</p></div>
<p>20. And then on Finish to get back to Security Rule Wizard.</p>
<div id="attachment_307" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-20.png"><img class="size-medium wp-image-307" title="block-ip-in-windows-20" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-20-300x229.png" alt="Figure 20" width="300" height="229" /></a><p class="wp-caption-text">Figure 20</p></div>
<p>21. This will add the Filter option as Block in the list, just click on radio button to select it and click Next.</p>
<div id="attachment_308" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-21.png"><img class="size-medium wp-image-308" title="block-ip-in-windows-21" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-21-300x239.png" alt="Figure 21" width="300" height="239" /></a><p class="wp-caption-text">Figure 21</p></div>
<p>22. Click Finish to complete the security Rule Wizard.</p>
<div id="attachment_309" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-22.png"><img class="size-medium wp-image-309" title="block-ip-in-windows-22" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-22-300x239.png" alt="Figure 22" width="300" height="239" /></a><p class="wp-caption-text">Figure 22</p></div>
<p>23. You will see the rule added in the list, you can add more rule with the same steps. Now just click OK to finish with the rules.</p>
<div id="attachment_310" class="wp-caption aligncenter" style="width: 280px"><a href="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-23.png"><img class="size-medium wp-image-310" title="block-ip-in-windows-23" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-23-270x300.png" alt="" width="270" height="300" /></a><p class="wp-caption-text">Figure 23</p></div>
<p>24. Now since we have already created the rules to block desired IP address just right click on the IP Security Policy and select Assign to apply the rule on the server.</p>
<div id="attachment_311" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-24.png"><img class="size-medium wp-image-311" title="block-ip-in-windows-24" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/02/block-ip-in-windows-24-300x179.png" alt="Figure 24" width="300" height="179" /></a><p class="wp-caption-text">Figure 24</p></div>
<p>There are allot many option to secure your entire server with IP security policy. You can create more rules to block every one on RDP port TCP 3389 and allow only select IPs. IP Security is IP and port based application and not Services based and you can create the rule as per your need.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mywebhostingblog.net/aspnet-web-hosting/how-to-block-ip-on-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Firewall ICS Services Missing</title>
		<link>http://www.mywebhostingblog.net/hosting-security/windows-firewall-ics-services-missing/</link>
		<comments>http://www.mywebhostingblog.net/hosting-security/windows-firewall-ics-services-missing/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 08:33:15 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[Hosting Security]]></category>
		<category><![CDATA[Window Hosting]]></category>

		<guid isPermaLink="false">http://www.mywebhostingblog.net/?p=331</guid>
		<description><![CDATA[There are times when the Windows remove the firewall service thinking it as a harmful application OR the Windows Firewall service may also disappear if you make make major changes with your Network Adapter. And when every you try to click to manage Firewall it will give you an error that &#8220;No Service was configured&#8221;. [...]]]></description>
			<content:encoded><![CDATA[<p>There are times when the Windows remove the firewall service thinking it as a harmful application OR the Windows Firewall service may also disappear if you make make major changes with your Network Adapter. And when every you try to click to manage Firewall it will give you an error that <strong>&#8220;No Service was configured&#8221;</strong>. There is a very simple way to fix this problem.</p>
<p>&#8211; Backup the Registry of your computer and save it on a safe place.</p>
<p><span id="more-331"></span></p>
<p>&#8211; Now look for another computer who has the same edition of Windows running on it as that on your computer, along with the Server Pack.</p>
<p>&#8211; Backup the below registry key that stores the Service information for Windows Firewall, with the export option:</p>
<p><code>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess</code></p>
<p>&#8211; Restore it on the Computer which has the missing service  and Reboot.</p>
<p>Once the computer it online you will see that the Windows Firewall Service/ICS is back in the list and you should be able to manage it again.</p>
<p>P.S: Restoring the key from a computer which does not match your Windows OS edition or Service Pack would make your system unbootable.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mywebhostingblog.net/hosting-security/windows-firewall-ics-services-missing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Group Policies Overview for SQL Server</title>
		<link>http://www.mywebhostingblog.net/hosting-security/group-policies-overview-for-sql-server/</link>
		<comments>http://www.mywebhostingblog.net/hosting-security/group-policies-overview-for-sql-server/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 08:08:14 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[Hosting Security]]></category>
		<category><![CDATA[MSSQL Server]]></category>
		<category><![CDATA[Window Hosting]]></category>
		<category><![CDATA[SQL 2005]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Windows 2003]]></category>
		<category><![CDATA[Windows XP]]></category>

		<guid isPermaLink="false">http://www.mywebhostingblog.net/?p=368</guid>
		<description><![CDATA[Group Policy is a core part of Microsoft’s IntelliMirror technology.You can use Group Policy to manage all aspects of the Server environment for Windows Server, including Registry settings, software installation, scripts, security settings, and so on.The possibilities of what can be done with Group Policy are almost limitless.With VBScript or Jscript, you can write entire [...]]]></description>
			<content:encoded><![CDATA[<p>Group Policy is a core part of <strong>Microsoft’s IntelliMirror technology</strong>.You can use Group Policy to manage all aspects of the Server environment for <strong>Windows Server</strong>, including Registry settings, software installation, scripts, security settings, and so on.The possibilities of what can be done with Group Policy are almost limitless.With <strong>VBScript</strong> or Jscript, you can write entire applications to execute via Group Policy.You can install software automatically across the network and apply patches to applications. When deciding on the <strong>Group Policies</strong> you plan to enforce on your network, you should keep in mind that the more policies applied, the more network traffic, and hence the longer it could take for users to log onto the network. Group policies are stored in Active Directory as Group Policy Objects (<strong>GPO</strong>).These objects are the instructions for the management task to perform. Group Policy is implemented in four ways:</p>
<p><span id="more-368"></span><strong>Local Group Policy: </strong><br />
Using local Group Policy involves setting up Group Policy on the local machine.This is not very useful for managing computers on a network. Local Group Policy is configured on the local computer.</p>
<p><strong>Site Group Policy:</strong></p>
<p>Site Group Policy is when the Group Policy object is linked to the site. Site Group Policies can generate unwanted network traffic, so use these only when absolutely necessary.</p>
<p><strong>Domain Group Policy:</strong><br />
Domain Group Policy is when the Group Policy object is linked to the domain.This will apply the Group Policy object to all computers and users within a domain.This is especially useful for enforcing company-wide settings.This is one of the two most commonly used applications of Group Policy.</p>
<p><strong>Organizational Unit:</strong><br />
Group Policy When the Group Policy object is linked to the organizational unit (OU). Organizational unit Group Policy is especially useful for applying a Group Policy object to a logical grouping (organizational unit) of users or computers.</p>
<p>When a <strong>Windows Server</strong> machine logs on to a Windows AD, any legacy Windows 2000<strong> Group Policies </strong>will be applied to and work on Windows Server. The new Windows Group Policy snap-in will work on a <strong>Windows 2000 </strong>AD as well as <strong>Windows 2003</strong>.You can use the Windows Group Policy snap-in to connect to any Group Policy object in the Active Directory.You can also create a new Group Policy object using this snap-in. When you connect to a <strong>GPO</strong> using this snap-in, the <strong>ADM </strong>files are automatically updated using the newer versions of these files found on Windows XP.</p>
<p>Windows has over 200 policies.These policies are reflected in the new <strong>ADM </strong>files that are updated on the domain.The Windows admin snap-in shows what policies work on which clients. Best practice in a mixed environment: Use the Latest Windows Group Policy snap-in to administer Group Policy because it will display what policies are supported on what clients.</p>
<p><strong>Group Policy Order</strong></p>
<p>When Group Policies are applied in Windows Server, they are applied in a specific order.This is important to note because the order applied can affect the resulting policy. Group Policy is applied in the following order:</p>
<p>■ Windows NT 4 Policies (if any exist)<br />
■ Windows 2000 Policies<br />
■ Local Group Policies<br />
■ Site Group Policies<br />
■ Domain Group Policies<br />
■ Organizational Group Policy Objects (going from Highest Parent in the chain to lowest)</p>
<p>Additionally, the result of all of the applied policies can be determined by using the Resultant Set of Policy (RSOP) snap-in. More information on this topic is covered later in the “Resultant Set of Policy (RSOP)” section. Figure A.1 shows how Group Policy is applied by different organizational units along with the domain Group Policy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mywebhostingblog.net/hosting-security/group-policies-overview-for-sql-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How MS SQL Failover Clustering Work</title>
		<link>http://www.mywebhostingblog.net/mssql-server-hosting/how-ms-sql-failover-clustering-work/</link>
		<comments>http://www.mywebhostingblog.net/mssql-server-hosting/how-ms-sql-failover-clustering-work/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 07:01:24 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[Exchange Hosting]]></category>
		<category><![CDATA[MSSQL Server]]></category>
		<category><![CDATA[Window Hosting]]></category>
		<category><![CDATA[Cluster]]></category>
		<category><![CDATA[MSSQL]]></category>
		<category><![CDATA[SQL 2005]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.mywebhostingblog.net/?p=365</guid>
		<description><![CDATA[The clustered nodes use a &#8220;heartbeat&#8221; signal to check whether each node is alive, at both the operating system level and the SQL Server level. At the operating system level, the nodes in the cluster are in constant communication, validating the health of all the nodes. After installing a SQL Server failover cluster, the node [...]]]></description>
			<content:encoded><![CDATA[<p>The clustered nodes use a &#8220;<strong>heartbeat</strong>&#8221; signal to check whether each node is alive, at both the operating system level and the SQL Server level. At the operating system level, the nodes in the cluster are in constant communication, validating the health of all the nodes.</p>
<p>After installing a <strong>SQL Server failover cluster</strong>, the node hosting the <strong>SQL Server</strong> resource uses the Service Control Manager to check every 5 seconds whether the SQL Server service appears to be running. This &#8220;<strong>LooksAlive</strong>&#8221; check does not impact the performance of the system, but also does not do a thorough check; the check will succeed if the service appears to be running even though it might not be operational. Because the <strong>LooksAlive </strong>check does not do a thorough check, a deeper check must be done periodically; this &#8220;<strong>IsAlive</strong>&#8221; check runs every 60 seconds.</p>
<p>The <strong>IsAlive </strong>check runs a SELECT @@SERVERNAME Transact-SQL query against <strong>SQL Server</strong> to determine whether the server can respond to requests. Although a reply to the <strong>IsAlive </strong>query confirms that the SQL Server service is available for requests, it does not guarantee that all user databases are available, or that the user databases are operating within necessary performance/response-time requirements.</p>
<p><span id="more-365"></span></p>
<p>If the <strong>IsAlive </strong>query fails, the <strong>IsAlive </strong>health check is retried five times and then it attempts to reconnect to the instance of SQL Server. If all five retries fail, the SQL Server resource fails. Depending on the <strong>failover </strong>threshold configuration of the SQL Server resource, the failover cluster will attempt to either restart the resource on the same node or it will fail over to another available node. The IsAlive query tolerates a few errors, but ultimately it fails if its threshold is exceeded.</p>
<p>During failover of the<strong> SQL Server</strong> instance,<strong> SQL Server </strong>resources start up on the new node. <strong>Windows clustering</strong> starts the SQL Server service for that instance on the new node and <strong>SQL Server</strong> goes through the recovery process to start the databases. After the service is started and the master database is online, the SQL Server resource is considered to be up. Now the user databases will go through the normal recovery process, which means that any completed transactions in the transaction log are rolled forward (the Redo phase), and any incomplete transactions are rolled back (the Undo phase). In<strong> SQL Server 2005 Enterprise Edition</strong>, each user database will be available to the user once the Redo phase completes; for the other editions, as with all previous versions, each user database is unavailable until the Undo phase completes. The length of the recovery process depends on how much activity must be rolled forward or rolled back upon startup. The &#8216;recovery interval&#8217; sp_configure option of the server can be set to a low number to avoid longer Redo recovery times and to speed up the failover process. The Undo recovery time can be reduced by using shorter transactions so that any uncommitted transactions do not have much to roll back.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mywebhostingblog.net/mssql-server-hosting/how-ms-sql-failover-clustering-work/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Encrypt SQL 2005 database with Certificates</title>
		<link>http://www.mywebhostingblog.net/aspnet-web-hosting/encrypt-sql-2005-database-with-certificates/</link>
		<comments>http://www.mywebhostingblog.net/aspnet-web-hosting/encrypt-sql-2005-database-with-certificates/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 09:40:13 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[ASP.NET Web Hosting]]></category>
		<category><![CDATA[Hosting Security]]></category>
		<category><![CDATA[MSSQL Server]]></category>
		<category><![CDATA[Window Hosting]]></category>

		<guid isPermaLink="false">http://www.mywebhostingblog.net/?p=345</guid>
		<description><![CDATA[Using Certificates to Encrypt Data Certificates are parallel with asymmetric keys in the SQL Server 2005 encryption hierarchy. A certificate is simply a method of using asymmetric encryption. Certificates bind public keys to individuals who hold the associated private key. Certificates use the same RSA algorithm as asymmetric keys; therefore, they are resource-intensive and their [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Using Certificates to Encrypt Data</strong></p>
<p><strong>Certificates </strong>are <strong>parallel </strong>with asymmetric keys in the <strong>SQL Server 2005</strong> encryption hierarchy. A certificate is simply a method of using asymmetric <strong>encryption</strong>. Certificates bind public keys to individuals who hold the associated private key. Certificates use the same RSA algorithm as asymmetric keys; therefore, they are resource-intensive and their use is normally restricted to encrypting other keys. <strong>SQL Server</strong> contains an integrated certificate authority, which it uses to issue its own selfsigned, and industry standard X.509 certificates. Alternatively, you can import certificates from an external certificate authority.The use of external certificates allows you to use a wider range of key lengths, which can provide enhanced security. Certificates are the most secure way in which to encrypt data natively within SQL Server 2005.You can use the <strong>CREATE CERTIFICATE </strong>statement to create a certificate within SQL Server 2005.</p>
<p><span id="more-345"></span>The common syntax of the <strong>CREATE CERTIFICATE</strong> statement is as follows:</p>
<p><code>CREATE CERTIFICATE CERTIFICATE_NAME [AUTHORIZATION USER_NAME]<br />
{FROM FILE = 'PATH_TO_PRIVATE_KEY'<br />
WITH PRIVATEKEY [, ENCRYPTION BY PASSWORD = 'PASSWORD' |<br />
, DECRYPTION BY PASSWORD = 'PASSWORD']}<br />
WITH SUBJECT = CERTIFICATE_SUBJECT_NAME, |<br />
[START_DATE = MM/DD/YYYY<br />
END_DATE = MM/DD/YYYY]</code></p>
<p><strong>Here are definitions of the arguments in this syntax:</strong></p>
<p><strong>FILE = PATH_TO_PRIVATE_KEY </strong>Specifies the directory and the file name to the private key.<br />
<strong>ENCRYPTION BY PASSWORD</strong> = ‘PASSWORD’ Specifies the password that will be used to encrypt the certificate private key.<br />
<strong>DECRYPTION BY PASSWORD </strong>= ‘PASSWORD’ Specifies the password originally used to encrypt the private key.<br />
<strong>CERTIFICATE_SUBJECT_NAME</strong> A descriptive string that will be embedded into the certificate metadata.<br />
<strong>START_DATE </strong>Specifies the date in which the certificate becomes valid.<br />
<strong>END_DATE</strong> Specifies the date in which the certificate expires.</p>
<p>For a full listing of all statement arguments, please refer to SQL Server 2005 Books Online.You will need the CREATE CERTIFICATE permission within the database to create a certificate.The following syntax creates a certificate and encrypts the certificate private key with the supplied password:</p>
<p><code>CREATE CERTIFICATE Certificate01 ENCRYPTION BY<br />
PASSWORD = '&amp;7YuKj%4@)aSZ@'<br />
WITH SUBJECT = 'Certificate to test encryption',<br />
START_DATE = '8/13/2007',<br />
EXPIRY_DATE = '8/13/2011'</code></p>
<p>Unlike symmetric and asymmetric keys, certificates can be backed up individually. To back up a certificate, you can use the BACKUP CERTIFICATE statement:</p>
<p><code>BACKUP CERTIFICATE CERT_NAME TO FILE = 'PATH_TO_FILE'<br />
[WITH PRIVATE KEY<br />
(FILE = 'PATH_TO_PRIVATE_KEY_FILE',<br />
ENCRYPTION BY PASSWORD = 'ENCRYPTION_PASSWORD',<br />
DECRYPTION BY PASSWORD = 'DECRYPTION_PASSWORD')]</code></p>
<p>Here are definitions of the arguments of this syntax:</p>
<p><strong>CERT_NAME</strong> Specifies the name of the certificate to be backed up.<br />
<strong>PATH_TO_FILE</strong> Specifies the directory path and the filename that will be used for the certificate public key backup.<br />
<strong>PATH_TO_PRIVATE_KEY_FILE </strong>Specifies the directory path and the filename that will be used for the certificate private key backup.<br />
<strong>ENCRYPTION_PASSWORD</strong> Specifies the password that will be used to encrypt the certificate private key backup.<br />
<strong>DECRYPTION_PASSWORD</strong> Specifies the password that will be used to decrypt the certificate private key within the database.</p>
<p>To execute the BACKUP CERTIFICATE you will need the CONTROL permission on the certificate and the <strong>VIEW</strong> <strong>DEFINITION </strong>permission on the database. The following syntax uses the<strong> BACKUP CERTIFICATE</strong> statement to back up both the public and private key of your previously created certificate, and encrypts the private key backup file with a user-supplied password:</p>
<p><code>BACKUP CERTIFICATE Certificate01 TO FILE =<br />
'C:\backup\certificates\Certificate01.pub'<br />
WITH PRIVATE KEY<br />
(DECRYPTION BY PASSWORD = '&amp;7YuKj%4@)aSZ@',<br />
ENCRYPTION BY PASSWORD = '9UyZ%E!b8%7Ly#',<br />
FILE = 'C:\backup\certificates\Certificate01.prv')</code></p>
<p>For a complete listing of statement arguments and permission requirements, please see SQL Server 2005 Books Online.To restore a certificate from a backup file, you can use the FROM FILE argument within the CREATE CERTIFICATE statement, which we covered earlier.The following syntax restores your previously backed up public and private key:</p>
<p><code>CREATE CERTIFICATE Certificate01 FROM FILE =<br />
'C:\backup\certificates\Certificate01.pub'<br />
WITH PRIVATE KEY (FILE = 'C:\backup\certificates\Certificate01.prv',<br />
DECRYPTION BY PASSWORD = '9UyZ%E!b8%7Ly#',<br />
ENCRYPTION BY PASSWORD = '&amp;7YuKj%4@)aSZ@')</code></p>
<p>Note that if you created Certificate01 previously, you will need to drop the certificate prior to running the preceding syntax.You can obtain a listing of all certificates present in your database by using the sys.certificates view:</p>
<p><code>Select * from sys.certificates</code></p>
<p>To change the properties of a certificate you can use the <strong>ALTER CERTIFICATE</strong> statement:</p>
<p><code>ALTER CERTIFICATE CERTIFICATE_NAME<br />
REMOVE PRIVATE KEY |<br />
WITH PRIVATE KEY (FILE = 'PATH_TO_PRIVATE_KEY' |<br />
DECRYPTION BY PASSWORD = 'PASSWORD' |<br />
ENCRYPTION BY PASSWORD = 'PASSWORD')<br />
WITH ACTIVE FOR BEGIN_DIALOG = [ON | OFF]</code></p>
<p>Here are definitions of the arguments of this syntax:<br />
<strong><br />
CERTIFICATE_NAME</strong> The name of the certificate to be altered.<br />
<strong>REMOVE PRIVATE KEY</strong> Removes the private key from the certificate.<br />
<strong>FILE = ‘PATH_TO_PRIVATE_KEY</strong> Specifies the directory and the file name to the private key.<br />
<strong>DECRYPTION BY PASSWORD</strong> = PASSWORD Specifies the password in which to decrypt the private key.<br />
<strong>ENCRYPTION BY PASSWORD</strong> = PASSWORD Specifies the password in which to encrypt the private key<br />
<strong>ACTIVE FOR BEGIN_DIALOG</strong> Enables or disables a certificate for use with Service Broker.</p>
<p>To run the <strong>ALTER CERTIFICATE</strong> command you will need the <strong>ALTER </strong>permission on the certificate.The following syntax changes your certificate private key protection method from user-supplied password to database master key:</p>
<p><code>ALTER CERTIFICATE Certificate01<br />
WITH PRIVATE KEY (<br />
DECRYPTION BY PASSWORD = '&amp;7YuKj%4@)aSZ@')</code></p>
<p>To encrypt data using the certificate public key, you can use the ENCRYPTBYCERT statement:</p>
<p><code>ENCRYPTBYCERT (CERTIFICATE_ID, 'PLAINTEXT')</code></p>
<p>In this statement, CERTIFICATE_ID specifies the ID of the certificate to be used for encryption. PLAINTEXT is the data string you wish to encrypt.</p>
<p>You will need the VIEW DEFINITION permission on the certificate to execute the ENCRYPTBYCERT statement.The following syntax uses the ENCRYPTBYCERT statement to encrypt the supplied string using your certificate:</p>
<p><code>SELECT ENCRYPTBYCERT(Cert_ID('Certificate01'), 'certificate encryption test')</code></p>
<p>Here are the results:</p>
<p><code>0x50BCA9702D6999578923DAEC2B3EE96E69174429EBF54C392A532919679624097CD050110CEEF4DDB3BF<br />
22656549268848C2F6E6BA70C0E543DFB411B654302AB9582A525DB835940FB76F9AAC501BBC5E3D689FB0<br />
431BA7AF3C51A4DCDC5BCB7D101324E466A23447DF916E80D026E2A2E6D5A433E75804ADF8E9B75BF0E097</code></p>
<p>As we mentioned earlier, the preceding results will differ from what you receive on your SQL Server.To decrypt the cipher text, you can use the DECRYPTBYCERT statement:</p>
<p><code>DECRYPTBYCERT (CERTIFICATE_ID, 'CIPHERTEXT', CERT_PASSWORD)</code></p>
<p>Here are the definitions of the arguments of this syntax:</p>
<p><strong>CERTIFICATE_ID</strong> The ID of the certificate to be used for encryption.<br />
<strong>CIPHERTEXT</strong> The string that was previously encrypted with the certificate public key.<br />
<strong>CERT_PASSWORD</strong> The password that encrypts the certificate private key.</p>
<p>To execute the DECRYPTBYCERT statement, you will need the VIEW DEFINITION permission on the certificate.The following syntax uses the DECRYPTBYCERT statement to decrypt the cipher text and convert the results into the human readable varchar data type:</p>
<p><code>SELECT CAST (DECRYPTBYCERT(Cert_ID('Certificate01'),<br />
0x50BCA9702D6999578923DAEC2B3EE96E69174429EBF54C392A532919679624097CD050110CEEF4DDB<br />
3BF22656549268848C2F6E6BA70C0E543DFB411B654302AB9582A525DB835940FB76F9AAC501BBC5E3D<br />
689FB0431BA7AF3C51A4DCDC5BCB7D101324E466A23447DF916E80D026E2A2E6D5A433E75804ADF8E9B<br />
75BF0E097)<br />
AS varchar)</code></p>
<p>Note that you should substitute the cipher text in the preceding statement with the cipher text that you obtained from the earlier ENCRYPTBYCERT statement. Here is what the results of running the preceding statement will look like:</p>
<p><code>certificate encryption test</code></p>
<p>When you no longer need a certificate, it can be removed from the database using the DROP CERTIFICATE statement:</p>
<p><code>DROP CERTIFICATE CERTIFICATE_NAME</code></p>
<p>In this statement, CERTIFICATE_NAME specifies the name of the certificate to be removed.<br />
To execute the DROP CERTIFICATE statement, you will need the CONTROL permission on the certificate.The following syntax drops your previously created certificate.</p>
<p><code>DROP CERTIFICATE Certificate01</code></p>
<p>The following script outlines the certificate encryption process from end to end:</p>
<p><code>-- Demonstration of certiifcate encryption<br />
-- Create Database<br />
CREATE Database CertEncryptDemo<br />
GO<br />
USE CertEncryptDemo<br />
--<br />
-- Switch to database context<br />
--<br />
-- Create table for data to be encrypted<br />
CREATE Table Customers(<br />
FirstName varchar(30),<br />
LastName varchar(30),<br />
CreditCardNum varbinary(300))<br />
--<br />
-- Create Database Master Key<br />
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '5YtF4$aQ#W4d^W'<br />
--<br />
--** You should backup the Database Master Key immediately after creation! **<br />
--<br />
--Create certificate and use the databse master key to encrypt the private key<br />
CREATE CERTIFICATE Certificate02<br />
WITH SUBJECT = 'Test certificate for encryption',<br />
START_DATE = '1/1/2007',<br />
EXPIRY_DATE = '1/1/2012';<br />
--<br />
-- Populate table with data included encrypted credit card numbers<br />
INSERT INTO Customers Values('Blake', 'Cabbage',<br />
EncryptByCert(Cert_ID('Certificate02'), '342724356361631'))<br />
INSERT INTO Customers Values('Colin', 'Edwareds',<br />
EncryptByCert(Cert_ID('Certificate02'), '4516525615214110'))<br />
INSERT INTO Customers Values('Anoson', 'Monroe',<br />
EncryptByCert(Cert_ID('Certificate02'), '5582858885802510'))<br />
Data Encryption • Chapter 8 241<br />
--<br />
--View the contents of the table<br />
Select * from Customers<br />
--<br />
--View table data including the decrypted plain text credit card numbers<br />
--<br />
SELECT Firstname,LastName, CAST(DecryptByCert(Cert_ID('Certificate02'),<br />
CreditCardNum) AS varchar) as 'CreditCardNum' from customers<br />
--<br />
--Clean-up demo<br />
DROP CERTIFICATE Certificate02;<br />
DROP MASTER KEY;<br />
USE TEMPDB<br />
DROP DATABASE CertEncryptDemo;<br />
--END</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mywebhostingblog.net/aspnet-web-hosting/encrypt-sql-2005-database-with-certificates/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Secure MS SQL 2005 Database with EFS Encryption</title>
		<link>http://www.mywebhostingblog.net/aspnet-web-hosting/secure-ms-sql-2005-database-with-efs-encryption/</link>
		<comments>http://www.mywebhostingblog.net/aspnet-web-hosting/secure-ms-sql-2005-database-with-efs-encryption/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 05:55:31 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[ASP.NET Web Hosting]]></category>
		<category><![CDATA[Hosting Security]]></category>
		<category><![CDATA[MSSQL Server]]></category>
		<category><![CDATA[Window Hosting]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[SQL 2005]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.mywebhostingblog.net/?p=340</guid>
		<description><![CDATA[EFS Encryption EFS can be used to encrypt SQL Server 2005 data files and folders. EFS is supported on Windows 2000 and later operating systems with New Technology File Systems (NTFS) formatted drives. EFS uses a combination of symmetric and asymmetric methods to provide transparent SQL Server 2005 data encryption. On Windows 2003 Server and [...]]]></description>
			<content:encoded><![CDATA[<p><strong>EFS Encryption</strong></p>
<p>EFS can be used to encrypt <strong>SQL Server 2005</strong> data files and folders. EFS is supported on <strong>Windows 2000</strong> and later operating systems with New Technology File Systems (<strong>NTFS</strong>) formatted drives. <strong>EFS </strong>uses a combination of symmetric and asymmetric methods to provide transparent SQL Server 2005 data encryption. On <strong>Windows 2003 Server</strong> and newer operating systems, EFS by default creates a random <strong>File Encryption Key</strong>, which is a 256-bit AES key to perform data encryption.The File Encryption Key is then itself encrypted with the user’s public key and stored within the encrypted file or folder.</p>
<p><strong>To encrypt SQL Server 2005 data files and folders using EFS, follow these steps:</strong></p>
<p>1. Stop the <strong>SQL Server</strong> service.<br />
2. Log out and log in using the<strong> SQL Server </strong>service account credentials.<br />
3. Right-click on the file or folder to be encrypted and select <strong>Properties | General Tab | Advanced.</strong></p>
<p><span id="more-340"></span><br />
4. Within the Advanced attributes window, select Encrypt contents to secure data.<br />
5. Within the Advanced attributes window, press OK.<br />
6. Within the Properties tab, press OK.<br />
7. If you are encrypting a folder containing subfolders, you will be presented with another window asking if you would like to  encrypt them as well. Press OK.<br />
8. <strong>EFS encrypted files</strong> and folder names should now appear in green within any Windows file explorer window.<br />
9. Restart the <strong>SQL Server</strong> services.</p>
<p>If errors are generated, you may have encrypted the<strong> SQL Serve</strong>r data files using an account that is not linked to the <strong>SQL Server</strong> service account.You can decrypt the data folders by reversing the steps above and trying again. When encrypting individual database files, EFS first creates a plain text copy of the file to be encrypted, encrypts the target file, and then deletes the temporary file.This temporary file is not securely deleted and can be recovered using common data recovery tools. To prevent local file disclosure, you should use a secure data deletion tool to overwrite the areas of disk containing the temporary file. Alternatively, you can simply encrypt the parent folder that contains the database files to ensure any temporary files are also encrypted.</p>
<p><strong>EFS encryption</strong> is beneficial if the database media is stolen or misplaced. When transferring<strong> EFS encrypted</strong> files over the network, Windows first decrypts the file and then transfers the plain text equivalent. Some administrators perform manual backups of database files prior to implementing changes on the database server. If this backup involves copying data files from one server to another, you will effectively be storing an unencrypted copy of your database on the destination server.</p>
<p><strong>Encryption File System Contains Inherit Flaws</strong></p>
<p>On <strong>Windows Server 2003</strong>, EFS uses a strong 256-bit AES key to encrypt data. Under most circumstances, this would be an effective method of encryption; however, this AES key is protected by the user’s public key, which is based on the user’s Windows login password. This ultimately reduces EFS protection to the strength of the user’s Windows password. There are publicly available tools that can successfully decrypt EFS encrypted data by exploiting this flaw. Because of this, EFS should not be used to encrypt sensitive database data.</p>
<p><strong>Working with EFS Encrypted Data</strong></p>
<p>EFS encryption is managed by the operating system, and seamlessly provides file and folder encryption to <strong>SQL Server 2005</strong>. All <strong>SQL Serve</strong>r functions and operations remain unchanged when using this encryption method. Because EFS is handled outside of SQL Server 2005, encryption keys must be backed up separately in addition to your database backups.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mywebhostingblog.net/aspnet-web-hosting/secure-ms-sql-2005-database-with-efs-encryption/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Importance and Ways to Secure SQL 2005 Database</title>
		<link>http://www.mywebhostingblog.net/aspnet-web-hosting/importance-and-ways-to-secure-sql-2005-database/</link>
		<comments>http://www.mywebhostingblog.net/aspnet-web-hosting/importance-and-ways-to-secure-sql-2005-database/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 06:25:04 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[ASP.NET Web Hosting]]></category>
		<category><![CDATA[Hosting Security]]></category>
		<category><![CDATA[MSSQL Server]]></category>
		<category><![CDATA[Window Hosting]]></category>

		<guid isPermaLink="false">http://www.mywebhostingblog.net/?p=336</guid>
		<description><![CDATA[Why Secure Data in your Windows MSSQL database? Databases often contain sensitive financial, healthcare, and corporate data. As mentioned earlier, data security breaches are occurring at an alarming rate and international legislations have been passed, which set regulations on how organizations must protect this sensitive data. The Payment Card Industry (PCI), Health Insurance Portability and [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Why Secure Data in your Windows MSSQL database?</strong></p>
<p><strong>Databases </strong>often contain sensitive financial, healthcare, and corporate data. As mentioned earlier, data security breaches are occurring at an alarming rate and international legislations have been passed, which set regulations on how organizations must protect this sensitive data. The<strong> </strong>Payment Card Industry<strong> (PCI)</strong>, Health Insurance Portability and Accountability Act (<strong>HIPAA</strong>), Personal Information Protection and Electronic Documents Act (<strong>PIPEDA</strong>), Gramm-Leach-Bliley Act (<strong>GLBA</strong>), and the <strong>UK Data Protection Act</strong> are just a few of these regulations. Several regulations require that sensitive data be encrypted and that organization’s must identify and report data disclosure or misuse. If these regulations are not followed, organizations can face serious repercussions, ranging from financial penalties to imprisonment of responsible parties. Depending on the nature of your business, the above regulations may not apply, but before you discount the need to encrypt data</p>
<p><span id="more-336"></span>consider that sensitive information can also include corporate information including confidential HR data, trade secrets, patents, designs, or client listings, which, if disclosed to unauthorized individuals, could have a grave impact on your organization. At this point you may be wondering,<strong>“why not just encrypt all data using a secure algorithm?”</strong> instead of determining specifically what data elements require encryption.The answer is that there is a  significant performance impact when encrypting data, as SQL Server must perform authentication, encryption, and decryption functions seamlessly to encrypt and decrypt the data. In addition, there are several other side effects associated with data encryption, which we will touch on later in this chapter. For these reasons, you should use data encryption only when required and only on the required data elements.</p>
<p><strong>Ways to encrypt data in MSSQL 2005:</strong></p>
<p><a title="Configure EFS Encryption" href="http://www.mywebhostingblog.net/aspnet-web-hosting/secure-ms-sql-2005-databade-with-efs-encryption/" target="_self">EFS Encryption</a><br />
Native SQL Server 2005 Encryption<br />
Using Keys to Encrypt Data<br />
<a title="Encryption using certificate." href="http://www.mywebhostingblog.net/aspnet-web-hosting/encrypt-sql-2005-database-with-certificates/" target="_self">Using Certificates to Encrypt Data</a><br />
Using Pass Phrases to Encrypt Data<br />
Working with Data Encrypted<br />
Indexing Encrypted Data<br />
Replicating Encrypted Data<br />
Symmetric Key Usage Tracking<br />
Replicating Encrypted Stored<br />
Using Endpoint Encryption</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mywebhostingblog.net/aspnet-web-hosting/importance-and-ways-to-secure-sql-2005-database/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

