<?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; MSSQL Server</title>
	<atom:link href="http://www.mywebhostingblog.net/category/mssql-server-hosting/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>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 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>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>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>
		<item>
		<title>Secure MS SQL &#8211; BEST PRACTICES</title>
		<link>http://www.mywebhostingblog.net/aspnet-web-hosting/secure-ms-sql-best-practices/</link>
		<comments>http://www.mywebhostingblog.net/aspnet-web-hosting/secure-ms-sql-best-practices/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 07:16:50 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[ASP.NET Web Hosting]]></category>
		<category><![CDATA[MSSQL Server]]></category>
		<category><![CDATA[Window Hosting]]></category>
		<category><![CDATA[SQL Engine]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.mywebhostingblog.net/?p=280</guid>
		<description><![CDATA[There are several points that Microsoft suggests before configuring your MS SQL Server. BEST PRACTICES ACCORDING TO MICROSOFT Install only those components that you will use immediately. Microsoft recommends that you create a list of components that you will be using, and only enable those. If the need arises, you can install the additional components [...]]]></description>
			<content:encoded><![CDATA[<p>There are several points that Microsoft suggests before configuring your MS SQL Server.</p>
<p><strong>BEST PRACTICES ACCORDING TO MICROSOFT</strong></p>
<ul>
<li> Install only those components that you will use immediately.<strong> Microsoft recommends</strong> that you create a list of components that you will be using, and only enable those. If the need arises, you can install the additional components at that time. The components in a<strong> SQL Server</strong> installation are the <strong>Database</strong> <strong>Engine</strong>, Analysis Services Engine, <strong>Reporting Services</strong>, Integration Services, Notification Services, and Documents and Samples.<span id="more-280"></span></li>
</ul>
<ul>
<li> Enable only the optional features you will use, and review optional feature usage before doing an in-place upgrade and disable unneeded features. Microsoft recommends that you create a list of the optional features that you will use, and only turn those on. If this is an existing SQL Server that is being upgraded, they recommend creating the same list, and disabling any optional features not on the list. These optional features are CLR Integration, OLE Automation, remote use of a dedicated administrator connection, Database Mail and<strong> SQL Mail,</strong> <strong>OpenRowset </strong>and <strong>OpenDataSource </strong>functions, <strong>SQL Server </strong>Web Assistant, and xp_cmdshell availability.</li>
</ul>
<ul>
<li> Develop a policy with respect to permitted network connectivity choices and for the usage of optional features. <strong>Microsoft </strong>recommends defining policies that would be company wide on Connectivity Choices and the use of optional features. They also recommend using <strong>SQL Server Surface Area Configuration</strong> to standardize this policy and documenting exceptions to the policy on a perinstance basis.</li>
</ul>
<ul>
<li> Turn off unneeded services by setting the service to either Manual startup or Disabled. <strong>Microsoft</strong> recommends going into the service management area and setting all services that you will not be using.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.mywebhostingblog.net/aspnet-web-hosting/secure-ms-sql-best-practices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Difference between SQL Server 2005 and SQL Server 2008</title>
		<link>http://www.mywebhostingblog.net/aspnet-web-hosting/difference-between-sql-server-2005-and-sql-server-2008/</link>
		<comments>http://www.mywebhostingblog.net/aspnet-web-hosting/difference-between-sql-server-2005-and-sql-server-2008/#comments</comments>
		<pubDate>Wed, 14 Jan 2009 14:55:49 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[ASP.NET Web Hosting]]></category>
		<category><![CDATA[MSSQL Server]]></category>
		<category><![CDATA[Window Hosting]]></category>
		<category><![CDATA[Cluster]]></category>
		<category><![CDATA[Difference]]></category>
		<category><![CDATA[Microsoft SQL]]></category>
		<category><![CDATA[MSSQL]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[SQL 2005]]></category>
		<category><![CDATA[SQL 2008]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.mywebhostingblog.net/?p=455</guid>
		<description><![CDATA[MS SQL 2005 Server was released after 5 servers of it previous SQL version, MS SQL 2000, Hence it required allot to revisions to cope up with the current windows development environment. Therefore MS SQL 2005 SP2 had major changes in it, with too many performances and security fixes. Microsoft could not add few revisions [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-456 alignleft" title="difference-between-2005-2008" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/03/difference-between-2005-2008.jpg" alt="difference-between-2005-2008" width="200" height="252" /></p>
<p><strong>MS SQL 2005 Server</strong> was released after 5 servers of it previous SQL version, <strong>MS SQL 2000</strong>, Hence it required allot to revisions to cope up with the current <strong>windows </strong>development environment. Therefore <strong>MS SQL 2005 SP2</strong> had major changes in it, with too many performances and security fixes. Microsoft could not add few revisions due to its basic development structure however they had all the scope to introduce them in SQL 2008 release. And indeed, MS <strong>SQL 2008</strong> has many installation as well as <strong>performance </strong>fixes being applied to it and allowing <strong>Windows</strong> Administrators to have full control on <strong>SQL </strong>activities. The biggest advantage of <strong>SQL 2008</strong> over <strong>SQL 2005</strong> is the ability to manage and maintain server performance. <strong>SQL 2008</strong> does not require too much resource which is the best deal for today’s <strong>Shared Hosting</strong> environment. Also an upper hand to whose to do not want to invest too much on hardware of their <strong>dedicated servers</strong> just to run <strong>SQL server</strong> on it.</p>
<p><span id="more-455"></span></p>
<p><img class="alignright size-medium wp-image-458" title="difference-between-sql-server1" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/03/difference-between-sql-server1-235x300.jpg" alt="difference-between-sql-server1" width="159" height="203" />I have tried to gather the major improvement introduced by <strong>Microsoft on SQL 2008</strong> from Internet which is an advantage over <strong>SQL 2005</strong> however it all depends on what features are useful to you in the development of your ASP .NET applications. But switching to <strong>Microsoft SQL 2008</strong> is definitely going to improve the performance even if you don&#8217;t use any of the below feature. And not to forget that with the release of SQL 2008, Microsoft will announce<em><strong> &#8220;End Of Life&#8221;</strong></em> for <strong>SQL 2000</strong> version, which will mean that there won&#8217;t be any official support or update release for SQL 2000.</p>
<p><strong>Major difference between SQL 2005 and SQL 2008.</strong></p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-463" title="sql 2008 dedicated hosting" src="http://www.mywebhostingblog.net/wp-content/uploads/2009/03/sql-2008-hosting.png" alt="sql-2008-hosting" width="363" height="75" /></p>
<p>* <em>Easy Upgrades:</em> Version <strong>upgrades </strong>are now very easy and effective with <strong>SQL 2008</strong>.<br />
* <em>Resource Restriction Governor:</em> We set a restriction on a users or groups from consuming high resources. This is a very good feature that can be used on <strong>Windows shared serve</strong>r with SQL database to maintain the performance.<br />
* <em>Dates and Times settings: </em>New data types such as: Date, Time, Date Time Offset has been introduced.<br />
* <em>Improved Full Text Search:</em> Ability to backup Native Indexes and also thesaurus them as metadata.<br />
* <em>External Key Management:</em> This unique can store Keys separately and not with the data.<br />
* <em>Improved SQL Server Analysis Service:</em> It now has improved Stacks and computes block faster.<br />
* <em>Improved Installation:</em> Microsoft has added an option where you can uninstall Disk images and service packs.<br />
* <em>Data Synchronizing:</em> A Development of databases used in applications that frequently get disconnected.<br />
* <em>Transparent Data Encrypts:</em> It has the ability to encrypt full <strong>SQL database </strong>with different encryption Methods.</p>
<p>* <em>SQL Server Integration Service:</em> SQL 2008 Server has improved multiprocessor support and faster lookups in compare to SQL 2005.<br />
* <em>Change Data Capture:</em> Allows all changes to be captured and queried. (Enterprise). Also allows us to get detailed information on what changes has happened to which rows after a specific version.<br />
* <em><strong>LINQ:</strong></em> A Development query language for accessing multiple type of data like XML and SQL at the same time.<br />
* <em>Hot Plug CPU:</em> With this feature to an add CPUs on fly for your SQL server to use.<br />
* <em><strong>Microsoft Office 2007 integration:</strong></em> One can use MS OFFICE as an SSRS template, like SSRS to WORD.<br />
* <em>Spatial Data types:</em> Data types for storing Longitude, Latitude and GPS entry of a particular database.<br />
* <em><strong>MERGE:</strong></em> A new TSQL command as a combination Update, Insert and Delete.<br />
* <em><strong>Encrypted Backups: </strong></em>We can execute it at the time running backups to prevent tampering from external resource.<br />
* <em><strong>Data Compression:</strong></em> This feature is different as it allows us to manage data compression at table level to enhance performance.<br />
* <em>Dynamic Development:</em> Latest Visual Studio and ADO options along with ASP .Net 3.<br />
* <em>Reporting Server Performance: </em>Unlike in SQL 2005 we can set threshold on Reporting server for memory management.<br />
* <em>Performance Studio:</em> It is a Gallery that has collection of monitoring tools enhanced performance.<br />
* <em><strong>Audits:</strong></em> A very power feature for monitoring the data access of your SQL database.<br />
* <em><strong>Table Value Parameters:</strong></em> SQL 2008 database has ability to insert entire table into a stored procedure.<br />
* <em>Entity Database Services:</em> (LOB) Line Of Business framework and (eSQL) Entity Query Language.</p>
<p>No doubt that <strong>Microsoft </strong>has improved all the features that has been used by <strong>hosting services</strong>. Even <strong>SQL Cluster</strong> in <strong>version 2008</strong> has few major advantages since every one in today world wants to have their site up all the time with<strong> 100% uptime</strong>. I hope I get some time to write on &#8220;<em><strong>MS SQL 2008 Clustering..</strong></em>&#8220;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mywebhostingblog.net/aspnet-web-hosting/difference-between-sql-server-2005-and-sql-server-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fix: “Generic Host for Win32 Process” and “svchost.exe”.</title>
		<link>http://www.mywebhostingblog.net/aspnet-web-hosting/how-to-fix-%e2%80%9cgeneric-host-for-win32-process%e2%80%9d-and-%e2%80%9csvchostexe%e2%80%9d-errors/</link>
		<comments>http://www.mywebhostingblog.net/aspnet-web-hosting/how-to-fix-%e2%80%9cgeneric-host-for-win32-process%e2%80%9d-and-%e2%80%9csvchostexe%e2%80%9d-errors/#comments</comments>
		<pubDate>Fri, 14 Nov 2008 18:58:24 +0000</pubDate>
		<dc:creator>Rock</dc:creator>
				<category><![CDATA[ASP.NET Web Hosting]]></category>
		<category><![CDATA[MSSQL Server]]></category>
		<category><![CDATA[Window Hosting]]></category>

		<guid isPermaLink="false">http://www.mywebhostingblog.net/?p=208</guid>
		<description><![CDATA[close Port 445: Click Start &#62;&#62; Run, to open the Run dialog box Here, type regedit to open the registry. Navigate to the following registry key &#8211; HKEY_LOCAL_MACHINE &#62;&#62; System &#62;&#62; CurrentControlSet &#62;&#62; Services &#62;&#62; NetBT &#62;&#62; Parameters On the right-hand pane find the option TransportBindName. Double click on TransportBindName and delete the existing default [...]]]></description>
			<content:encoded><![CDATA[<p><strong>close Port 445:</strong></p>
<ul>
<li><span>Click </span><strong>Start </strong>&gt;&gt; <strong>Run</strong>, to open the Run dialog box</li>
<li> Here, type <strong>regedit </strong><span>to open the registry. </span></li>
<li> Navigate to the following registry key &#8211; <strong>HKEY_LOCAL_MACHINE</strong> &gt;&gt; <strong>System </strong>&gt;&gt; <strong>CurrentControlSet </strong>&gt;&gt; <strong>Services </strong>&gt;&gt; <strong>NetBT </strong>&gt;&gt; <strong>Parameters </strong></li>
<li> On the right-hand pane find the option <strong>TransportBindName</strong>.</li>
<li><span> Double <span><br />
<input name="IL_MARKER" type="hidden" />click</span> on </span><strong>TransportBindName </strong>and <strong>delete </strong>the existing default value.</li>
<li><span><span><br />
<input name="IL_MARKER" type="hidden" />click</span> Ok</span></li>
</ul>
<p>From the above, it is clear, that you have closed Port 445 by giving a blank value to <strong>TransportBindName </strong>for <strong>NetBT </strong>services.</p>
<p><strong>close Port 135:</strong></p>
<ul>
<li> Click <strong>Start </strong>&gt;&gt; <strong>Run</strong>, to open the Run dialog box</li>
<li> Here, type <strong>regedit </strong>to open the registry</li>
<li> Navigate to the following registry key &#8211; <strong>HKEY_LOCAL_MACHINE</strong> &gt;&gt; <strong>software </strong>&gt;&gt; <strong>microsoft </strong>&gt;&gt; <strong>Ole </strong></li>
<li> On thee right hand window pane find an option called <strong>EnableDCOM </strong></li>
<li> Double-click <strong>EnableDCOM </strong>and change the value from <strong>Y </strong>to <strong>N </strong></li>
<li>click Ok</li>
<li> Close the Registry Editor and <strong>restart </strong>your computer</li>
</ul>
<p>These steps will only work for a standalone servers. Any serveres that are in a cluster state such as <strong>Active Directory, SQL failover cluster, Network Load Balancing [NLB] or Windows Replication service</strong> that <strong>NEVER-EVER</strong> follow these steps as it will simply diable port 135 which is used my <strong>Distributed File System [DFS]</strong> for the servers to comunicate with each other. Disabling it will just wont allow the servers to communicate and the services will fail.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mywebhostingblog.net/aspnet-web-hosting/how-to-fix-%e2%80%9cgeneric-host-for-win32-process%e2%80%9d-and-%e2%80%9csvchostexe%e2%80%9d-errors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Secure your MS SQL Database Connection String</title>
		<link>http://www.mywebhostingblog.net/aspnet-web-hosting/secure-mssql-database-connection-string/</link>
		<comments>http://www.mywebhostingblog.net/aspnet-web-hosting/secure-mssql-database-connection-string/#comments</comments>
		<pubDate>Tue, 11 Nov 2008 17:51:42 +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[MSSQL Server]]></category>
		<category><![CDATA[Window Hosting]]></category>
		<category><![CDATA[ASP .NET]]></category>
		<category><![CDATA[Connection string]]></category>
		<category><![CDATA[MSSQL]]></category>
		<category><![CDATA[Registry]]></category>

		<guid isPermaLink="false">http://www.mywebhostingblog.net/?p=197</guid>
		<description><![CDATA[Ways to secure your MS SQL connection string in ASP .NET. We have seen allot of people looking to have the best option to secure the connection string in their ASP .NET code to connect the MS SQL database since it contains the username and password of their database. It is very important to use [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Ways to secure your MS SQL connection string in ASP .NET.</strong></p>
<p>We have seen allot of people looking to have the best option to secure the connection string in their <strong>ASP .NET</strong> code to connect the <strong>MS SQL database</strong> since it contains the username and password of their database. It is very important to use a secure method for corporate clients and those who save Credit Card details in their MS SQL database. Or they will easily get hacked and all the important data will be exploited by the hacker. And also for those who store important data in MSSQL.</p>
<p>Here are the list of methods that can be used to secure your<strong> MS SQL connection string</strong> in your<strong> ASP.NET</strong> application.</p>
<p><strong>METHODS:</strong></p>
<p><strong>1. Using a DSN connection string:</strong></p>
<p><span id="more-197"></span></p>
<p>If you have the administrator users access to your Windows Server or use a control panel like Plesk then you can create a <strong>DSN </strong>with <strong>ODBC </strong>connector that stores the password of your database along with its name.</p>
<p>You will have to go to<strong> Start &gt;&gt; Administrative Tools &gt;&gt; Data Sources (ODBC) </strong>on your Windows Server with an account that has administrative privileges.</p>
<p>Or if you use a hosting control panel like Plesk that you can create the DSN from the control panel itself.</p>
<p>Once you have created the DNS you will have to mention it in your code as:</p>
<p><code>oConn.Open "DSN=mySystemDSN"</code></p>
<p><strong>2. Store your connection string either in web.config or global.asa:</strong></p>
<p>It is safe to have connection string stored in either web.config or global.asa, since IIS does not allow these files to be accessed from the browser. But it is recommended to enable custom errors in web.config or else the browser just displays the exact exact in the event of an error.</p>
<p>An example of web.config would be:</p>
<p><code><br />
</code></p>
<p><strong>3. Encrypt your connection String stored in Web.config.</strong></p>
<p>To make the connection string more secure you can encrypt your string if you application is written in ASP .NET 2 as this only possible with the new feature in asp.net 2.0 through the config API.</p>
<p>Steps to Encrypt your connection string in web.config:</p>
<p><strong>&#8211; Create a connectionstring section in web.config :- </strong></p>
<p><strong>&#8211; Run the command below:</strong></p>
<p><code>aspnet_regiis –pe -app optionally you can provide the machine or user store.</code></p>
<p><strong>&#8211; Get the connection string:- </strong></p>
<p><code>Response.Write(ConfigurationManager.ConnectionStrings</code></p>
<p><code>["Myconnstr"].connectionString.ToString());</code></p>
<p><strong>&#8211; You can also encrypt:</strong></p>
<p><strong>&#8211; To decrypt the connection string use aspnet_regiis –pd with the same parameters.<br />
</strong></p>
<p><strong>&#8211; There are more option available, such as:</strong></p>
<p>aspnet_regiis –pef<br />
aspnet_regiis -pdf</p>
<p><strong>4. Save the connection string in the Windows registry:</strong></p>
<p>You can also save the connection string in the windows registry, the only problem here is you have to give appropriate permissions on the registry so that your web user is able to read the data fron the registry:</p>
<p><strong>Procedure to follow:</strong></p>
<p>Add a registry key for your application under SOFTWARE/[YOUR_COMPANY]/[YOUR_APP]<br />
Add a string value for ConnectionString<br />
Teach your ConnectionFactory to crack open the appropriate registry key (in a static constructor, not every page load).<br />
Export the registry info as a .reg file, add it to source control, modify and apply it as necessary to set up additional machines.</p>
<p>You will also have to make sure that the user have appropriate rights on the register to read the data.<br />
<strong><br />
5. Save your connection string in a DLL.</strong></p>
<p>You can also save the connection sting the to a DLL using Visual Studio but this includes few disadvantages like, you will gave to decrypt the DLL to make any changes in the connection string and then again encrypt it. This makes things very complicated for you to manage your applications and specially when you have a shared hosting package.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mywebhostingblog.net/aspnet-web-hosting/secure-mssql-database-connection-string/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enable SQL 2005 Remote Connections</title>
		<link>http://www.mywebhostingblog.net/aspnet-web-hosting/enable-sql-2005-remote-connections/</link>
		<comments>http://www.mywebhostingblog.net/aspnet-web-hosting/enable-sql-2005-remote-connections/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 19:53:44 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[ASP.NET Web Hosting]]></category>
		<category><![CDATA[MSSQL Server]]></category>
		<category><![CDATA[Browser service]]></category>
		<category><![CDATA[remote connection]]></category>
		<category><![CDATA[Windows firewall]]></category>

		<guid isPermaLink="false">http://www.mywebhostingblog.net/?p=33</guid>
		<description><![CDATA[Enable remote connections for SQL Server 2005 Express or SQL Server 2005 Developer Edition You must enable remote connections for each instance of SQL Server 2005 that you want to connect to from a remote computer. To do this, follow these steps: 1.    Click Start, point to Programs, point to Microsoft SQL Server 2005, point [...]]]></description>
			<content:encoded><![CDATA[<h3 id="tocHeadRef">Enable remote connections for SQL Server 2005 Express or SQL Server 2005 Developer Edition</h3>
<p><script type="text/javascript"><!--
loadTOCNode(2, 'moreinformation');
// --></script>You must enable <strong>remote connections</strong> for each instance of <strong>SQL Server 2005</strong> that you want to connect to from a<strong> remote computer</strong>. To do this, follow these steps:</p>
<p>1.    Click Start, point to Programs, point to<strong> Microsoft SQL Server 2005</strong>, point to Configuration Tools, and then click <strong>MS SQL Server</strong> Surface Area Configuration.<br />
2.    On the <strong>MS SQL Server 2005</strong> Surface Area Configuration page, click Surface Area Configuration for Services and Connections.<br />
3.    On the <strong>Surface Area Configuration</strong> for Services and Connections page, expand <strong>Database </strong>Engine, click <strong>Remote Connections</strong>, click Local and remote connections, click the appropriate protocol to enable for your environment, and then click Apply.</p>
<p>Note Click OK when you receive the following message:<br />
Changes to Connection Settings will not take effect until you restart the <strong>Database </strong>Engine service.<br />
4.    On the Surface Area Configuration for Services and Connections page, expand Database Engine, click Service, click Stop, wait until the <strong>MSSQLSERVER </strong>service stops, and then click Start to restart the <strong>MSSQLSERVER </strong>service.</p>
<h3 id="tocHeadRef">Enable the SQL Server Browser service</h3>
<p><script type="text/javascript"><!--
loadTOCNode(2, 'moreinformation');
// --></script>If you are running <strong>MS SQL Server 2005</strong> by using an <strong>instance name</strong> and you are not using a specific <strong>TCP/IP</strong> port number in your connection string, you must enable the <strong>SQL Server Browser </strong>service to allow for <strong>remote connections</strong>. For example,<strong> MS SQL Server 2005 Express</strong> is installed with a default instance name of <var>Computer Name</var>\SQLEXPRESS. You are only required to enable the SQL Server Browser service one time, regardless of how many instances of <strong>SQL Server 2005</strong> you are running. To enable the <strong>MS SQL Server </strong>Browser service, follow these steps.</p>
<p><span id="more-33"></span></p>
<p><strong>Important</strong> These steps may increase your security risk. These steps may also make your computer or your network more vulnerable to attack by malicious users or by malicious software such as viruses. We recommend the process that this article describes to enable programs to operate as they are designed to, or to implement specific program capabilities. Before you make these changes, we recommend that you evaluate the risks that are associated with implementing this process in your particular environment. If you choose to implement this process, take any appropriate additional steps to help protect your system. We recommend that you use this process only if you really require this process.</p>
<p>1.    Click Start, point to Programs, point to <strong>Microsoft SQL Server 2005</strong>, point to Configuration Tools, and then click <strong>SQL Server Surface Ar</strong>ea Configuration.<br />
2.    On the <strong>MS SQL Server 2005</strong> Surface Area Configuration page, click Surface Area Configuration for Services and Connections.<br />
3.    On the Surface Area Configuration for Services and Connections page, click <strong>SQL Server Browser</strong>, click Automatic for Startup type, and then click Apply.</p>
<p>Note When you click the Automatic option, the <strong>SQL Server Browser service</strong> starts automatically every time that you start <strong>Microsoft Windows</strong>.<br />
4.    Click Start, and then click OK.</p>
<p><strong>Note</strong> When you run the <strong>MS SQL Server</strong> Browser service on a computer, the computer displays the instance names and the connection information for each instance of SQL Server that is running on the computer. This risk can be reduced by not enabling the SQL Server Browser service and by connecting to the instance of SQL Server directly through an assigned TCP port. Connecting directly to an instance of <strong>SQL Server </strong>through a TCP port is beyond the scope of this article. For more information about the SQL Server Browser server and connecting to an instance of SQL Server, see the following topics in SQL Server Books Online:</p>
<p><strong>•    SQL Server Browser Service<br />
•    Connecting to the SQL Server Database Engine<br />
•    Client Network Configuration</strong></p>
<h3 id="tocHeadRef">Create exceptions in Windows Firewall</h3>
<p><script type="text/javascript"><!--
loadTOCNode(2, 'moreinformation');
// --></script>These steps apply to the version of <strong>Windows Firewall</strong> that is included in <strong>Windows XP</strong> <strong>Service Pack 2 (SP2) </strong>and in <strong>Windows Server 2003</strong>. If you are using a different firewall system, see your <strong>firewall</strong> documentation for more information.</p>
<p>If you are running a firewall on the computer that is running <strong>SQL Server 2005</strong>, external connections to <strong>SQL Server 2005 </strong>will be blocked unless <strong>SQL Server 2005</strong> and the<strong> SQL Server Browser service</strong> can communicate through the <strong>firewall</strong>. You must create an exception for each instance of <strong>SQL Server 2005</strong> that you want to accept remote connections and an exception for the <strong>SQL Server Browser service</strong>.</p>
<p><strong>MS SQL Server 2005</strong> uses an <strong>instance </strong>ID as part of the path when you install its program files. To create an exception for each instance of <strong>MS SQL Server</strong>, you must identify the correct instance ID. To obtain an instance ID, follow these steps:</p>
<p>1.    Click Start, point to Programs, point to <strong>Microsoft SQL Server 2005</strong>, point to Configuration <strong>Tools</strong>, and then click <strong>SQL Server</strong> Configuration Manager.<br />
2.    In <strong>SQL Serve</strong>r Configuration Manager, click the SQL Server Browser service in the right pane, right-click the instance name in the main window, and then click Properties.<br />
3.    On the <strong>SQL Server </strong>Browser Properties page, click the Advanced tab, locate the instance ID in the property list, and then click OK.</p>
<p>To open Windows Firewall, click <strong class="uiterm">Start</strong>, click <strong class="uiterm">Run</strong>, type <span class="userInput">firewall.cpl</span>, and then click <strong class="uiterm">OK</strong>.</p>
<h4 id="tocHeadRef">Create an exception for MS SQL Server 2005 in Windows Firewall</h4>
<p><script type="text/javascript"><!--
loadTOCNode(3, 'moreinformation');
// --></script>To create an exception for <strong>MS SQL Server 2005</strong> in <strong>Windows Firewall</strong>, follow these steps:</p>
<p>1.    In <strong>Windows Firewall</strong>, click the Exceptions tab, and then click Add Program.<br />
2.    In the Add a Program window, click Browse.<br />
3.    Click the <strong>C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe</strong> executable program, click Open, and then click OK.</p>
<p>Note The path may be different depending on where <strong>SQL Server 2005</strong> is installed. <strong>MSSQL.1</strong> is a placeholder for the instance ID that you obtained in step 3 of the previous procedure.<br />
4.    Repeat steps 1 through 3 for each instance of SQL Server 2005 that needs an exception.</p>
<h4 id="tocHeadRef">Create an exception for the MS SQL Server Browser service in Windows Firewall</h4>
<p><script type="text/javascript"><!--
loadTOCNode(3, 'moreinformation');
// --></script>To create an exception for the SQL Server Browser service in Windows Firewall, follow these steps:</p>
<p>1.    In Windows <strong>Firewall</strong>, click the Exceptions tab, and then click Add Program.<br />
2.    In the Add a Program <strong>window</strong>, click Browse.<br />
3.    Click the <strong>C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe</strong> executable program, click Open, and then click OK.</p>
<p>Note The path may be different depending on where <strong>MS SQL Server 2005</strong> is installed.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mywebhostingblog.net/aspnet-web-hosting/enable-sql-2005-remote-connections/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Pass Phrases to Encrypt Data in MSSQL 2005</title>
		<link>http://www.mywebhostingblog.net/aspnet-web-hosting/using-pass-phrases-to-encrypt-data-in-mssql-2005/</link>
		<comments>http://www.mywebhostingblog.net/aspnet-web-hosting/using-pass-phrases-to-encrypt-data-in-mssql-2005/#comments</comments>
		<pubDate>Wed, 22 Oct 2008 04:43:46 +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[SQL 2005]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.mywebhostingblog.net/?p=360</guid>
		<description><![CDATA[Using Pass Phrases to Encrypt Data A password that allows for spaces can be referred to as a pass phrase. The benefit of pass phrases is that you can make them meaningful and easy to remember. Instead of creating and managing encryption keys or certificates in your database server, you can encrypt data using only [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Using Pass Phrases to Encrypt Data</strong></p>
<p>A password that allows for spaces can be referred to as a pass phrase. The benefit of pass phrases is that you can make them meaningful and easy to remember. Instead of creating and managing encryption keys or certificates in your database server, you can encrypt data using only a pass phrase.The <strong>ENCRYPTBYPASSPHRASE</strong> statement uses the supplied pass phrase to generate a symmetric key, which is used to perform the actual data encryption. No key management is required, as the key will be recreated each time the same pass phrase is supplied.The common syntax of the<strong> ENCRYPTBYPASSPHRASE</strong> statement is as follows:</p>
<p><code>ENCRYPTBYPASSPHRASE ('PASSPHRASE', 'PLAINTEXT')</code></p>
<p>In this statement, <strong>PASSPHRASE </strong>specifies the data string to be used to derive an encryption key. <strong>PLAINTEXT </strong>specifies the data to be encrypted. No permissions are required to run the <strong>ENCRYPTBYPASSPHRASE </strong>statement.</p>
<p>The following syntax encrypts the string using the supplied pass phrase:</p>
<p><span id="more-360"></span></p>
<p><code>SELECT ENCRYPTBYPASSPHRASE('SQL Server 2005 Pass Phrase Encryption', 'pass phrase encryption test')</code></p>
<p>Here are the results:</p>
<p><code>0x01000000B0FA66E0152FB0B655B23439904E36F3ED5B758618BEED0F2A2BF918C6CF9DF685BC2A60A<br />
AD5E81D660BA5A396D1CA89</code></p>
<p>As mentioned earlier, the preceding results will differ from what you receive on your SQL Server.To decrypt data, you can use the <strong>DECRYPTBYPASSPHRASE</strong> statement.The general syntax of this statement is as follows:</p>
<p><code>DECRYPTBYPASSPHRASE ('PASSPHRASE', 'CIPHERTEXT')</code></p>
<p>In this statement, <strong>PASSPHRASE </strong>specifies the data string to be used to derive a decryption key. <strong>CIPHERTEXT </strong>specifies the data to be decrypted. Similar to the <strong>ENCRYPTBYPASSPHRASE </strong>statement, no permissions are required to execute the <strong>DECRYPTBYPASSPHRASE </strong>statement.The following syntax uses the <strong>DECRYPTBYPASSPHRASE </strong>statement to decrypt the previously encrypted data, and converts it into the human readable varchar format:</p>
<p><code>SELECT CAST (DECRYPTBYPASSPHRASE('SQL Server 2005 Pass Phrase Encryption',<br />
0x01000000B0FA66E0152FB0B655B23439904E36F3ED5B758618BEED0F2A2BF918C6CF9DF685BC2A60A<br />
AD5E81D660BA5A396D1CA89) 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 <strong>ENCRYPTBYPASSPHRASE </strong>statement. Here is what the results of running the preceding statement will look like:<br />
<code><br />
pass phrase encryption test</code></p>
<p>The encryption algorithm and key length used by pass phrase encryption have not been formally documented by Microsoft. Because of this, it is recommended that you do not use this encryption mechanism to encrypt sensitive data.</p>
<p><strong>Flaws within Microsoft Object Encryption</strong></p>
<p>The object encryption used by Microsoft is weak, and there are publicly available scripts that can successfully decrypt the objects. Further, at run-time, SQL Server internally decrypts the object and SQL Profiler can be used to capture object logic in plain text form. Due to this, object encryption should not be used to encrypt sensitive information, and you should not embed key or certificate passwords or pass phrases in SQL Server objects encrypted using objectbased encryption.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mywebhostingblog.net/aspnet-web-hosting/using-pass-phrases-to-encrypt-data-in-mssql-2005/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SQL Server has encountered 1 occurrence(s) of I/O requests taking longer than 15 seconds to complete on file.</title>
		<link>http://www.mywebhostingblog.net/mssql-server-hosting/sql-server-has-encountered-1-occurrences-of-io-requests-taking-longer-than-15-seconds-to-complete-on-file/</link>
		<comments>http://www.mywebhostingblog.net/mssql-server-hosting/sql-server-has-encountered-1-occurrences-of-io-requests-taking-longer-than-15-seconds-to-complete-on-file/#comments</comments>
		<pubDate>Thu, 09 Oct 2008 19:24:06 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[MSSQL Server]]></category>
		<category><![CDATA[Window Hosting]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[MSSQL]]></category>
		<category><![CDATA[stalled IO]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.mywebhostingblog.net/?p=57</guid>
		<description><![CDATA[Some times we see the error below in the event logs: &#8220;SQL Server has encountered 1 occurrence(s) of I/O requests taking longer than 15 seconds to complete on file [T:\MSSQL\DATA\%file_name%] in database [%DB_name%] (2).  The OS file handle is 0&#215;00000838.  The offset of the latest long I/O is: 0x000000ebdc0000&#8220; Do you refer it to as [...]]]></description>
			<content:encoded><![CDATA[<p>Some times we see the error below in the event logs:</p>
<p><em>&#8220;<strong>SQL Server has encountered 1 occurrence(s) of I/O requests taking longer than 15 seconds to complete on file [T:\MSSQL\DATA\%file_name%] in database [%DB_name%] (2).  The OS file handle is 0&#215;00000838.  The offset of the latest long I/O is: 0x000000ebdc0000</strong>&#8220;</em></p>
<p>Do you refer it to as a <strong>stalled IO</strong>? We always hear a questions such as, what’s wrong with SQL Server..? Why is SQL taking so long to read or write to the disk..? Let us discuss why it is not a MS SQL Server problem:</p>
<p><strong>MS SQL Server</strong> does data file reads and writes almost exclusively as asynchronous IO, using the <strong>win32 </strong>APIs ReadFile, WriteFile, ReadFileScatter and WriteFileGather. Each of these APIs behave in a fairly similar steps, the caller sends in a handle to the file, some memory location to read or write, the size of the block and a structure that tells the kernel how to handle the IO. In <strong>MS SQL Server’s </strong>case, how to handle the IO is Asynchronously, please.  The call returns immediately so that the thread issuing so that the IO can get out of the way and make life happy for other users who are also waiting got their query to return.</p>
<p>The catch here is that, ordinarily the time between the Asynchronous call to read or write and the completion of the read or write should be on the order of 10ms. The longer it takes for an IO to return the more noticeable a performance impact there is to end users.</p>
<p><span id="more-57"></span></p>
<p>Prior to <strong>MS SQL Server 2000 SP4</strong> the only way you would be able to tell if your<strong> IO</strong>s were taking longer than expected would be to use<strong> System Monitor</strong> and watch the <strong>PhysicalDisk</strong>\Avg Disk sec./read, write and transfer counter.  This is a relatively acceptable method when the cause of your IO bottleneck is the latency of the physical disk, you might be surprised to find out that’s not the only thing that might slow down an IO!</p>
<p>Once a user mode application issues an IO request it’s the equivalent of putting a package in the mail, there’s nothing to do but wait.  While you may not have anything to do once you’ve dropped the package the parcel carriers job has just begun, what with all the processing and labeling and transit – you get the idea.  Likewise for the <strong>kernel</strong>.  Once an IO transitions over to kernel mode it’s transformed into something called and <strong>IRP </strong>(interrupt request packet) and begins a trek down levels of filter drivers, virus scanners  and device drivers before it finally makes its way home to a physical device.</p>
<p>Windows exposes methods for device and software manufactures to be notified of, and participate in, IOs.  Filter drivers are one method of doing this, and it allows for great functionality of verifying you aren’t writing a file with a virus pattern, or backing up a file as it’s being written.  The problem here is that the filter driver can hold up an IO for an extended period of time, and this time isn’t reflected in the Sysmon counter.</p>
<p>So what are you to do? You’ve put your specially crafted package in the mail, but the intended recipient still hasn’t got it.</p>
<p>The approach taken in <strong>MS SQL Server</strong> is to make note of the time the <strong>IO </strong>started, the offset of the IO within the file then check back a short time later to make sure all IOs have completed.  If an IO is still outstanding and 15 seconds have elapsed then the warning is printed to the <strong>errorlog </strong>to alert the system administrator that something’s amiss.</p>
<p>When you see this message the first thing you need to check is the <strong>physical disk</strong> counters in sysmon to ensure that the disks are servicing IOs in a reasonable period of time.  If those appear to fine then start looking at what filter drivers are installed on your system, are there any known issues with them, or just disable them if you don’t need them.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mywebhostingblog.net/mssql-server-hosting/sql-server-has-encountered-1-occurrences-of-io-requests-taking-longer-than-15-seconds-to-complete-on-file/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

