升级到SQL Server 2005的常见问题解答
从 SQL Server 2000 升级 到SQL Server 2005意味着进入一个完全崭新的数据库管理世界。我们已经编制了一个经常会被问到的 问题 列表来解决你的SQL Server 2005 升级 问题 ,包括使用DTS包、复制数据库、创建密码和在同一台机器上安装不同的SQL Server版本。
从SQL Server 2000升级到SQL Server 2005意味着进入一个完全崭新的数据库管理世界。我们已经编制了一个经常会被问到的问题列表来解决你的SQL Server 2005升级问题,包括使用DTS包、复制数据库、创建密码和在同一台机器上安装不同的SQL Server版本。
经常被问到的问题:
升级到SQL Server 2005
1. SQL Server 2000 DTS包可以用在SQL Server 2005中吗?
2. 当升级到SQL Server 2005时遇到了加密失败我应该怎样解决?
3. 为SQL Server 2005升级而复制数据库的最好方法是什么?
4. 在升级之后我怎么调整SQL Server查询性能?
5. 故障转移集群在SQL 2005中是怎么工作的?
6. 可以在同一台机器上安装不同的SQL Server版本吗?
7. 在SQL Server 2005中可以调用一个扩展存储过程吗?
8. 我怎么为一个SQL Server数据库创建用户名和密码?
9. 我可以同时运行SQL 2000和SQL 2005实例吗?
10. 你能提供一些SQL Server 2005升级问题的例子吗?
11. 在SQL Server 2005中会出现什么存储过程并发问题?
12. SQL Server 2005数据库可以移植回SQL Server 2000吗?
1. SQL Server 2000 DTS包可以用在SQL Server 2005中吗?
DTS不在SQL Server 2005中使用了,它由一个崭新的被称作SQL Server集成服务(SSIS)的抽取、转换和装载(ETL)引擎所替代。SSIS为构建ETL解决方案提供了一个比DTS更加强大、灵活和具有更好性能的基础,但是这可能使许多数据库管理员不知道该拿他们的DTS包怎么办。
好消息是,尽管他们不能再在SQL Server 2005中编辑,但是在SQL Server 2000中创建的DTS包仍然可以运行。为了缓和这个过渡,SQL Server 2005提供了一个升级向导帮助数据库管理员将包转换到SSIS框架中。然而,不是所有的组件都可以升级。例如,ActiveX的转换对于升级向导来说就是个挑战,而且它可能并不能移植。
而这意味着数据库管理员将最终要使用SSIS重写这些包,由于有了SSIS提供的功能,这么做可能会比使用DTS简单得多。
2.当升级到SQL Server 2005时遇到了加密失败我应该怎样解决?
我们最近在WINDOWS 2003上从SQL 2000升级到了SQL 2005。整个升级过程都进行得很顺利,除了加密。我们有连接到一个内部服务器的ASP.NET 1.x应用,但是加密的时候失败了。我们在MS KB上尝试了所有可用的步骤,但仍然不能解决这一问题。
在微软的“怎么:加密连接到数据库引擎”文章中,我们发现下面的话:要配置服务器接受加密连接:
1. SQL Server配置管理器中,扩展SQL Server 2005网络配置,右键单击“协议”,然后选择“选择属性”。
2. 在协议的属性对话框中,在“证书”标签中,在证书的下拉列表框中选择想要的证书,然后点击OK。
3. 在“标记”标签中,在强制加密选择框中选择“是的”,然后点击OK来关闭这个对话框。
4. 重启SQL Server服务。
问题是,当我们到达第二步时,在下拉列表框中没有可用的证书。这个问题纯粹是由于安装SQL Server 2005所产生的。这些应用在安装之前可以成功的将数据连接加密。所有的内部和非加密的连接都工作正常。我应该怎么做可以让证书出现在属性对话框中的证书标签中?
SQL Server协议小组的Xinwei Hong所贴的博客SQL协议应该可以帮助你解决这一问题。这篇文章列出了SQL Server 2005正确加载协议所要求的几个标准。
―Adam Machanic,SQL Server 2005专家
3. 为SQL Server 2005升级而复制数据库的最好方法是什么?
我在试着将有着近300个数据库的SQL Server 2000 32位移植到SQL Server 2000 64位。我尝试用“复制数据库”的特性,但是它不能成功的复制任何数据库。我还需要将所有的登录移植过去。欢迎任何建议。
我发现一般情况下复制数据库向导同其他的移动数据方法相比要慢而且低效。它最好用于当你需要在两个服务器之间做少量数据的一个非常快速并有冗余的转移,而且不想花费时间去做备份或分离数据库的情况下。
如果你需要转移300个数据库,我认为你会发现最好的方法是在SQL Server 2000实例上使用sp_detach_db来分离每一个数据库,并在SQL Server 2005实例上用sp_attach_db重新绑定每一个数据库。这么做还能保留你的数据库用户。
然而,即使使用这个方法,你仍然需要获得对SQL Server 2005实例的登录。访问一个KB文章,那里包含了一个可以帮助你做这个工作的脚本,查看这个微软支持页面。
注意,当你完成的时候,你可能需要重新匹配数据库用户和登录。为了重新匹配,使用sp_change_users_login系统存储过程。
―Adam Machanic,SQL Server 2005专家
4. 在升级之后我怎么调整SQL Server查询性能?
我们将我们的SQL Server 2000 10 GB数据库移植到SQL Server 2005。少数查询比在SQL Server 2000中时要慢。先前我们获得结果要10秒钟,而现在要30分钟。这个执行查询计划在SQL Server 2000和SQL Server 2005中是不同的。SQL Server 2000使用索引而SQL 2005使用表的表扫描。还有表的嵌套循环/内连接的序列也改变了。因为这是一个动态应用,所以修订查询是很困难的。你可以提供什么建议关于调整SQL Server 2005中的查询性能吗?
推荐阅读
-
在Windows2012下安装SQL Server 2005无法启动服务的解决办法
-
深入sql server 2005 万能分页存储过程的详解
-
SQL Server 2005 创建简单的存储过程--总结分析
-
在SQL Server 2005中创建CLR存储过程的详细介绍
-
安装sql server 2008 management提示已安装 SQL Server 2005 Express的解决方法
-
sql server 2005 在 windows7 下的安装教程
-
完美解决SQL server2005中插入汉字变成问号的问题
-
sql server 2005 在 windows7 下的安装教程
-
SQL Server2005打开数据表中的XML内容时报错的解决办法
-
Sql Server 2005中查询用分隔符分割的内容中是否包含其中一个内容