从MS Access编程移至SQL Server时的主要注意事项


8

我是100%自学的MS Access程序员(我的主要工作是编程),我现在正在建立更大的数据库;仍然使用MS Access作为UI,但使用SQL Server存储所有数据并完成更多的“工作”。

本质上,我的问题是;使用Access时,我可能不需要了解或需要了解哪些SQL Server主题?

不想让您告诉我如何做任何事情,更不要说您认为我应该进行研究的最重要的事情-有很多主题,而且涉及很多细节,不想长时间找自己沿着一条不太有价值的路走下去...

脑力激荡:

  • 维护:最重要的是什么(检查数据库,缩减数据库,更新统计信息,重建等)
  • 索引-我不太了解,是否有一本好书/博客等可以教我基础知识?
  • 我错过的任何其他事情(可能很多,正如我所说的,我是SQL Server的新手...)

如果有帮助,我可以为中型零售商工作,而我主要从事的数据库工作包括

  • 报告平台(从主系统汇总销售/收据/库存等,并提供快速报告)
  • 第三方与我们的商店通过寄存器进行存储之间的协调工具(从第三方导入数据并交叉引用交易日志)
  • 存储所有与促销有关的数据;产品,价格,预测,实际结果等

为什么选择SQl Server 2005?它有点旧,后面有3个主要版本。
玛丽安

这是我们目前在我的工作中安装的,由于我是唯一真正使用它的人,因此我必须证明在升级之前可以为它添加什么价值。
西蒙1979年

@ Simon1979的价值之一就是拥有简单的升级途径。在SQL Server 2012中,可以从SQL Server 2005还原数据库备份,但不能从早期版本(SQL Server 2000)还原。也许是SQL Server的下一个版本将不会允许您从SQL Server 2005中恢复数据库的备份和恢复备份是最简单的方法之一,从不同的服务器传输数据
马克斯

Answers:


4

当您了解有关SQL Server的更多信息时,您会发现(令人高兴的)在数据库级别的SQL Server中可以执行的许多操作,这些操作以前是您在应用程序级别的Access中必须执行的。一些示例包括:

触发器:每当表上有INSERT / UPDATE / DELETE时,在表级定义的使东西自动发生的过程。

存储过程:与Access宏有点相似,Sub在Access中构建的一些小VBA过程也可以做“有用的东西”,只是在SQL Server中它们是数据库本身的一部分。因此,您只需编写一次存储过程(SP)即可(几乎)在任何地方使用它,即使在共享同一数据库的应用程序中也是如此。

函数:这些函数Function您在Access中编写的用于合并到查询中的小VBA相似,只是SQL Server函数(如SP)与数据库的绑定更紧密。SQL Server函数也可以是标量值(返回单个标量值)或表值(返回行集)。

有趣的SQL技巧:很多 SQL的未在支持Access(喷气/ ACE)SQL的SQL Server提供的功能。在我入门时,“通用表表达式”(CTE)和“ RANKand PARTITION”是给我“'aha'时刻”的那些东西。

我可以继续,但是这些是我记得很早就发现的东西,这些东西使我“在SQL Server中思考”。

不要误会我的意思,我仍然认为正确使用Access会是一个很好的工具,应该认真考虑Access作为

  • 针对SQL Server后端构建(或仅模拟)前端应用程序,以及

  • 执行数据清理,创建临时查询和报告,并对SQL Server数据执行类似的任务。

最后,即使你将工作与SQL Server 2005我强烈建议你的SQL Server 2008(或2012)快递的副本学习,因为在SQL Server Management Studio中(即自动完成和IDE增强的主要交互式调试)。请注意您可能会遇到的任何较新的(2008+)功能,并且不要依赖它们作为生产代码。(或者,将它们用作要点的要点,以从SQL Server 2005升级...。)


4

在线或通过书籍有很多东西可以学习。以下是一些入门指南(非常不完整的列表,但应该让您忙一阵子):

论坛

网志

图书


3

我已经使用SQL Server几年了(在访问之前),我建议以下内容。

  1. 备份和还原-您不再需要获取文件副本来备份数据库,具体取决于您的需要(大小,是否需要最新的还原等),可以备份和还原数据库。没有数据,您什么都不是!
  2. 观看Brent Ozar的视频:http : //www.youtube.com/brentozar-这个家伙是SQL Server的传奇人物。它的目标更多是技术方面,但也有一些不错的初学者视频。我从他们那里学到了很多(即使主题很枯燥!)
  3. 维护-我猜想,如果到目前为止Access仍然可以正常运行,则需求是最小的:除非您有大量处理,大量数据(10GB +)或复杂的查询,否则您可以很愉快地运行SQL Server,而无需进行几个月的维护就不会出现问题。尽管您有很多记录,但索引重新索引/重建(有所不同)可能是您要使用的第一件事。
  4. 我真的推荐了SQL Server Central上的Stairways http://www.sqlservercentral.com/stairway/-它们是对索引类型,数据类型的很好的介绍(它们与Access有点不同!)
  5. 如果您担心自己的数据库不是最佳状态,请尝试使用Brent Ozar的sp_blitz存储过程(为此,请使用Google-我需要更多信誉才能发布额外的链接!)-它会检查大量数据库统计信息/参数,并提供按优先顺序排列的网站链接需要做什么,以提供更深入的讨论。

我最近开始使用SQL Server Reporting,但是设置起来可能会很麻烦-对于大多数业务案例而言,让Excel从SQL Server存储过程中检索数据通常对于管理人员来说更为灵活。

希望这会有所帮助,欢迎您:)


2

对于开始使用SQL Server的任何人,我建议您先开始学习基本的构建基块,然后再学习DBA类型的东西。

  1. 不同SQL对象的基本类型和功能(表,键,视图,存储过程,用户定义的函数,触发器)
  2. 编写基本的T-SQL,DML和DDL

一旦掌握了这些知识,并且无需使用MS Access就可以在SQL Server上工作,主要使用类型T-SQL,那么您可以继续学习更多有关基本DBA类型任务的信息,例如:

  1. 备份与还原

  2. 保养

  3. 管理

Microsoft的MSDN和学习站点将为您提供非常有用的课程和教程。我知道从哪里开始并不总是很清楚,但是如果您大致遵循上述清单,那么您应该立即进行SQL处理。

注意:虽然大多数SQL 2005 Microsoft认证课程可能已经停产,但是您仍然可以使用SQL 2008 R2的可用资源。我可能会这么说,但SQL 2008 R2与SQL 2005足够相似(在您要学习的知识范围内),因此您可以学习2008 R2并仍然可以。

最后:欢迎来到dba.stackexchange.com和SQL Server


2

我目前的处境与您和我的朋友完全一样,我可以完全理解。因此,我将推荐一本书,该书解决了我在移入SQL Server方面遇到的许多问题。

本书:Mary Chipman和Any Baron撰写的Microsoft Access SQL Server开发指南

这本书解释了从安全性优点到用户权限等方面您需要了解的所有知识,并且最重要的是,它以一种非常易读和直接的方式进行了解释。

本书可能有更新的版本,但这是我使用的最新版本,完全可以满足我的所有需求!

希望它能对您有所帮助。

祝好运!


2

要回答您的问题-

维护:最重要的是什么(检查数据库,缩减数据库,更新统计信息,重建等)

最好的维护解决方案之一是SQL Server备份,完整性检查以及索引和统计信息维护。 只需阅读并部署即可。经过SQLServer社区的广泛测试和使用。

索引-我不太了解,是否有一本好书/博客等可以教我基础知识?

SQL Server索引的阶梯 -从基础到高级的出色系列。

我错过的任何其他事情(可能很多,正如我所说的,我是SQL Server的新手...)

SQL Server中不仅有维护和索引功能,还有很多其他功能。我的建议是阅读以下网站发布的任何内容...(它们是最好的!)

SQLSkills.com

brentozar.com

SQLServerCentral.com

通过定期使用SQLServer,您将需要在灾难恢复,性能调整,高可用性,数据库损坏等不同领域获得更多的知识。

注意:网络上还有大量信息,还有出色的建议。因此,我的建议是从每天与SQLServer一起工作的人们那里接受教育。

最后,请从SQLSkills中查看此培训-这是提供的最好的培训之一。我个人已经接受IE1和IE2并相信我。.您会感到与众不同!


0

您可以在SQL Server上研究的一件非常有趣的事情是“ 查询执行计划”,以及当查询执行计划不是您期望的时可以使用的SQL查询提示

查询执行计划是一个高级主题,但是它可以帮助您了解SQL Server 的性能

自然,您不应该滥用Query Hint,根据我的经验,当查询无法达到预期的性能时,它们是最后的选择。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.