SQL Server 2008和Windows Server 2008应该是绝配,配合Visual Studio 2008,因此微软也把这三件产品的发布会看的相当隆重。不过...我们今天谈的不是这个事情。
前两天在自己的笔记本上安装了SQL Server 2008,因为原来的测试环境都是运行在一些安装了Server操作系统的虚拟机中,因此这次安装就显现了SQL Server 2008的一些易用性问题。
问题之一:
利用Business Intelligence Development Studio部署AdventureWorks 2008的多维数据库范例,报错“无法连接ID为AdventureWorks DW的数据源”。确认了数据源的连接地址和数据库名称都正确的情况下,甚至在数据源视图中浏览数据都正确,但是在部署的时候就是说无法连接到数据源。
怎么回事情呢?后来觉得是不是连接数据源的身份有问题,在将数据源的身份验证选项改为“指定Windows帐号”,并且输入了我自己的Windows帐号和密码后,果然得以正确部署。
不过为什么在Server操作系统下就没有问题呢,而且我的Vista下面还有SQL Server 2005,而SQL Serve r2005就没有问题呢?
再深入检查发现了,SQL Server 2005在安装时,默认的服务帐号是Local System,而SQL Server 2008在安装时的默认服务帐号是Network Service。Local System默认属于SysAdmin服务器角色,而Network Service却仅在Public角色下。
就是这个小小的默认差异,导致在Vista下安装SQL Server 2008,如果没有在安装过程中改服务帐号,或安装后该服务器角色关系就会出现上述问题。
问题之二:
利用SQL Server 2008 Management Studio挂载两个SQL Server 2005数据库时,会报错“数据文件状态为只读,因此无法执行升级操作。”
不过我可以确定数据文件是可读写的,而且也没有其他进程锁住这些文件。
经过检查,发现需要以Administrator身份运行SQL Server 2008 Management Studio后就能正常挂载了。
通常运行SQL Server 2008的工具时不需要提升权限,因为这些工具可以判断我们的操作是否需要提升权限。例如我们在Business Intelligence Developement Studio中部署多维数据库和报表服务的时候,Business Intelligence Developement Studio就会提示我们以管理员身份运行,在SQL Server 2008 Management Studio中启动或停止服务的时候,SQL Server 2008 Management Studio也会提示我们需要提升权限。
很明显,SQL Server 2008 Management Studio遗漏了挂载数据文件这一操作。提升权限,就OK了。希望在SQL Server 2008 RTM的时候,这些小瑕疵都被解决掉了。
不过引用SQL Server开发组一位PM的话,SQL Server 2008这么大的产品,产品发布推迟一下,有些无伤大碍的Bug,应该的到用户的谅解,因为如此庞大的产品开发对每个开发成员都不容易。