SQL Server:如何确定降级数据库时会出现什么问题?

发布于 2024-09-14 08:58:51 字数 371 浏览 1 评论 0 原文

我们正在为客户构建一个应用程序,假设他们将从 SQL Server 2000 升级到最低 SQL Server 2005。我们已经完成了基于 2005 构建的应用程序,并准备好集成。事实证明他们不会升级他们的数据库服务器。

所以,现在我们不得不努力找出会出现问题的地方。

我们无法访问 SQL Server 2000,因此只能将数据库的兼容性更改为 80。

除了完整的测试和审查每个存储过程(而且我读到更改兼容性模式并不是万无一失的 - 所以测试不会防弹),还有其他方法可以确定什么会损坏吗?那里有什么工具吗?脚本?

编辑

我不想尝试将其恢复到他们的生产数据库服务器上以查看吐出哪些错误,所以这不是一个好的选择。

We're building an application for a client with the assumption that they'd be upgrading to a minimum of SQL Server 2005 from SQL Server 2000. We're finished our application, built on 2005, and are ready to integrate. Turns out that they're not going to upgrade their DB server.

So, now we're stuck with trying to sort out what will break.

We don't have access to SQL Server 2000, so we can only change the compatibility of the database to 80.

Aside from complete testing and reviewing every stored procedure (and I've read that changing the compatibility mode is not foolproof - so testing wouldn't be bombproof), is there any other way to determine what will break? Any tools out there? Scripts?

Edit

I'd prefer not to try restoring this onto their production DB server to see what errors are spit out, so that's not a good option.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

沧桑㈠ 2024-09-21 08:58:51

建议您在在线图书中查找阐明两者之间差异的页面并查找这些内容。您可以查看该列表,然后在存储 sp 文本的表中搜索一些新关键字。这将为您提供一个开始列表。

@rwmnau 指出了一些好的,我会再添加两个
SQL Server 2000 没有 varchar(max) 或 nvarchar (max),请使用文本。
SQl Server 2000 也没有 SSIS - 如果您要创建 SSIS 包来导入数据或将数据移动到数据仓库或导出数据,所有这些都需要在 DTS 中重做。

另外,在我看来,您仍然可以下载 SQL Server 2000 的免费版本:
http://www. microsoft.com/downloads/details.aspx?familyid=413744d1-a0bc-479f-bafa-e4b278eb9147&displaylang=en

您可能想要执行此操作并进行测试。

Suggest you look in Books online for the page that spells out the differences between the two and look for those things. YOu can look over the list and then search for some new keywords in the table where the sp text is stored. That will give you a beginning list.

@rwmnau noted some good ones, I'll add two more
SQL Server 2000 does not have varchar(max) or nvarchar (max), use text instead.
SQl Server 2000 also does not have SSIS - if you are creating SSIS packages to import data or move data to a data warehouse or export data, all of those need to be redone in DTS.

Also it looks to me like you can still download the free edition of SQL Server 2000:
http://www.microsoft.com/downloads/details.aspx?familyid=413744d1-a0bc-479f-bafa-e4b278eb9147&displaylang=en

You might want to do that and test on that.

作死小能手 2024-09-21 08:58:51

我不会担心您的 ANSI-SQL(设置数据库兼容性级别应该解决大部分问题),但是您可能使用过一些在 SQL 2000 中不可用的重要功能(还有更多) ,但这些是我见过的最流行的):

另外,任何选择(尽管您不应该这样做)直接从系统表(以“sys”开头或位于“sys.”模式中的对象)在 SQL 2000 和 2005+ 之间可能发生了巨大变化,所以我会看看您是否从其中进行选择:

SELECT *
  FROM syscomments --I know, using a sys table to figure it out :)
 WHERE text like '%sys%'

另外,值得注意的是,虽然扩展支持需要支付高额费用,但微软已经正式结束了对 SQL 2000 的主流支持,并将在不久的将来结束扩展支持。这会使您的客户(和您)无法获得 Microsoft 的任何更新(无论是安全补丁、错误还是您发现的任何其他内容)。我强烈鼓励他们升级到较新的版本(至少 2005 年),尽管我怀疑您已经走上了这条路。

I wouldn't be worried about your ANSI-SQL (setting the database compatibility level should take care of most of that), but there are a few big features you may have used that aren't available in SQL 2000 (there are many more, but these are the ones I've seen that are most popular):

Also, though you shouldn't be, any selections directly from system tables (objects that begin with "sys" or are in the "sys." schema) may have changed dramatically between SQL 2000 and 2005+, so I'd see if you're selecting from any of those:

SELECT *
  FROM syscomments --I know, using a sys table to figure it out :)
 WHERE text like '%sys%'

Also, it's worth noting that while extended support is available for a hefty fee, Microsoft has officially ended mainstream support for SQL 2000, and will end extended support in the near future. This leaves your client (and you) without any updates from Microsoft in the case of security patches, bugs, or anything else you discover. I'd strongly encourage them ot upgrade to a newer version (at least 2005), though I suspect you've already been down that road.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文