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

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

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

