微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > SQL Server 2005 Express:超越基础

SQL Server 2005 Express:超越基础

时间:08-18 来源:TechTarget 点击:
在我之前的SQL Server 2005 Express Edition文章里,我谈了一点关于Express版本被设计来做什么和它怎样作为一个利用SQL Server能力的轻量级方式使SQL Server Desktop Engine(SQL Server桌面引擎)黯然失色。这次我要谈一些可以用SQL Express 2005做的更高级的事情:在客户应用中把它作为一个数据引擎来使用,保护SQL Express实例,将SQL Express升级为SQL Server的一个完全实例。

  如果SQL Server的完全版本太多了,或者如果你将采用一种不使用限制时间的产品版本的方式,那么SQL Express 2005是个很好的选择。尽管它是SQL Server的一个缩小版,但使用SQL Express 2005可以提供给数据库管理员高级性能。

  包装引擎

  设计SQL Server 2005 Express Edition来做的许多事情中的一件是作为一个数据引擎为第三方应用提供服务。SQL Express可以用在你自己写的应用中并将它重新打包。这样别人谁想使用这个程序就可以简单地安装整个东西,并随之获得一个SQL Express实例。

  微软的建议之一是只要有条件,就重用一个给定的SQL Express实例。如果你有两个程序使用SQL Express(即使它们是由不同的作者编写的!),在有条件的情况下重用一个给定的SQL Express实例是很有用的,所以在同一个机器上没有安装产品的多个版本。

  微软提供了一个函数叫做用户实例,它允许一个已存在的SQL Express安装被再利用,以便你的项目使用的数据库可以附加到一个先前运行的SQL Express安装上。它可以独立于其他任何数据库。为了达到这个目的,当你为你的应用创建安装时,你应该查看是否已安装了一个SQL Express实例,并提供给用户对其附加应用数据库的选项。如果在这台机器上没有SQL Express实例,那么给他们在那立即安装的选项。(这也有助于避免实例的命名空间冲突问题。)

  微软在Embedding SQL Server Express into Custom Applications文章里详细谈论了怎样实现这一切。微软在这篇文章里谈到的另一件事是怎样使用.NET Framework 2.0"ClickOnce"技术来创建一个应用,该应用可以运行在应用服务器--无论是在局域网还是Web上--并且不需要下载到客户端机器上运行。(注意,这要求.NET Framework 2.0和一个Server Express实例运行于本地机器上工作。)

  不要忘记SQL 2005 Express Edition的安全性

  一个工作于SQL Server完全版本的管理员显然要关心安全性,但是对于SQL Express怎么样呢?令人惊讶的,答案是"是的":你至少需要考虑一下SQL Express的安全问题,尽管很显然的在范围和深度方面不同于SQL Server。

  要考虑的第一个问题是SA帐户和密码--用于任何给定的SQL Express 实例的master帐户。最简单的解决方案是将SQL Express简单的配置为使用Windows验证模式,这样用户需要提供在那个系统上的管理凭证以便获得对这个数据库的管理访问权限。这不意味着使用数据库的每个人--例如,有的人使用的应用会访问这个数据库--都要成为管理员。使你的SA密码尽可能的安全。总是必须要为给定的SQL Express实例创建SA密码,并且你使用的SQL Express所在的域提供的任何关于加强密码的规则将会强制加在SA密码上。

  另一个要考虑的安全问题是当建立数据库连接时使用哪个网络协议。例如,如果你在除了你自己的机器以外的任何地方都不会使用数据库,你可以安全地关闭使用任何协议,除了Named Pipes(命名管道)。如果你坚持使用TCP/IP协议作为连接协议,那么确保除非是授权的客户端,否则无法访问系统。

  这些是两个最大的问题,但是微软有一些关于保护SQL Server 2005 Express Edition的更多的资料,旨在应用开发人员和人们使用SQL Express作为一个数据库产品。

  从SQL Server Express Edition移植到SQL Server 2005

  在某些方面你可能觉得SQL Express就像它的便利性一样,并不是SQL Server完全版本的替代。可能你需要SQL Server的高级分析和报表工具。可能2GB的数据库限制使你设计得很痛苦。无论哪种方式,你需要转为SQL Server完全版本,并且你想要在不丢失目前用在SQL Express上的任何东西的情况下完成转换。

  好消息是你可以相当透明的从SQL Express转换为完全SQL Server。有两个方法做这个转换,但是最简单的方法是备份SQL Express上的所要转换的数据库,安装SQL Server的完全版本,并把数据库恢复到那里。这两个程序采用同样的数据库备份格式,并且这两个可以在同一台机器上非常可靠地并行运行。然而,牢记这两个SQL Server的实例--Express和完全版本--配置应该相同。

  还要注意,如果你在不同列使用混合排序规则时出现了问题,你应该在将数据库备份恢复到产品中之前解决这些问题。对排序规则的确切选择当然完全由你和你的需求决定;最重要的事情是它是一致的,否则你可能发现自己完全陷入问题中了(查询错误等等)。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top