资源描述
天津市神州商龙科技有限公司 常见问题答疑
常见问题答疑
之
数
据
库
部
分
目 录
第一部分 数据库安装与设置 3
1.1问:windows xp操作系统应该安装什么版本的sql server 2000? 3
1.2问:sql server 2000安装时选择哪种身份验证模式? 3
1.3问:如何用sql 语句清除Microsoft sql server 2000数据库的日志? 3
1.4问:如何修改数据库的空间大小? 3
1.5问:客户端计算机是否需要安装Sql server及安装sql server 2000 sp4补丁? 4
1.6问:在Sql server 2000如何备份数据库? 4
1.7问:在Sql server 2000如何还原数据库? 6
1.8问:在Sql server 2000如何附加数据库? 7
1.9问:在Sql server 2000如何收缩数据库? 8
1.10问:在Sql server 2000如何分离数据库? 9
1.11问:在Sql server 2000数据库命名有何要求? 9
第二部分 常用sql 语法与示例 10
2.1 查询语句语法 10
2.1.1示例: 10
2.2 更新语句语法 10
2.2.1示例 10
2.3清除表语法 11
2.3.1示例 11
2.4删除表语法 11
2.4.1示例 11
2.5插入语法 11
2.5.1示例 11
2.6同库或非同库之间表与表之间数据导入 11
2.6.1示例 11
第三部分 数据库工具 11
3.1 数据库--置疑sql处理办法 12
3.2 修复坏的数据库sql处理办法 12
第一部分 数据库安装与设置
1.1问:windows xp操作系统应该安装什么版本的sql server 2000?
答:windows xp操作系统应该安装sql server 2000 personal个人版本。如果操作系统为2000或2003时可安装sql server 2000标准版或个业版均可。
1.2问:sql server 2000安装时选择哪种身份验证模式?
答:身份验证模式为“混合模式”,密码为空。(建议不设密码)
安装时最好不要设置“SA”的密码,否则可能导制软件连不上数据库
1.3问:如何用sql 语句清除Microsoft sql server 2000数据库的日志?
答:方法是打开 sql server的"查询分析器"功能执行下面的sql
例如:清除数据库名tcgem的日志
dump transaction tcgem with no_log
1.4问:如何修改数据库的空间大小?
答:例如:修改tcgem数据库为例,操作方法:打开Sql 2000企业管理器,选择tcgem数据库点右键“属性”,在“数据库文件和事务日志”两个页面中进行修改空间大小(修改方法如下图所示)。
1.5问:客户端计算机是否需要安装Sql server及安装sql server 2000 sp4补丁?
答:客户端的计算机只需要安装sql server 2000的客户端工具组件即可。
并且需要安装sql server 2000 sp4补丁
1.6问:在Sql server 2000如何备份数据库?
答:例如:备份tcgem数据库为例,操作方法:打开Sql 2000企业管理器,选择tcgem数据库点右键“所有任务——备份数据库”,操作方法:如下图一、二、三,备份成功后,可以到指定的目录下找备份成功的文件名。
(图一)
(图二)
(图三)
1.7问:在Sql server 2000如何还原数据库?
答:例如:还原tcgem数据库为例,操作方法:打开Sql 2000企业管理器,选择tcgem数据库点右键“所有任务——还原数据库”,操作方法:如下图一、二、三、四。
(图一)
(图二)
(图三)
(图四)
1.8问:在Sql server 2000如何附加数据库?
答:例如:附加tcgem数据库名为例:
(图一)
(图二)
1.9问:在Sql server 2000如何收缩数据库?
答:如下图所示,如收缩tcgem数据库:
(图一)
(图二,收缩数据文件)
(图二,收缩事务日文件)
1.10问:在Sql server 2000如何分离数据库?
答:例如:分离tcgem数据库为例,操作方法:打开Sql 2000企业管理器,选择tcgem数据库点右键“所有任务——分离数据库”,点确定即可把数据为分离。注:分离完的数据库,只能用附加数据库的方法,恢复原数据库名。
1.11问:在Sql server 2000数据库命名有何要求?
答:(1)用户自行建立数据库名,不可与系统数据库名相同(如:不可用master等);
(2)不可以用“阿拉伯数字”或 “.”建立用户数据库名(不能识别数据库名称 如:123,tcgem5.6);
(3)可以用英文字母+阿拉伯数字命明用户数据库名称(如:tcgem56, tcgem_56
均可)。
第二部分 常用sql 语法与示例
2.1 查询语句语法
select 字段名1,字段名2,……字段名n from 表名 (条件[where ])
2.1.1示例:
---查询员工档案表(ygda)或菜品档案表(cp)中所有记录
Select * from ygda
Select * from cp
---查询员工档案表(ygda)中ygbh=’001’记录
Select * from ygda where ygbh='001'
---模糊查询,如查询菜品名称中包含’ 果汁’
select * from cp where cpmc like '%果汁%'
--多表关联查询1,如查询出营业流水号=’0101000050’的所有销售菜品的记录.,菜品明细记录存放于pjnr表中,可以用下面两条sql中任意一条查询均可
select * from pjnr where fwls in(select fwls from yypj where yyls='0101000050')
select * from pjnr ,yypj where pjnr.fwls=yypj.fwls and yypj.yyls='0101000050'
--多表关联查询2,例如查询相同时间段营业报表和品项销售报表中,统计的数据不一样,两个报表中统计的有差异流水号。
--例如查询2008-9-18 10:0:0.000 10:0:0.000指企业信息中第一个市别时间
select * from yyls where jssj>='2008-9-18 10:0:0.000' and jssj<'2008-9-18 10:0:0.000' and yyls not in (select DISTINCT(yyls) from yypj where rqsj>='2008-9-18 10:0:0.000' and rqsj<'2008-9-18 10:0:0.000')
--多表关联查询3,例如查询相同时间段营业报表和品项销售报表中分别统计的流水号,可以比对下面两条sql查出的结果核对哪个流水号为另一表中少的。
select * from yyls where yyls.jssj >= '2008-9-18 10:0:0.000' and yyls.jssj < '2008-9-19 10:0:0.000'
select DISTINCT(yyls) from yypj where rqsj>='2008-09-18 10:00:00.000' and rqsj<'2008-09-19 10:00:00.000'
2.2 更新语句语法
update 表名 set 字段名1=值1,set字段名2=值2,…set字段名n=值2
(条件[where ])
2.2.1示例
(1)更新员工档案表(ygda)和菜品档案(cp)表中scbz字段中值,scbz=0为可用,scbz=1为删除
Update ygda set scbz=0
Update cp set scbz=0
(2)把菜品表(cp)中删除的记录,置为可用,scbz=0为可用,scbz=1为删除
Update cp set scbz=0
(3)把所有菜品表(cp)中cpbh原来3位编号,前加上一个’0’,下面两条sql均可
Update cp set cpbh='0'+cpbh
Update cp set cpbh='0'+substring(cpbh,1,3)
(4)把所有菜品表(cp)中cpbh原来10位编号,缩短至6位编号
update cp set cpbh = substring(cpbh,5,6)
---注释:把菜品编号截取为6位长度, substring(cpbh,5,6)中5代表从第5位开始截取,取的长度为6位
2.3清除表语法
delete from表名 (条件[where ])
2.3.1示例
---清除系统日志xtrz表中所有记录
Delete from xtrz
---清除系统日志xtrz表’2008年1月1日之前的数据
Delete from xtrz where sj<'2008-01-01 01:01:01.360'
2.4删除表语法
drop table 表名
2.4.1示例
---删除temptable表
Drop table temptable
注:无特殊情况时,不要用删除表语句
2.5插入语法
INSERT INTO ygda (字段名1, 字段名2,……. 字段名n) VALUES (插入值1, 插入值2,….. 插入值n)
2.5.1示例
---插入到ygda表中编号='988', 姓名='李小丽'个员工记录
INSERT INTO ygda ( ygbh, ygxm, xb, dz, dh, sfzh, sr, zw, bm, ygzj, czmm, scbz, ygkh ) VALUES ( '988', '李小丽', '女', '南开区', '15925113226', '120924197808092121', '1978-8-9 0:0:0.000', '收银员', '收银台', 95, '', 0, '988' )
2.6同库或非同库之间表与表之间数据导入
2.6.1示例
--同库(如tcgem)从一个表(ygda_temp)导入到另一个表中记录(ygda)
insert into ygda select * from ygda_temp
--把tcgembak数据库中员工档案导入到tcgem数据库的员工档案(ygda)表中
insert into tcgem.dbo.ygda select * from tcgembak.dbo.ygda
2.7在表中增加字段
ALTER TABLE 表名 ADD 字段名 类型 null/not null
--厨房传菜增加拼菜员主键
Alter table pjnr add pcyzj numeric(8,0) null
第三部分 数据库工具
3.1 数据库--置疑sql处理办法
metadb.mdf指被置疑的mdf备份,操作步骤:
(1)建一个新库名为:newdb
(2)停掉数据库服务。删除新库的log文件,将metadb.mdf覆盖newdb.mdf
(3)启动数据库服务器。数据库newdb的状态为“置疑”
(4)打开sql server 查询分析器,逐条执行下面sql. 允许对系统目录直接修改
use master
go
sp_configure 'allow updates',1
go
reconfigure with override
go
update sysdatabases set status=-32768 where dbid=DB_ID('newdb')
(5)重建log
dbcc rebuild_log('newdb','C:\Program Files\Microsoft SQL Server\MSSQL\Data\newdb_log.ldf')
(6)dbcc检查
dbcc checkdb('newdb')
(7)设置数据库为正常状态
sp_dboption 'newdb','dbo use only','false'
(8)不允许对系统目录直接修改
sp_configure 'allow updates',0
go
reconfigure with override
go
3.2 修复坏的数据库sql处理办法
----退出所有软件模块及消息服务程序
----先把sql server的服务停止,然后再重新启动,最后只打开查询分析器
----把把下面的sql 语句逐句执行,执行完一句返回结果后,再执行一下句,不要全部执行,
use master
go
--------下面的第一个参数都是有问题数据库的名称(如:餐饮数据库名为tcgem)
--------设置为单用户模式
sp_dboption 'tcgem','single user','true'
go
--------------------------------------
DBCC CHECKDB('tcgem',REPAIR_ALLOW_DATA_LOSS)
go
--------设置回多用户模式
sp_dboption 'tcgem','single user','false'
go
网址: 传真:022-23708900 总机电话:022-23708800
技术支持分机号码:800,801,802,807,809,815,812,813 Email:shanglong@
第 12 页 共 12 页
展开阅读全文