请告诉我SQL SERVER7.0的新特点(100分)

  • 主题发起人 主题发起人 何晶
  • 开始时间 开始时间

何晶

Unregistered / Unconfirmed
GUEST, unregistred user!
听说SQL SERVER7.0有很大提高,请教各位大侠
 
抄:
以前一直用MS SQL Server 6.5,应用于企业局域网,做了不少
基于NT和MS SQL Server的应用程序,但在实际应用中发现,不少用
户并不想一步到位建立网络应用,而只是想简单地使用一些基本功能,
例单机版的仓库管理等等。如果使用delphi自带的paradox数据库,
自然用不了触发器等功能,因而必须对程序做大量的修改。
在SQL Server 7.0出来之前,曾试过将SQL Server 6.5的程序移到
Interbase数据库或Sbyse的Sql Anywhere,但终因两者的SQL语句均和MS
Sql Server 不完全一致而放弃。直到MS SQL Server 7.0出现,才实现
了从网络到单机几乎不做修改的移植。
SQL Server 7.0 在Windows NT与Win95上具有同样的特征,使在两
个平台上移植数据库应用程序更加容易,另外,它使得数据库的维护更
加简单,如它取消了6.5中设备的概念,建数据库前不必再建设备,内存
也不用手工再配置等等。
7.0用得不多,但碰到一个问题:我在6.5里可以使用go to 语句,在
7.0自身的环境里也可以用,但一旦用了query控件(里面是创建带go to
的存储过程)时,就不能用了,系统会报错,这是怎么回事?
还有一个问题:据microsoft说,sql server 7.0只需4MB内存和1.5M
磁盘空间,就能具备完全的7.0标准版功能,我没试通,各位能试一下吗?
最后说一句:7.0改了备份及恢复的sql语句,如果将6.5升级到7.0,备
份恢复的程序可能要重写。

TO CJ:实在是没有心得好写,只是问了两个问题在这里。:)
权当抛砖引玉,请各位能提供一些自己的使用经验,共同进步,:)


来自:CJ
时间:99-4-1 00:03:12
ID:103707
好好,看了再说


我有一张单CD的 SQL Server 7.0,注明是绝对正式版。效果可以。




来自:CJ
时间:99-4-2 23:11:44
ID:104005
初探MSSQL 7.0

零、前言
CJ 在遭受使用 ORACLE 中的重大失败后,不禁又回到了 MS 的产品。
也许像 CJ 这样的人只能用用 MS 的东东吧,这几天,CJ 想去学 VB 了:(
今天天气好,装了 MS SQL SERVER 7来玩玩,过几天就有可能去买正
版的了。所以前些日子买的 D 版若是不用就没机会用了:)以下是 CJ 用
了一个小时后的感受,希望大家不要见笑。
一、总的印象
MSSQL 7给我总的印象是:
1、界面“标准”了。也许有的甚至没有 6.5 的好看,如SERVICE
MANAGER,但是全部应用了 OFFICE 97 的界面。
2、管理方便了。管理采用了BROWSER方式,增加了大量的向导。的确
MS 的东西越来越“傻瓜”化了,不知道这样用下去 CJ 会不会变傻瓜:)
3、桌面化了。竟然可以简单的用DESKTOP版本,而且对资源的要求
“似乎”不高,“似乎”在性能上有所增强。。速度飞快。(我是在一台
PII 350/128M RAM的机器上装的:))
4、越来越霸道了。集成了所有可能集成的MS东东。
二、安装
插入CD后AUTORUN程序自动运行运行,安装界面十分友好,可以方便的
选择需要的组件和有关文档。在安装前,首先需要安装INTERNET EXPLORER
4.01 SP1(WINDOWS 98已经有)和DCOM(WINDOWS NT 4和WINDOWS 98已经安
装了DCOM)。可以选择SQL SERVER 7 PREREQUEST,来安装它们(不知何故,
MS一直捆绑的IE未包括在内)数次重启后,可以安装SQL SERVER 7
COMPONENTS。由于我在一台WINDOWS 98机器上安装,所以安装了DESKTOP
VERSION。这次MS使用 INSTALL SHEILDER 做 SQL SERVER 7.0 的安装向导,
自然是常见的标准安装界面。比 6.5 的安装界面顺眼多了。安装完毕未提示
重启,令CJ惊讶不已。
注:第一次安装时,我边安装,边读BOOK ONLINE,导致安装程序无法复
制文件,自动退出连RETRY的机会都没给我骝下:(
三、Enterprise Manager
第一件事就是进入Enterprise,然而给我的第一感觉是:“啊!6.5白学
了!”,这应该不是夸张。作为曾被MS认证的MSSQL管理员,竟然以为自己开
错了程序项!Microsoft竟然把IE集成到了MSSQL中!左边的TREEVIEW好象变
化不大,但是右边变成了纯HTML!管理之方便自然不用提了这样的制作方式,
作为程序员的我们是否可以借鉴呢?建立数据库不用建立设备了,这道不错,
省事多了。BACKUP/RESTORE好象也很方便,没以前麻烦。(等一下,到现在为
止,我还找不到,如何让数据库进入单用户独占状态,哪位大侠帮忙?)
四、向导
本来,MS 的向导是出了名的,没什么希奇,可是这次不同了,MS 专门设
立了一个向导工具图标且把向导分为(Database,Data Transformation
Services,Management,Replication)四大类。共二十几个向导,可谓是别出心裁
 
???
SQL SERVER 7的新特点:
1。 增强的数据类型--- 增加了数个OLE数据类型
2。 改进了数据存储方式(大概脱胎于 ACCESS的数据存储方式)
3。 加快了查询速度(微软报告)
4。 支持行级锁定
5。 WIN98,WIN95上安装后可作为 DESKTOP版和 SYBASE SQL ANYWHERE竞争
6。 加强的 SQL 语言, 比如支持 SELECT TOP 10 FROM TABLE1
 
总的来说,SQL 7.0在内部实现上有很大的改进,在功能上有较大的增强,但基本上
与SQL 6.5兼容。
下面对7。0中的改进与新特征作些介绍:
1.系统可安装在Win9X和NT上
2。系统中,不再有“数据设备Device”概念,“数据库Database"的大小可不用
指定,将随着数据量的增加而自动增大。相应的SQL语句语法也有相应的变化,但是6。5
中的相应SQL语句在7。0中可正常执行(MS特意考虑了该兼容问题),但注意不要
直接使用系统表来查找系统信息。
3。完全的行级锁和死锁避免机制,通常情况下系统使用行级锁,
(根据一定的算法有锁的升级机制);索引的存储与使用也有了较大的改进;
查询优化和并行处理也有改进。
4。 数据页:2K-->8K
char(Varchar):256-->8000 bytes
Table : 250-->1024 columns
Query: 16-->256 tables
5。增加全文检索功能
6。Object命名可指定服务器
[[[server_name.][database_name].][owner_name].]object_name
7。数据类型:
char and varchar 长度增加到8000
Unicode类型支持see nchar and nvarchar and ntext.
uniqueidentifier 存储GUID
cursor 类型
8。删除和修改Table的列(限制较多,内部实现是创建新表)
9。新函数:Day、Year、NCHAR、REPLACE、SUBSTRING(可用于TEXT类型)
10。每个trigger动作可定义多个trigger,trigger可嵌套
11。系统表有较大变化,存储过程、SQL语句有相应的变化(但与原来兼容)
12。系统自带工具使用ODBC(ADO与OLE DB),并建议使用ODBC,6。5使用DBlibaray;并行处理、OLAP、Distributed Queries、Replication、Security、Unicode等都有较大的增强。(与编程关系不大,主要是系统管理与配置)。
兼容问题:
1。数值精度:
7。0中从内部保证了数值的精度,(如:6。5中的现象:存进0.6,取出时变成
0.59,这种现象在7。0中可避免。建议:6。5中避免该现象可将数据定义的
精度P略放大)
6。5中数值太小将引起“浮点数下溢”错误,7。0不会,并可返回0.0
ROUND(numeric_expression, length[, function])中,numeric_expression为integer,
float, and money 类型时,当length为负数,并等于整数部分位数时,结果
返回0;而7。0中进行四舍五入计算。如
declare @x float
select @x = 812.34
SELECT ROUND(@x,3)
7。0中返回1000.0;6。5中返回0.0
2。数据转换:
money or smallmoney 转 char or varchar
用CONVERT将char or varchar 转 smallint,
tinyint, int, float, numeric, or decimal, 6。5中返回0. 7。0中
则为错误信息。
3。Select 无 Order by时:
6。5中返回值有一定顺序(有GROUP BY按GROUP BY排序)
7。0中无顺序(须指定 Order by)

4。''(空串)
6。5中解释为Null或一个空格的字符串
7。0中解释为空字符串(长度为0)
相关的字符串函数相应的影响。
SELECT RTRIM("")
6。5:(n 7。0: ""
SELECT DATALENGTH(RTRIM(""))
6。5: (null) 7。0: 0
5。CURSOR_CLOSE_ON_COMMIT was set OFF,
6。5中ROLLBACK 不关闭游标cursors
7。0中ROLLBACK 关闭游标
6。7。0中一个表的事件可有多个trigger
trigger可嵌套
7。sp_开头的存储过程
6。5中先在当前数据库中找,后到Master中
7。0中先在Master找,后到当前数据库中

8。UPDATE
算术溢出时:6。5设为NUll或跳过
7。0中断(No rows are updated)
9。UPDATETEXT
6。5中须先初始化为Null
7。0中不必
10。Views Updateable
6。5中View是一个表产生的时才可修改
7。0中可是多个表
11。DISK INIT 、DISK RESIZE
DISK INIT: 与Create Database结合使用
可指定数据库文件名(仍可使用,不报错)。
DISK RESIZE:7。0仍可使用(不报错),但无用处,以后可能不再支持。
12。全局变量
7。0中全局变量,统一以函数形式存在和使用(实际上与原来的使用
方法一样)
13。外部连接*=,=*与LEFT OUTER JOIN 、RIGHT OUTER JOIN
现在两种形式都支持,以后只支持后一种(建议使用后一种,
这是SQL-92-standard)
14。6。5中isql/w 使用DB-Library
7。0中SQL Server Query Analyzer 使用ODBC
7。0中ODBC自动设置ANSI to OEM,将导致乱吗
 
多人接受答案了。
 
后退
顶部