1根本的区别是它们遵循的基本原则 \x0d\二者所遵循的基本原则是它们的主要区别:开放vs保守。SQL
服务器的狭隘的,保守的存储引擎与MySQL服务器的可扩展,开放的存储引擎绝然不同。虽然你可以使用SQL服务器的Sybase引擎,但MySQL能够提供更多种的选择,如MyISAM, Heap, InnoDB, and Berkeley DB。MySQL不完全支持陌生的关键词,所以它比SQL服务器要少一些相关的
数据库。同时,MySQL也缺乏一些存储程序的功能,比如MyISAM引擎联支持交换功能。 \x0d\2性能:先进的MySQL \x0d\纯粹就性能而言,MySQL是相当出色的,因为它包含一个缺省桌面格式MyISAM。MyISAM 数据库与磁盘非常地兼容而不占用过多的CPU和内存。MySQL可以运行于Windows系统而不会发生冲突,在UNIX或类似UNIX系统上运行则更好。你还可以通过使用64位处理器来获取额外的一些性能。因为MySQL在内部里很多时候都使用64位的整数处理。Yahoo!商业网站就使用MySQL作为后台数据库。 \x0d\\x0d\当提及软件的性能,SQL服务器的稳定性要比它的竞争对手强很多。但是,这些特性也要付出代价的。比如,必须增加额外复杂 *** 作,磁盘存储,内存损耗等等。如果你的硬件和软件不能充分支持SQL服务器,我建议你最好选择其他如DBMS数据库,因为这样你会得到更好的结果。 \x0d\3发行费用:MySQL不全是免费,但很便宜 \x0d\当提及发行的费用,这两个产品采用两种绝然不同的决策。对于SQL服务器,获取一个免费的开发费用最常的方式是购买微软的Office或者Visual Studio的费用。但是,如果你想用于商业产品的开发,你必须还要购买SQL Server Standard Edition。学校或非赢利的企业可以不考虑这一附加的费用。 \x0d\4安全功能 \x0d\\x0d\MySQL有一个用于改变数据的二进制日志。因为它是二进制,这一日志能够快速地从主机上复制数据到客户机上。即使服务器崩溃,这一二进制日志也会保持完整,而且复制的部分也不会受到损坏。 \x0d\\x0d\在SQL服务器中,你也可以记录SQL的有关查询,但这需要付出很高的代价。 \x0d\\x0d\安全性 \x0d\这两个产品都有自己完整的安全机制。只要你遵循这些安全机制,一般程序都不会出现什么问题。这两者都使用缺省的IP端口,但是有时候很不幸,这些IP也会被一些黑客闯入。当然,你也可以自己设置这些IP端口。 \x0d\\x0d\恢复性:先进的SQL服务器 \x0d\恢复性也是MySQL的一个特点,这主要表现在MyISAM配置中。这种方式有它固有的缺欠,如果你不慎损坏数据库,结果可能会导致所有的数据丢失。然而,对于SQL服务器而言就表现得很稳键。SQL服务器能够时刻监测数据交换点并能够把数据库损坏的过程保存下来。\x0d\供你参考,祝你好运!!!有可能的非法关机或断电造成master数据库损坏可以先备份本地的master数据库和日志文件(mastermdf,mastlogldf),在安装目录Microsoft SQL Server\MSSQL\Data\下面,从其它装有SQL数据库的电脑拷贝这两个文件过来,看能不能启动如果能启动,再用attach databaser把你的数据库加进来在我们关于SQL服务器安全系列的这文章里 我们的目标是向你提供安全安装SQL服务器所需要的工具和信心 这样的话 你有价值的数据就会受到保护 避免无意或者有意的破坏或者窃取 在本文里 我们会深入一些基础的概念 在保护数据库安全的时候 你需要利用下面这些概念 登录
用户 角色 以及组 确定谁在请求访问数据或者SQL服务器里其他信息等看上去很简单的过程 都需要用到所有这些概念
登录 登录规定了哪些用户能够连接到安装好的SQL服务器上——这不是某个特定的数据库 而是而是整个服务器 登录有两种不同的形式 Windows集成的登录 它会授权特定的Windows用户或者组使用它们的Windows信任书进行连接 SQL服务器登录 它会授权用户使用由SQL服务器保存的用户名和密码进行连接
你应该使用哪一种? Windows集成登录肯定要比SQL服务器登录更加高效和更方便 因为用户只需要登录一次——在网络这一层 单独登录到服务器是没有必要的 因为SQL服务器会自动地处理(在后台)Windows登录 从而允许到服务器的访问 只有在服务器运行在Windows NT或者 上的时候 对Windows登录的支持才有效 安装在Windows 上的服务器必须要依赖SQL服务器登录 如果你正在运行Windows 而且最终需要支持原有的应用程序 那么就要记住 SQL服务器登录只有在混合模式下才可用
设计上的考虑 在设计自己数据库的时候 你需要考虑登录的方法——而且要在你真正开始保证最终产品的安全之前 你应该知道服务器使用的是哪种授权方式 那些还在Window 上使用服务器的人可能现在就要考虑升级 如果安全是一个很重要的问题的话 那样的话 他们就可以使用Windows集成的安全(策略) 另外一个设计问题是知道谁拥有访问权 他们能够访问什么数据 以及他们是否能够对对象和数据进行更改 你不用真的列出其名字 你只需要利用工具有效地帮助用户就行了 最后 你应该使用系统的存储过程来管理安全 SQL服务器提供了两种存储过程 用于登录的管理 ◆sp_addlogi——在使用SQL服务器验证保护你服务器安全的时候要使用这个存储过程 具体的说 这个存储过程会创建一个新的SQL服务器登录 它允许用户使用SQL服务器验证连接到SQL服务器的实例上 ◆sp_grantlogin——这个存储过程允许Windows 的用户或者组帐号使用Windows验证连接到微软的SQL服务器上 只有sysadmin或者securityadmin固有服务器角色的成员能够执行这两个存储过程
什么是系统存储过程? 系统存储过程是一个内置的存储过程 它能够帮助你管理服务器 你可以在MSDN库里找到一长串的系统存储过程 SQL服务器文献在线囊括了每个系统存储过程的所有句法细节和使用示例
用户 登录属于服务器 而用户则属于数据库 用户ID会识别特定数据库的特定用户 而且 用户对于数据库来说是专门的——也就是说 Northwind数据库里Fred这个用户同公共数据库里Fred那个用户是不同的 尽管这两个Fred可能和同一个登录相关联 当你在数据库里创建一个用户的时候 你就将一个特定的登录同这个用户关联起来了 对于这个数据库而言 登录具有这个用户的权限 尽管登录所用的ID不需要和用户ID相同 但是在通常情况下 如果你保持这样的惯例 那么事情就会更少让人糊涂 如果登录在数据库里没有相关联的用户 那么用户能够通过特殊的来宾用户帐号连接到该数据库
特殊用户 所有的用户都不是数据库里的常住人口 而且不能保证用户帐号就是他们自己的 在希望用户临时访问数据库的时候 你可以使用来宾用户帐号 它可以不使用常规的用户帐号而登录访问服务器 来宾用户的登录必须拥有访问数据库的权限 而且数据库必须设有来宾用户帐号 一旦进了数据库 来宾用户会被限制到只能进行来宾用户帐号所指定的活动 但是 来宾用户帐号在一个刚刚创建的数据库里不是缺省就存在的 (数据库的)所有者或者系统管理员必须创建这样一个帐号 除了来宾用户 你还需要考虑数据库的所有者(DBO) 他是创建数据库的用户 数据库的所有者或者系统管理员必须赋予(其他人)权限 才能让他们在数据库创建其它的对象 为了向数据库里添加数据 你要运行sp_grantdbaccess 这个存储过程会在数据库里创建一个和指定登录相对应的用户 只有sysadmin固有服务器角色 db_accessadmin角色 以及db_owner固有服务器角色的成员才能够执行sp_grantdbaccess
角色 角色让你将用户集中到一起 以利于更简单的管理 就像用户一样 角色也是数据库的对象 例如 你可以在自己的采购数据库里定义一个 销售 角色 并让所有的产品所有销售人员都成为这个角色的成员 如果你随后赋予这个 销售 角色许可 那么这些许可会自动地应用于该角色的所有成员上 此外 一个用户可以是多个角色的成员
有三种类型的角色 ◆公共——这个角色会为所有的用户设置缺省的基本许可 所有的用户都会被分配公共角色 ◆服务器——服务器角色适用于整个服务器 ◆数据库——这些角色适用于专门的数据库 服务器和数据库角色都有预先定义的类别 我们把它们列在表格A里 表格 A lishixinzhi/Article/program/SQLServer/201311/22168
评论列表(0条)