设为首页 收藏本站
查看: 1020|回复: 0

[经验分享] Visual Studio 2008搭配64位SQL Server遇到的问题和解决

[复制链接]

尚未签到

发表于 2015-7-5 10:50:33 | 显示全部楼层 |阅读模式
  这应该是一个老问题了,微软早在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 位计算机连接到 SQL Server Express 2008 一个 32 位实例时不会发生此问题。
  界面截图如下:

  这个问题在32位SQL Server里也有人遇到,不过问题的原因和解决方法都不同,32位系统下有可能是实例名设置不匹配、临时文件有问题等原因。但是在64位系统下,就算那些问题统统查过并且修正之后,依然无法解决。因此必须依赖于微软的单独提供的补丁才可以。
  为了避免其它原因造成相同或相似的问题,我从安装开始,讲一下整个过程:

  • 下载 SQL Server 2008 EXPRESS 版本(带高级服务的也可以,我这里以带高级服务的版本为例),解压到 X:\SQLEXPRADV_x64_ENU。“X:\”代表你电脑上任意盘符。
  • 以管理员身份运行命令提示行 cmd.exe 。
  • 切换到刚才解压的目录,带参数运行setup.exe,例如:  setup.exe /ACTION=INSTALL /INSTALLSHAREDWOWDIR="C:\Program Files (x86)\Microsoft SQL Server" /INSTALLSHAREDDIR="C:\Program Files\Microsoft SQL Server"
      说明:这里 INSTALLSHAREDWOWDIR代表32位共享组件安装目录,INSTALLSHAREDDIR代表64位共享组件安装目录。如果你想在安装过程中修改默认安装路径,必须带参数启动安装程序,否则会遇到未指定共享组件安装路径的错误提示。网上的大部分文章建议先用默认选项安装,到最后一步退出,然后修改config文件,再加载config文件来进行安装。该方案可行,但是太麻烦了。

  • 按照安装向导一步一步进行安装,你可以进行路径和组件的自定义,但是强烈建议不要勾选Business Intelligence Development Studio组件,因为即使你选了,该组件也会安装失败,必须在安装完SQL Server 2008 SP1以后回来再装才能安装成功。如果你选了,那么安装最后提示该组件安装失败也没关系,其它的已经安装成功。
  • 自定义安装选项的话,在定义运行帐户、默认语言等的那个界面,千万不要启用 Filestream 访问,否则即使打了专用补丁,你仍然会遇到在Visual Studio 2008中直接添加SQL Server 数据库失败的问题,同样是由于启用用户实例失败,但是Filestream造成的那个错误暂时无解,所以不要选择。
  • 成功安装SQL Server 2008之后, 继续安装 SQL Server 2008 SP1,这个没有什么要注意的,同意协议下一步就行了。
  • 安装完SQL Server 2008 SP1以后,现在可以再运行一次带高级服务的SQL Server 2008 Express安装包来安装Business Intelligence Development Studio了(如果你需要的话),但是 Filestream 访问还是不能选。
  • 全部安装完以后,就需要微软用于解决64位SQL Server Express不能在Visual Studio 2008 中直接添加SQL数据库的补丁 VS90SP1-KB957944-x86 了。微软关于该补丁的描述见 http://support.microsoft.com/default.aspx/kb/957944 ,不过没必要听他们的去打电话或者发邮件向客服申请,直接到这个地址:http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=957944 ,填写你的Email并提交申请,最多2分钟之后,你就会收到微软发来的下载地址和解压密码。不过这个地址没多久就会失效。如果没有保存,下次再需要的时候还得再次申请。
  • 安装好补丁Kb957944,检查Visual Studio 2008的“工具 | 选项 | 数据库工具”下的“数据连接”和“设计时验证数据库(Design-time Validation Database)”两个选项,里面都有SQL实例名,要和你安装的实例名相同。另外还要检查你的SQL服务配置,是否已经启用了Named Pipe。
  • .现在试试看在你的.NET项目中直接添加SQL Server 数据库,应该可以正常工作了。
  希望本文对遇到此问题的朋友能有所帮助。
  本文首发地址:http://wukangrui.net/2009/05/24/sql-express-2008-x64-integration-with-visual-studio-2008-sp1.html

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-83315-1-1.html 上篇帖子: 解决SQL Server 2005 Management Studio Express 简体中文版 界面是英文的 下篇帖子: 在SQL SERVER 2005存储过程中,使用循环语句
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表