<?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>裁纸刀下 &#187; SQL</title>
	<atom:link href="http://ofcss.com/tags/sql/feed" rel="self" type="application/rss+xml" />
	<link>http://ofcss.com</link>
	<description>独立 自由 诚信 宽容 责任 平常心</description>
	<lastBuildDate>Fri, 20 Apr 2012 04:08:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Visual Studio 2008 搭配64位SQL Server的问题解决方案</title>
		<link>http://ofcss.com/2009/05/24/sql-express-2008-x64-integration-with-visual-studio-2008-sp1.html</link>
		<comments>http://ofcss.com/2009/05/24/sql-express-2008-x64-integration-with-visual-studio-2008-sp1.html#comments</comments>
		<pubDate>Sun, 24 May 2009 12:14:40 +0000</pubDate>
		<dc:creator>小李刀刀</dc:creator>
				<category><![CDATA[乱七八糟]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://wukangrui.net/2009/05/24/sql-express-2008-x64-integration-with-visual-studio-2008-sp1.html</guid>
		<description><![CDATA[这应该是一个老问题了，微软早在SQL Server 2005版的时候就给出了解答，可是由于解决这个问题的关键补丁直至今日既没有集成到Visual Studio 2008 SP1，也没有作为自动更新或者下载中心单独下载的补丁提供。而是需要用户联系微软客户支持部门索取才可以获得。因此到了SQL Server 2008 SP1 + Visual Studio 2008 SP1，依然存在。不过由于64位系统和相关软件兼容性的问题，以前这个问题遇到的人并不算多。但是Windows 7发布的时候，64位系统兼容性已经大大改善，大内存支持的问题也促使更多的人考虑选择64位操作系统。我也在这个时候终于第一次遇到了Visual Studio 2008搭配64位SQl Server Express的这个兼容性问题。本文对该问题做具体介绍，并提供我解决问题的办法。 首先，描述一下问题。微软官方对此问题的描述： 连接到一个 64 位实例时的 Microsoft SQL Server Express 2008 使用 Visual Studio 2008 Service Pack 1 (SP 1)，您可能会收到以下错误信息： SQL Server 文件 (*.mdf) 的连接要求 SQL Server Express 2005 才能正常工作。 请验证 URL 中的下载的组件的安装： http://go.microsoft.com/fwlink/?LinkId=49251 (http://go.microsoft.com/fwlink/?LinkId=49251) 请注意 从 64 [...]]]></description>
			<content:encoded><![CDATA[<p>这应该是一个老问题了，微软早在SQL Server 2005版的时候就给出了解答，可是由于解决这个问题的关键补丁直至今日既没有集成到Visual Studio 2008 SP1，也没有作为自动更新或者下载中心单独下载的补丁提供。而是需要用户联系微软客户支持部门索取才可以获得。因此到了SQL Server 2008 SP1 + Visual Studio 2008 SP1，依然存在。不过由于64位系统和相关软件兼容性的问题，以前这个问题遇到的人并不算多。但是Windows 7发布的时候，64位系统兼容性已经大大改善，大内存支持的问题也促使更多的人考虑选择64位操作系统。我也在这个时候终于第一次遇到了Visual Studio 2008搭配64位SQl Server Express的这个兼容性问题。本文对该问题做具体介绍，并提供我解决问题的办法。</p>
<p> <span id="more-653"></span>
<p>首先，描述一下问题。微软官方对此问题的描述：</p>
<blockquote><p>连接到一个 64 位实例时的 Microsoft SQL Server Express 2008 使用 Visual Studio 2008 Service Pack 1 (SP 1)，您可能会收到以下错误信息： </p>
<p>SQL Server 文件 (*.mdf) 的连接要求 SQL Server Express 2005 才能正常工作。 请验证 URL 中的下载的组件的安装： </p>
<p><a href="http://go.microsoft.com/fwlink/?LinkId=49251">http://go.microsoft.com/fwlink/?LinkId=49251</a> (http://go.microsoft.com/fwlink/?LinkId=49251) </p>
<p><b>请注意 </b>从 64 位计算机连接到 SQL Server Express 2008 一个 32 位实例时不会发生此问题。</p>
</blockquote>
<p>界面截图如下：</p>
<p align="center"><a href="http://file.wukangrui.com/attachments/2009/05/image.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://file.wukangrui.com/attachments/2009/05/image-thumb.jpg" width="504" height="205" /></a> </p>
<p>这个问题在32位SQL Server里也有人遇到，不过问题的原因和解决方法都不同，32位系统下有可能是实例名设置不匹配、临时文件有问题等原因。但是在64位系统下，就算那些问题统统查过并且修正之后，依然无法解决。因此必须依赖于微软的单独提供的补丁才可以。</p>
<p>为了避免其它原因造成相同或相似的问题，我从安装开始，讲一下整个过程：</p>
<ol>
<li>下载 SQL Server 2008 EXPRESS 版本（带高级服务的也可以，我这里以带高级服务的版本为例），解压到 X:\SQLEXPRADV_x64_ENU。“X:\”代表你电脑上任意盘符。     </li>
<li>以管理员身份运行命令提示行 cmd.exe 。     </li>
<li>切换到刚才解压的目录，带参数运行setup.exe，例如：
<p>setup.exe /ACTION=INSTALL /INSTALLSHAREDWOWDIR=&quot;C:\Program Files (x86)\Microsoft SQL Server&quot; /INSTALLSHAREDDIR=&quot;C:\Program Files\Microsoft SQL Server&quot;      </p>
<p>说明：这里 INSTALLSHAREDWOWDIR代表32位共享组件安装目录，INSTALLSHAREDDIR代表64位共享组件安装目录。如果你想在安装过程中修改默认安装路径，必须带参数启动安装程序，否则会遇到未指定共享组件安装路径的错误提示。网上的大部分文章建议先用默认选项安装，到最后一步退出，然后修改config文件，再加载config文件来进行安装。该方案可行，但是太麻烦了。      </li>
<li>按照安装向导一步一步进行安装，你可以进行路径和组件的自定义，但是强烈建议不要勾选Business Intelligence Development Studio组件，因为即使你选了，该组件也会安装失败，必须在安装完SQL Server 2008 SP1以后回来再装才能安装成功。如果你选了，那么安装最后提示该组件安装失败也没关系，其它的已经安装成功。     </li>
<li>自定义安装选项的话，在定义运行帐户、默认语言等的那个界面，千万不要启用 Filestream 访问，否则即使打了专用补丁，你仍然会遇到在Visual Studio 2008中直接添加SQL Server 数据库失败的问题，同样是由于启用用户实例失败，但是Filestream造成的那个错误暂时无解，所以不要选择。     </li>
<li>成功安装SQL Server 2008之后， 继续安装 SQL Server 2008 SP1，这个没有什么要注意的，同意协议下一步就行了。     </li>
<li>安装完SQL Server 2008 SP1以后，现在可以再运行一次带高级服务的SQL Server 2008 Express安装包来安装Business Intelligence Development Studio了（如果你需要的话），但是 Filestream 访问还是不能选。     </li>
<li>全部安装完以后，就需要微软用于解决64位SQL Server Express不能在Visual Studio 2008 中直接添加SQL数据库的补丁 VS90SP1-KB957944-x86 了。微软关于该补丁的描述见 <a href="http://support.microsoft.com/default.aspx/kb/957944">http://support.microsoft.com/default.aspx/kb/957944</a> ，不过没必要听他们的去打电话或者发邮件向客服申请，直接到这个地址：<a href="http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=957944">http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=957944</a> ，填写你的Email并提交申请，最多2分钟之后，你就会收到微软发来的下载地址和解压密码。不过这个地址没多久就会失效。如果没有保存，下次再需要的时候还得再次申请。      </li>
<li>安装好补丁Kb957944，检查Visual Studio 2008的“工具 | 选项 | 数据库工具”下的“数据连接”和“设计时验证数据库（Design-time Validation Database）”两个选项，里面都有SQL实例名，要和你安装的实例名相同。另外还要检查你的SQL服务配置，是否已经启用了Named Pipe。     </li>
<li>.现在试试看在你的.NET项目中直接添加SQL Server 数据库，应该可以正常工作了。</li>
</ol>
<h3  class="related_post_title">相关日志</h3><ul class="related_post"><li>2010-04-14 -- <a href="http://ofcss.com/2010/04/14/vs2010-rtm-avaliable-on-msdn.html" title="Visual Studio 2010 Ultimate RTM 版开放MSDN下载">Visual Studio 2010 Ultimate RTM 版开放MSDN下载</a></li><li>2010-04-04 -- <a href="http://ofcss.com/2010/04/04/vspaste-customization-with-net-reflector.html" title="VSPaste 的持续改造">VSPaste 的持续改造</a></li><li>2009-06-20 -- <a href="http://ofcss.com/2009/06/20/icbc-u-key-in-windows-7-x64.html" title="工行U盾在Windows 7 x64版下的使用">工行U盾在Windows 7 x64版下的使用</a></li><li>2009-06-08 -- <a href="http://ofcss.com/2009/06/08/using-fastcgi-to-host-php-applications-on-iis-7x.html" title="在 IIS 7.x 中用 FastCGI 运行 PHP">在 IIS 7.x 中用 FastCGI 运行 PHP</a></li><li>2009-06-05 -- <a href="http://ofcss.com/2009/06/05/uncharted-waters-4-in-windows7-x64.html" title="Windows 7 兼容性展示：大航海时代4">Windows 7 兼容性展示：大航海时代4</a></li><li>2009-05-23 -- <a href="http://ofcss.com/2009/05/23/google-chrome-in-windows7-x64.html" title="windows 7 x64 上的Google Chrome">windows 7 x64 上的Google Chrome</a></li><li>2009-05-16 -- <a href="http://ofcss.com/2009/05/16/window7-beta-dvd-from-microsoft.html" title="微软发放的Windows 7测试版光盘">微软发放的Windows 7测试版光盘</a></li><li>2009-04-30 -- <a href="http://ofcss.com/2009/04/30/solution-for-js-intellisense-error.html" title="VS2008 中 JS IntelliSense出错的解决">VS2008 中 JS IntelliSense出错的解决</a></li><li>2009-04-13 -- <a href="http://ofcss.com/2009/04/13/aspnetmvc-hands-on-labs-develop-application.html" title="[翻译]ASP.NET MVC动手实验1-3：开发ASP.NET MVC应用">[翻译]ASP.NET MVC动手实验1-3：开发ASP.NET MVC应用</a></li><li>2009-04-09 -- <a href="http://ofcss.com/2009/04/09/aspnetmvc-hands-on-labs-create-application.html" title="[翻译]ASP.NET MVC动手实验1-2：创建ASP.NET MVC应用">[翻译]ASP.NET MVC动手实验1-2：创建ASP.NET MVC应用</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://ofcss.com/2009/05/24/sql-express-2008-x64-integration-with-visual-studio-2008-sp1.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

