菜鸟问:SQLSERVER的日志有什么用啊?

wk9388 2004-11-20 09:34:06
如上所问,如果我想知道某条记录是某时某刻是谁删掉的,有什么办法查出来呢?
什么时候需要用大容量日志模式呢?谢谢!!
...全文
314 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
huazf 2004-12-02
  • 打赏
  • 举报
回复
专业提供SQL SERVER 修复,SQL恢复,误删除表,SQL 数据恢复,SQL SERVER 数据库恢复修复,SQL 找回业务。
QQ:386999
TEL:0576-2454863
davorsuker39 2004-11-25
  • 打赏
  • 举报
回复
事务日志构架
每个 Microsoft® SQL Server™ 2000 数据库都有事务日志,用以记录所有事务和每个事务对数据库所做的修改。记录事务及其修改有三个作用:

恢复个别的事务。
如果应用程序发出 ROLLBACK 语句,或者 SQL Server 检测到错误(例如失去与客户端的通讯),就使用日志记录回滚未完成的事务所做的修改。

SQL Server 启动时恢复所有未完成的事务。
当运行 SQL Server 的服务器发生故障时,数据库可能处于这样的状态:还没有将修改从高速缓冲存储器写入数据文件,在数据文件内有未完成的事务所做的修改。当启动 SQL Server 的复本时,它对每个数据库执行恢复操作。前滚日志中记录的、可能尚未写入数据文件的每个修改。然后回滚在事务日志中找到的每个未完成的事务,以确保数据库的完整性。

将还原的数据库前滚到故障点。
丢失数据库(在没有 RAID 驱动器的服务器上,硬盘驱动器出现故障时可能会出现这种情况)后,可以将数据库还原到故障点。首先还原上一次的完整数据库备份或差异数据库备份,然后将事务日志备份序列还原到故障点。当还原每个日志备份时,SQL Server 重新应用日志中记录的所有修改以前滚所有事务。当最后的日志备份还原后,SQL Server 将使用日志信息回滚到该点未完成的所有事务。

SQL Server 2000 事务日志的特点是:

事务日志不是作为一个表实现,而是作为单独的文件或数据库内的一组文件实现。日志高速缓存与数据页的高速缓冲存储器分开管理,从而使数据库引擎内的编码更简单、更快速和更可靠。


日志记录和页的格式不必遵守数据页的格式。


事务日志可以在几个文件上实现。可以根据需要定义这些文件为自动增长。这样可减少事务日志内空间不足的可能性,同时减少管理开销。


截断日志中未用部分的机制速度快且对事务吞吐量影响最小。
Scraftk 2004-11-25
  • 打赏
  • 举报
回复
楼主大概是想知道,通过日志,可以按他想要的时间点或者其他条件来。还原数据。
或者,从日志中找出某一时刻,数据库被谁操作过,怎样操作的。
这个我也很想知道。
有大虾知道嘛?
xjp6688 2004-11-24
  • 打赏
  • 举报
回复
恢复数据时可以用到!
wk9388 2004-11-24
  • 打赏
  • 举报
回复
我问得有点问题,呵呵,我是想知道,除了可以恢复数据之外,日志还有什么用?
Scraftk 2004-11-24
  • 打赏
  • 举报
回复
帮楼主顶,我也想知道
YiOnLine 2004-11-24
  • 打赏
  • 举报
回复
如果我想知道某条记录是某时某刻是谁删掉的,有什么办法查出来呢?
lxiaoa 2004-11-23
  • 打赏
  • 举报
回复
呵呵。我也和你一样。
feixiangzhimeng 2004-11-22
  • 打赏
  • 举报
回复
确实是太菜了,回去好好看看书。
Andy__Huang 2004-11-22
  • 打赏
  • 举报
回复
通過日志﹗

//什么时候需要用大容量日志模式呢?

數據比較重要的時候﹐要大容量的好點﹐硬盤也要大點
wk9388 2004-11-22
  • 打赏
  • 举报
回复
是不是问得太菜了,没人顶我啊!!
数据库角色和权限 2 通过本实验的学习,使学生能够掌握建立SQL Server数据库用户的方法,理解SQL Server的数据库角色病能够进行角色的定义,理解SQL Server的数据库权限,能够分配权限 二、实验内容 1、理解数据库角色和权限 在SQL Server Management Studio中创建三个登录帐户:log1、log2、log3。 利用第3章建立的LoanDB数据库,用log1登录,能否操作LoanDB数据库?为什么? 将log1、log2、log3映射为LoanDB数据库中的用户。 用log1登录,能否操作LoanDB数据库?为什么? 授予log1、log2、log3具有对BankT、LegalEntityT、LoanT三张表的查询权。 分别用log1、log2、log3登录,对上述三张表执行查询。 授予log1具有对BankT表的插入、删除权限。 用log2登录,对BankT表插入一行记录,会出现什么情况? 用log1登录,对BankT表插入一行记录,会出现什么情况? (10)在LoanDB数据库中建立用户角色:role1,并将log1、log2添加到此角色中。 (11)让log2具有LoanDB数据库中的全部数据的查询权,比较好的实现方法是什么? (12)如果拒绝role1查询BankT表,则log1、log2、log3是否有权查询BankT表?为什么? 2、请完成下题 新建一个数据库TGDB,然后在SQL Server中创建“SQL Server身份验证”模式的登录帐号:TG_User,其中账户密码为空,默认数据库为Master。并完成如下操作: 让TG_User成为TGDB数据库的合法用户。 在TGDB数据库中建用户自定义角色:MyRole,让TG_User成为MyRole角色中的成员。 用较好的方法授予MyRole在TGDB数据库中具有所有用户表的查询权。 三、实验报告 将实验结果反映在实验报告中,并对实验中遇到的题及解决方案、进行整理、分析总结,提出实验结论或自己的看法。 数据库备份和恢复 2 通过本实验的学生,使学生了解SQL Server的数据库备份方法,具备将SQL Server的数据库进行备份和对数据库备份进行数据恢复的能力。 二、实验内容 创建永久性备份设备:backup1,backup2,两个备份设备均存放在默认路径下。 按顺序完成下列备份操作: 将LoanDB数据库完全备份到backup1上; 对LoanDB数据库中的贷款表中的数据进行一些修改,然后将LoanDB数据库差异备份到backup2上; 在贷款表中插入一行新记录,然后将LoanDB数据库差异备份到backup2上; 在贷款表中插入一行新的记录,然后将LoanDB数据库日志备份到backup2上; 在贷款表中删除一行记录,然后对LoanDB数据库日志备份到文件上(d:\file1.bak); 在贷款表中删除一行记录。 对LoanDB数据库进行恢复。恢复顺序是什么样的?如果在恢复之前对数据库进行日志备份,则恢复完成后,第2题第(6)步删除的记录在数据库中存在不?如果在恢复之前不再对数据库进行日志备份,则恢复完成后,第2题第(6)步删除的记录在数据库中存在不? 实验报告 将实验结果反映在实验报告中,并对实验中遇到的题及解决方案、进行整理、分析总结,提出实验结论或自己的看法。
建立环境实验和数据库/表 实验学时:2学时 实验类型:验证 实验要求:必修 一、实验目的 通过本实验的学习,使学生熟悉SQL Server 2014的集成环境,帮助学生掌握数据库、表的建立方法以及SQL Server的数据导入方法 二、实验内容    (一)、SQL Server 2014的安装 SQL Server2014的安装过程与 SQL Server 2008、SQL Server2012的安装过程类似,都提供了一个功能树以用来安装所有 SQL Server 组件,包括计划、安装、维护、工具、资源、高级、选项等功能。下面是各功能选项中所包含的内容,如图3-1所示。 图3-1 安装计划中的内容 (1)选择“安装”功能,因为要创建SQL Server 2014的全新安装,单击“全新SQL Server 2014独立安装或向现有安装添加功能”选项,如图3-2所示。 图3-2 “安装”功能中的内容 (2)在“产品密匙”页上,选择相应的单选按钮,这些按钮指示是安装免费版本的SQL Server还是具有产品密匙的产品版本,如果使指免费的评估版,只有180天的试用期限,如图3-3所示。 图3-3 “产品密钥”界面 (3)在“许可条款”页上阅读许可协议,然后选中相应的复选框以接受许可条款和条件。如图3-4所示。 图3-4 “许可条款”界面 (4)系统进行安装程序支持规则检查,以确定安装SQL Server安装程序支持文件时可能发生的题。必须更正所有的失败,安装程序才能继续。如图3-5所示。 图3-5 “安装规则”界面 (5)在“设置角色”页上选择SQL Server功能安装,如图3-6所示。 图3-6 “设置”角色界面 (6)在“功能选择”页上选择要安装的组件。选择功能名称后,右侧窗体中会显示每个组件的说明。可以根据实际需要,选中一些功能,如图3-7所示。一般应用可选择“数据库引擎服务”、“客户端工具连接”、“SQL客户端连接”和“管理工具”等选项。 图3-7“功能选择”界面 (7)在“实例配置”页上制定是安装默认实例还是命名实例,对于默认实例,实例的名称和ID都是MSSQLSERVER,也可以自己“命名实例”安装实例,如图3-8所示。SQL Server支持多个实例,即支持在同一台计算机上同时运行多个SQL Server数据库引擎实例,每个SQL Server数据库引擎实例各有一套不为其它实例共享的系统及用户数据库。应用程序连接同一台计算机上的SQL Server数据库引擎实例的方式与连接其它计算机上运行的SQL Server数据库引擎的方式基本相同。 图3-8 “实例配置”界面 (8)在“服务器配置”页上指定SQL Server服务的登录帐户。SQL Server提供了多种服务,可以为所有SQL Server服务分配相同的登录账户,也可以分别配置每个服务账户。还可以指定服务是自动启动、手动启动还是禁用。Microsoft建议对各服务账户进行单独配置,以便为每项服务提供最低特权,即向SQL Server服务授予它们完成各自任务所需的最低权限,如图3-9所示。SQL Server中的每个服务代表一个进程或一组进程,每个进程需要有访SQL Server相关文件和系统注册表的权限,为了能让SQL Server服务在操作系统中正常的启动和运行,就需要指定SQL Server的服务帐户,所以服务帐户指的是Windows操作系统中的帐户。 图3-9 “服务器配置”界面 (9)在“数据库引擎配置”的“服务器配置”页上指定身份验证模式、用户名、密码,如图3-10所示。这里的用户身份验证指的是登录到服务器使用的身份验证模式及用户名和密码。身份验证模式分为“Windows身份验证模式”和“混合模式(SQL Server身份验证和Windows身份验证)”。如果选择“Windows身份验证模式”表示则只能使用Windows的帐号登录,即使用当前登录到操作系统的帐号进行登录,通过这种方式用户登录到SQL Server中时不再需要输入帐号和密码。如选择“混合模式(SQL Server身份验证和Windows身份验证)”表示除了可以用使用登录到Windows的帐号作为登录的依据外,还可以使用SQL Server系统的帐号登录,这里必须为内置SQL Server系统管理员账户(SA)提供一个强密码。必须至少为SQL Server实例指定一个系统管理员。若要添加用以运行SQL Server安装程序账户,则要单击“添加当前用户”按钮。若要向系统管理员列表中添加账户或从中删除账户,则单击“添加…”或“删除…”按钮,然后编辑将拥有SQL Server实例的管理员特权的用户、组或计算机列表。 图3-10 设置身份验证模式和管理员 (10)在“准备安装”页显示安装过程中的安装选项的树视图,如图3-11所示。若要继续,单击“安装”按钮。在安装过程中,“安装进度”页会提供相应的状态,因此可以在安装过程中监视安装进度。 图3-121“准备安装”界面 (11)安装完成后,“完成”页提供指向安装日志文件摘要以及其他重要说明的链接。如图3-12所示。 图3-12 “安装完成”界面 (二)、建库建表练习      1、利用语句建库和建表: 创建学生数据库StuDB,文件名和位置自定,在此数据库中创建如下三张表: 学生表(student) (   学号(sno) 普通编码定长字符类型,长度9,主码,   姓名(sname) 普通编码定长字符类型,长度10,非空,   性别(ssex) 统一编码定长字符类型,长度2,   年龄(sage) 微整型,   所在系(sdept) 统一编码可变长字符类型,长度20 ) 课程表(course) (   课程号(cno) ,通编码定长字符类型,长度4,主码,   课程名(cname) 统一编码定长字符类型,长度,40,非空,   开课学期(Semester) 短整数, 学分(credit) 短整数 ) 修课表(sc)(   学号(sno) 普通编码定长字符类型,长度7,主码,外码   课程号(cno) 普通编码定长字符类型,长度6,主码,外码   成绩(grade) 小整型,   修课类别(ctype)普通编码定长字符类型,长度4 ) 2、建立“汽车”数据库,文件名和位置自定,在此数据库中创建如下三张表: 汽车表(CarT),结构如下:   汽车序号(CId) 整型 主关键字,   汽车名称(CName) 普通编码定长字符类型 长度为10  非空,   型号(CType)普通编码变长字符类型 长度为60  非空,   价格(CPrice) 整型,   车身眼色(Ccolor)普通编码变长字符类型 长度为20。 部门表(DepartT),结构如下:   部门序号(DId)整型 主关键字,   部门名(DName)普通编码定长字符类型 长度为20   非空,   负责人名(DLead)普通编码定长字符类型 长度为10  非空,   人数(DAmount) 整型。 汽车出厂表(FacT),结构如下:   汽车序号(CID) 整型 非空,   部门序号(DId) 整型 非空,   出厂日期(FDate)小日期时间型 非空,   出厂数量(FAmount) 整型,   出厂价格(FPrice) 整型。   其中:主关键字为(汽车序号,部门序号,出厂日期)   “汽车序号”为引用汽车表的“汽车序号”的外部关键字; “部门序号”为引用部门表的“部门序号”的外部关键字。 3、使用数据库的可视化工具建库建表 建立银行贷款表,具体要求同课堂教学的建库建表一致。 银行表(BankT)( 银行代码(Bno) 主键 银行名称(Bname) 非空 电话(Tel) ) 法人表(LET)( 法人代码(Eno)主键 法人名称(Ename)取值唯一 经济性质(Enature) 注册资金(Ecapital) 法定代表人(Erep) ) 贷款表(LoanT)( 法人代码(Eno) 银行代码(Bno) 贷款日期(Ldata) 贷款金额(Lamount) 贷款期限(Lterm) )        (三)、数据导入练习 将“学生数据库数据.xls”中的数据导入到学生数据库的三张表中。 将“银行贷款数据.xls”中的数据导入到银行贷款数据库的三张表中。 三、实验报告 将实验结果反映在实验报告中,并对实验中遇到的题及解决方案、进行整理、分析总结,提出实验结论或自己的看法。
随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。 SQL注入是从正常的WWW端口访,而且表面看起来跟一般的Web页面访没什么区别,所以目前市面的防火墙都不会对SQL注入发出警报,如果管理员没查看IIS日志的习惯,可能被入侵很长时间都不会发觉。 但是,SQL注入的手法相当灵活,在注入的时候会碰到很多意外的情况。能不能根据具体情况进行分析,构造巧妙的SQL语句,从而成功获取想要的数据,是高手与“菜鸟”的根本区别。 根据国情,国内的网站用ASP+Access或SQLServer的占70%以上,PHP+MySQ占L20%,其他的不足10%。在本文,我们从分入门、进阶至高级讲解一下ASP注入的方法及技巧,PHP注入的文章由NB联盟的另一位朋友zwell撰写,希望对安全工作者和程序员都有用处。了解ASP注入的朋友也请不要跳过入门篇,因为部分人对注入的基本判断方法还存在误区。大家准备好了吗?Let's Go...
更新历史3.0: 环境:jdk1.5 tomcat5.5.数据库用oracle.如果不用oracle的话.可能菜单表的查询出不来.我的菜单表的查询允许选择上级菜单查询该菜单所对应的所有下级菜单.所以用了递归查询. criteria.add(Restrictions.sqlRestriction("MENUITEM_ID in(select a.MENUITEM_ID from Wuxin_MENUITEM a connect by prior a.MENUITEM_ID = a.PARENT_ID"+ " start with a.MENUITEM_ID = '"+parentId+"')" )); mysql和sqlserver不知道有没有start with这个sql. jar包:项目中除了使用了struts2,hibernate3.0和spring1.8以外(用spring2.0的包也可以.不能低于1.8的包.)还是用了junit,ajax,第三方的table组件.等等.所以需要下载相对应的包. 为了上传jar.我专门申请了一个网盘.所有下载地址在下载下来的这个rar包里面都有详细的介绍和说明. 说一下这个rar里面带的东西.除了源码外带了几篇文档.分别是关于项目中所使用的dwr的配置.table组件的配置说明文档.junit单元测试说明文档.还有我写这个例子时应该注意的一些东西.外加一些关于struts2和hibernate的技巧心得整理. 说一下这次3.0更新的内容.可能大家在我的博客里面已经看到了相关的日志.我懒.下面就把那个日志抽出来当说明了啊.有兴趣的就下载下来瞅瞅.偶也是菜鸟的.写的不好不要骂街啊..在此感谢各位网友的期待和支持. 这几天我终于闲下来了.也有时间开始写struts2的第三个框架版本了.主要是针对写了第二个版本之后的一些题做一些回答才做得第三个版本.中间加一些小技巧之类的.不过我觉得还是值得一些关注的朋友期待的. 如果没有意外.这个版本应该是一个定型的版本了.在这段期间.有很多朋友题大部分其实都已经不是struts2的范围了.有些都是hibernate和spring的.介于前两个版本都是单表.对hibernate的引用还是比较少的.这次索性写个多对多关系好了.打算写个权限系统好了.我就使用权限5张表.用户表,权限表.角色表.用户角色表和角色菜单表.(麻雀虽小...五脏俱全了啊...)当然这个写起来就费劲一些了.... 为了能够更好的使用各方面的技术.所以这次打算弄个大锅(弄个大锅也很累的.不过大家可能到时候配这个框架也就比较麻烦点了...不过我觉得还是能多学一下总是好的.) 说一下大锅的内容吧.自己写了个分页组件.(不是太好看...).现在ajax都已经不是什么新鲜东东了..我在里面配的是dwr..(这个简单些..其他的我看着晕...).没有自己写页面输出.我使用的table组件是:eXtremeComponents.自我感觉这个组件比较好.所以把这个组件配入进来了.随着这篇文章的发布.我会陆续在博客中更新相关针对与当前项目模块的关于struts2的一些知识点.当作大家一起进步了... 也希望各位高人多多指点啊... 这个版本起名为Struts2Test3.0.以后的日志相关内容就为关于Struts2Test3.0例子的相关内容.

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧