2009-06-01 117 views
1

我使用Access 97数据库。它有很多形式。数据膨胀。我必须快速升级它。我买了SQL Server 2005企业版。SQL Server 2005 Access的链接

我想使用SQL Server作为数据持有者。我会定期使用Access表单。我只想将数据导出到sql服务器。

是否可以使用“链接”数据存储?

回答

3

虽然我HLGEMs第一款同意我恭敬地HLGEMs第二段不同意。你需要知道的有些怪癖我有点无知。如将布尔值字段更改为LittleInt。但除此之外,重新创建数据库模式的工作非常繁琐。而且容易出错,比如缺少索引或关系。

有由比升迁向导尤其是Access 97版本好很多的SQL Server组的工具。 SQL Server迁移助手访问(SSMA接入) http://www.microsoft.com/sql/solutions/migration/access/default.mspx

当你发现这些怪癖可以更改脚本来重新创建适当的更改数据库。

+0

你可能是对的,但SSMA很烂。发生错误对象引用未设置为对象实例 – Jack 2009-06-03 14:50:35

+0

这可能是因为数据库采用Access 97格式。尝试将其转换为Access 2000格式。但我只是猜测。 – 2009-06-04 19:03:01

0

您可以将SQL Server表添加为链接表。然后,您将希望开始查看最慢的查询并将其转换为存储的特效。

不要使用升级向导在Access中创建SQL Server表becasue它会使糟糕的选择的数据类型。自己动手创建脚本,选择最佳数据类型。这样做需要更长的时间,但是您的数据库性能会更好,并且您将更好地了解如何在SQL Server中执行操作。你应该立即开始,学习通过脚本完成所有的事情,而不是从GUI开始。最好从一开始就学习SQL Server的良好习惯。

1

我同意Tony Toews(你应该信任他,他是一个Access专家):使用SSMA来帮助你将数据移动到SQL Server,它比集成在Access中的升迁向导更加完整无论如何都不适合升迁到SQL Server 2008)。

你必须警惕一些警告,但;我做了一个blog post关于你应该检查的一些事情。
问题是,如果原始Access数据库的设计没有太多依赖Access允许的自由(例如表名和列名中的奇怪字符),那么这个过程将会容易得多。
要特别注意所有的警告和SSMA报告的错误,他们是在帮助你专注于必须解决问题非常有用。

关于性能,迁移到SQL Server不一定会让事情变得更快。
在一些地区,它实际上是比较慢,有时很慢得多:
访问是相当不错的,在优化数据访问的某些形式,但一旦其覆盖面之外的数据库的移动,它不拥有尽可能多的控制。
虽然大部分事情都能正常工作。

你可能会改写一些疑问,也许它们移动的SQL Server上的意见,而不是让他们在你访问的应用程序。
使用%而不是*作为通配符,在使用LIKEWHERE子句中使用LIKE这样的小东西也会导致奇怪的问题,如查询不返回任何记录。

顺便说一句,我会发布一个非常好的资源托尼在他自己的网站上有关SQL升迁:My random thoughts on SQL Server Upsizing from Microsoft Access

还有事情利用访问SQL Server时要考虑好和详细阅读:Optimizing Microsoft Office Access Applications Linked to SQL Server