<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Infrastructure snapshots : SQL</title><link>http://blogs.technet.com/mbaher/archive/tags/SQL/default.aspx</link><description>Tags: SQL</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Clustering SQL 2005 and Administrative shares</title><link>http://blogs.technet.com/mbaher/archive/2007/03/23/clustering-sql-2005-and-administrative-shares.aspx</link><pubDate>Fri, 23 Mar 2007 21:13:05 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:705529</guid><dc:creator>mbaher@microsoft.com</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/mbaher/comments/705529.aspx</comments><wfw:commentRss>http://blogs.technet.com/mbaher/commentrss.aspx?PostID=705529</wfw:commentRss><description>&lt;p&gt;One of our partners was installing SQL 2005 64 bit cluster and while he was in the components selection page he faced this error "The drive specified cannot be used for program location. Program files must be installed on a valid local disk available on all cluster nodes". One of my colleagues was onsite and they gave me a call to help, looking to the KB articles we found that we must use an account with Administrative privilege on the nodes, another article highlighted that the installation shouldn't be on the root of the drive. Looking to the situation we are in we found that we are using the Administrator account and that we are not installing to the root of the drive!!!&lt;/p&gt; &lt;p&gt;After further investigations&amp;nbsp;I found that the Administrative shares "C$, D$, etc..." are disabled using registry that is applied by domain security policies using group policy, since SQL installation will require connectivity to the administrative shares we deleted the key, excluded the servers from the policy, restarted both nodes and restarted the installation and it works smoothly with no problems.&lt;/p&gt; &lt;p&gt;Summary is if you faced this error in SQL cluster&amp;nbsp;installation, make sure that you can access the Administrative hidden shares on both nodes...&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=705529" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/mbaher/archive/tags/SQL/default.aspx">SQL</category></item><item><title>Upgrading Reporting Services farm? Check the IP Address binding</title><link>http://blogs.technet.com/mbaher/archive/2006/12/19/upgrading-reporting-services-farm-check-the-ip-address-binding.aspx</link><pubDate>Tue, 19 Dec 2006 18:48:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:563072</guid><dc:creator>mbaher@microsoft.com</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/mbaher/comments/563072.aspx</comments><wfw:commentRss>http://blogs.technet.com/mbaher/commentrss.aspx?PostID=563072</wfw:commentRss><description>Doing an upgrade from SQL 2000 Reporting Services to SQL 2005 Reporting Services in a scale-out deployment is not that tough task however while I was doing an upgrade in a Scale-Out deployment where the nodes are configured in a Network Load Balance farm I faced a problem where the setup generates an error in the middle of the reporting services 2005 installation and refused to continue, no worries; aborting the upgrade in this phase was not dangerous as the existing reporting services is not yet replaced... Digging more I found that the Default Web Site is bind to the NLB IP Address and in order for the setup to run without problems the Default Web Site IP Address should be set to "All Unassigned"&amp;nbsp; and not to the NLB IP, sounds logic the reporting services setup will try to read the site configuration by binding to the local server IP however the website is configured to listen only to the NLB IP address which will confuse the setup wizard, setting the IP Address to all unassigned will make the setup to read the site configuration with no problems. 
&lt;P&gt;Note: You can change it back again after the upgrade process&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=563072" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/mbaher/archive/tags/SQL/default.aspx">SQL</category></item><item><title>Enabling SSL in SQL 2005 cluster</title><link>http://blogs.technet.com/mbaher/archive/2006/12/16/enabling-ssl-in-sql-2005-cluster.aspx</link><pubDate>Sun, 17 Dec 2006 00:20:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:559524</guid><dc:creator>mbaher@microsoft.com</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.technet.com/mbaher/comments/559524.aspx</comments><wfw:commentRss>http://blogs.technet.com/mbaher/commentrss.aspx?PostID=559524</wfw:commentRss><description>&lt;DIV&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;Did you tried to enable SQL encryption between the client and your SQL instance? I thought that configuring SQL 2005 cluster to encrypt its traffic is simple however I discovered that it is not that straight forward and you always get this error “The server could not load the certificate it needs to initiate an SSL connection. It returned the following error: 0x8009030d. Check certificates to make sure they are valid” to understand more about SSL in SQL 2005 &amp;amp; how to configure it read below.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;Microsoft SQL Server 2005 can use Secure Sockets Layer (SSL) to encrypt data that is transmitted across a network between an instance of SQL Server and a client application. The SSL encryption is performed within the protocol layer and is available to all SQL Server clients except DB Library and MDAC 2.53 clients.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;SSL can be used for server validation when a client connection requests encryption. If the instance of SQL Server is running on a computer that has been assigned a certificate from a public certification authority, identity of the computer and the instance of SQL Server is vouched for by the chain of certificates that lead to the trusted root authority. Such server validation requires that the computer on which the client application is running be configured to trust the root authority of the certificate that is used by the server. Encryption with a self-signed certificate is possible as the Credentials (in the login packet) that are transmitted when a client application connects to SQL Server 2005 are always encrypted. SQL Server will use a certificate from a trusted certification authority if available. If a trusted certificate is not installed, SQL Server will generate a self-signed certificate when the instance is started, and use the self-signed certificate to encrypt the credentials. This self-signed certificate helps increase security but it does not provide authentication or nonrepudiation. If the self-signed certificate is used, and the value of the &lt;B&gt;ForceEncryption&lt;/B&gt; option is set to &lt;B&gt;Yes&lt;/B&gt;, all data transmitted across a network between SQL Server and the client application will be encrypted using the self-signed certificate. Note that SSL connections that are encrypted by using a self-signed certificate do not provide strong security. They are susceptible to man-in-the-middle attacks. You should not rely on SSL using self-signed certificates in a production environment or on servers that are connected to the Internet.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;Note: Enabling SSL encryption increases the security of data transmitted across networks between instances of SQL Server and applications. However, enabling encryption does slow performance. When all traffic between SQL Server and a client application is encrypted using SSL, the following additional processing is required:&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;An extra network roundtrip is required at connect time.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;Packets sent from the application to the instance of SQL Server must be encrypted by the client Net-Library and decrypted by the server Net-Library.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;Packets sent from the instance of SQL Server to the application must be encrypted by the server Net-Library and decrypted by the client Net-Library.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;To configure SSL encryption to work with a certificate from a public certification authority follow the below steps:&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;Generate a certificate with the following requirements&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;Certificate CSP should be “&lt;B&gt;Microsoft RSA SChannel Cryptographic Provider&lt;/B&gt;”&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;The certificate must be meant for server authentication. This requires the&lt;B&gt; Enhanced Key Usage&lt;/B&gt; property of the certificate to specify&lt;B&gt; Server Authentication (1.3.6.1.5.5.7.3.1)&lt;/B&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;The &lt;B&gt;Subject&lt;/B&gt; property of the certificate must indicate that the common name (CN) is the same as the host name or fully qualified domain name (FQDN) of the server computer. If SQL Server is running on a failover cluster, the common name must match the host name or FQDN of the virtual server and the certificates must be provisioned on all nodes in the failover cluster&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;Import the same certificate on both nodes into the following locations&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;Computer container&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;SQL services account personal container&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;Add the SQL service account into the local administrator group of both cluster nodes&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;Open the registry editor and add the thumbprint of the certificate into the following string key “Certificate” under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.x\MSSQLServer\SuperSocketNetLib”&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;Using Certificate Mgr (MMC), double-click on the Certificate.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;Select the Details tab&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;Scroll down to Thumbprint and highlight &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;Copy the Thumbprint numbers and paste into Notepad &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;Remove all the spaces from the string &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;Copy the string and paste in Registry in the value for Certificate string&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;at: &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer\SuperSocketNetLib&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;Restart the cluster node&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;Note that after doing all of the above steps you will notice that the certificates is not listed in the SQL Server configuration manager - &amp;gt; Protocols for the instance. However the SSL is working &amp;amp; you can check by looking into the SQL logs. To get to know that your certificate loaded successfully try to search SQL Server Error log (in SSMS) for&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;Source: Server&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;Message contains: certificate&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;Note:&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt; When Microsoft SQL Server 2005 is running under the Network Service account, you cannot enable encryption by using a certificate. If you provision a certificate for use in encryption, SQL Server will not start. Additionally, you may notice an error message in the SQL Server error log. To solve this problem compile the code in KB 900495 &lt;/FONT&gt;&lt;A href="http://support.microsoft.com/?kbid=900495"&gt;&lt;U&gt;&lt;FONT color=#800080&gt;http://support.microsoft.com/?kbid=900495&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=559524" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/mbaher/archive/tags/SQL/default.aspx">SQL</category></item><item><title>SQL 2000 scale out reporting services upgrade</title><link>http://blogs.technet.com/mbaher/archive/2006/12/16/sql-2000-scale-out-reporting-services-upgrade.aspx</link><pubDate>Sun, 17 Dec 2006 00:10:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:559520</guid><dc:creator>mbaher@microsoft.com</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/mbaher/comments/559520.aspx</comments><wfw:commentRss>http://blogs.technet.com/mbaher/commentrss.aspx?PostID=559520</wfw:commentRss><description>&lt;P mce_keep="true"&gt;I was doing an upgrade for a scale out deployment for SQL Reporting Services 2000 and the servers were having only 1 NIC. After the upgrade finished I found that the reporting services is not working as it was not initialized. Here are the details:&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Symptom:&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;Reporting services is not initialized on both nodes with an error "can't connect to the database server" in the event viewer, accordingly the report generation stopped.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Cause:&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;The encryption keys was corrupted on the reporting databases accordingly the nodes initialization can't succeed&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Resolution:&lt;/B&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;From node1 delete the encryption key&lt;/LI&gt;
&lt;LI&gt;Go to initialization page and make sure that node1 is listed as initialized and that no other nodes are listed&lt;/LI&gt;
&lt;LI&gt;From node2 connect to the database source to create a new id in the database&lt;/LI&gt;
&lt;LI&gt;Go back again to node 1 "physical server"&lt;/LI&gt;
&lt;LI&gt;In the initialization page you should find the second node listed now&lt;/LI&gt;
&lt;LI&gt;Select node2 and click initialize&lt;/LI&gt;
&lt;LI&gt;If no errors displayed, make sure that both nodes are checked as initialized and the icon for the page is green and that the error is no longer appear in the event viewer&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Note: to be able to initialize the second node from the first node while NLB is enabled we have to create the below registry key to enable the InterHost communication while NLB is enabled and configured as Unicast KB898867.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Click Start, click Run, type regedit, and then click OK.&lt;/LI&gt;
&lt;LI&gt;Locate and then click the following registry subkey: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\WLBS\Parameters\Interface\{GUID}Note The {GUID} placeholder represents the GUID of the particular NLB instance. You can use the ClusterIPAddress subkey in this hive to identify different NLB clusters.&lt;/LI&gt;
&lt;LI&gt;On the Edit menu, click New, click DWord Value, and then add the following value data. Value name UnicastInterHostCommSupport Value 1&lt;/LI&gt;
&lt;LI&gt;Note If you set the UnicastInterHostCommSupport registry entry to any non-zero value, Unicast InterHost Communication Support will be enabled.&lt;/LI&gt;
&lt;LI&gt;Quit Registry Editor.&lt;/LI&gt;
&lt;LI&gt;Open a command prompt, and then type the following command "NLB RELOAD"&lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=559520" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/mbaher/archive/tags/SQL/default.aspx">SQL</category></item></channel></rss>