当前位置:首页 » 编程语言 » sql查询历史版本变化
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql查询历史版本变化

发布时间: 2022-03-02 13:37:40

Ⅰ 用sql 语句,或者什么方式 能查到之前的历史操作记录,查某个单据是如何生成的(何时保存、何时审核的)

需要设计一个历史操作记录表History 用于记录对单据的所有操作,包括:保存,审核等操作
如果你没有这么一个表,你是无法查询到的。

Ⅱ sql如何查询历史同期记录

历年来所有日期相同的记录...
就是说每年的同一个月同一天就是相同的记录吧?
思路是在日期中截取月份,天数。对这两项进行比较。
1 怎样截取:DATE类型或VARCHAR类型的截取方式不同,具体你可以查;
2 查询天数和月份都相同的ID,再根据ID查询完整的记录

以上只是思路.....

Ⅲ sql server 2005 打了补丁 但是select@@VERSION后发现版本信息不改变

您好,1、Sql server 2005 补丁安装时,实例如果无法选择的话,也有可能也许这个实例的补丁 已经安装过了,也有可能是您的服务有的没有启动,请查看一下服务。第建议您确定一下补丁是否是最新补丁以及版本是否正确。

2、如果你打sp3,一般sp1中的东西都会包括在内的。
所以只要打最新的sp3就行,
一般像数据库这样的补丁最好是重启。

Ⅳ SQL SERVER 2012 中如何查询对表所做的历史SQL操作记录

这个从SQL2005开始就有一个功能可以做到:数据库触发器,他可以对数据库内的操作进行审计和LOG记录,具体的实现办法可以参考:
http://blog.csdn.net/haiwer/article/details/3016270

Ⅳ 如何通过sql日志,查看以前执行过的sql语句

如果你的数据库是完全恢复模式的话,可以通过log Explorer,查看。
具体使用搜索一下就成。
使用Log Explorer查看和恢复数据

Log Explorer 4.1.可用于SQL Server2005的日志查看工具

使用方法:

打开Log Explorer -> Attach Log File -> 选择SQL Server服务器和登陆方式 -> Connect ->
在Database Name中选择数据库 -> Attach-> 左面对话框中Browse-> View Log-> 就可以看到log记录了

想恢复的话: 右键Log记录 Undo Transation-> 选择保存文件名和路径-> 然后打开该文件到查询分析器里执行
T-sql代码就可以了

例如 如果Log是delete table where ...的话,生成的文件代码就是insert table ....
然后将此insert table的代码放到查询分析器里执行.就可以恢复数据.

----------------------------------------------------------------------
--如何恢复被delete/update的数据
----------------------------------------------------------------------
1连接到被删除数据库的Db
打开log explorer 选择 "file"->"attach log file"->选择服务器和登陆方式->"connect"->选择"数据库"->"attach"
2 查看日志
在左面操作项目的对话框中选择"browse"项目->"view log"->就可以看到当前的Log记录了
3 恢复数据
右键某一条log记录,选择"undo transation"->"选择保存文件名和路径"->然后打开该文件到查询分析器里执行
T-sql代码就可以了
例如: 如果log是delete table where ...的话,生成的文件代码就是insert table ....

----------------------------------------------------------------------
--Log Explorer恢复被drop table和truncate table后的数据
----------------------------------------------------------------------
1 连接到被删除数据库的Db
操作同上
2 恢复方法
1) 选择"salvaage dropped/truncate"菜单,在右边的对话框中选择表名,和droped/trucated的日期,
File Name中选择生成insert语句脚步的存放位置,condition选择是droped还是truncated,
最后点击"create" 就会生成insert语句,把生成的语句到查询分析器里面执行一下就可以了
2) 选择"ViewDDL Commands"菜单->选"truncate table" 操作项->点击"Salvage"->生成语句->查询分析器里执行

----------------------------------------------------------------------
--log explorer使用的几个问题
----------------------------------------------------------------------
1) 对数据库做完全/差异/日志备份
备份时如果选用了删除事务日志中不活动的条目
再用Log explorer打试图看日志时,提示No log recorders found that match the filter,would you like to view unfiltered data 选择yes 就看不到刚才的记录了

如果不选用了删除事务日志中不活动的条目
再用Log explorer打试图看日志时,就能看到原来的日志并做恢复
2) 修改了其中一个表中的部分数据,此时用Log explorer看日志,可以作日志恢复
3) 然后恢复备份,(注意:恢复是断开log explorer与数据库的连接,或连接到其他数据上,
否则会出现数据库正在使用无法恢复)
恢复完后,再打开log explorer 提示No log recorders found that match the filter,would you like to view unfiltered data,选择yes 就看不到刚才在2中修改的日志记录,所以无法做恢复.
4) 不要用SQL的备份功能备份,搞不好你的日志就破坏了.

正确的备份方法是:
停止SQL服务,复制数据文件及日志文件进行文件备份.

然后启动SQL服务,用log explorer恢复数据

Ⅵ sql 如何查询历史操作语句

打开Log Explorer -> Attach Log File -> 选择SQL Server服务器和登陆方式 -> Connect -> 在Database Name中选择数据库 -> Attach-> 左面对话框中Browse-> View Log-> 就可以看到log记录了
想恢复的话: 右键Log记录 Undo Transation-> 选择保存文件名和路径-> 然后打开该文件到查询分析器里执行 T-sql代码就可以了
例如 如果Log是delete table where ...的话,生成的文件代码就是insert table .... 然后将此insert table的代码放到查询分析器里执行.就可以恢复数据.
Log Explorer使用的一个问题
1)对数据库做了完全 差异 和日志备份 备份时选用了删除事务日志中不活动的条目 再用Log Explorer打试图看日志时 提示No log recorders found that match the filter,would you like to view unfiltered data 选择yes 就看不到刚才的记录了
如果不选用了删除事务日志中不活动的条目 再用Log Explorer打试图看日志时,就能看到原来的日志
2)修改了其中一个表中的部分数据,此时用Log Explorer看日志,可以作日志恢复
3)然后恢复备份,(注意:恢复是断开Log Explorer与数据库的连接,或连接到其他数据上, 否则会出现数据库正在使用无法恢复) 恢复完后,再打开Log Explorer 提示No log recorders found that match the filter,would you like to view unfiltered data 选择yes 就看不到刚才在2中修改的日志记录,所以无法做恢复.

Ⅶ SQL2005和SQL2008的区别

总体而言,SQL server2008优于SQL server2005。

SQL server2005的前一个版本是SQL 2000,2005版与2000版相差得非常大,引入了很多不同的理念,并开始走支持.net的路线,大版本的升级自然会有很多考虑不周的地方。

SQL server2008是SQL server2005的升级版本,这两个功能上版本变化不大,SQL server2008更成熟稳定,以及一些后台上的优化,比如:
改进了数据库镜像 、简单的数据加密 ……

对于SQL 2005的数据库,2008基本上是完全兼容,可以直接附加。(附加后登录帐户权可能需要重新配置一下)

Ⅷ 如何用SQL查询出最新的记录变化详见以下描述,谢谢!

oracle的写法:
SELECT
*
(
SELECT
c.* ,
row_number() over (partition by c.timech order by a.timech desc) rn
FROM
(
SELECT
Xh,
xm,
zt,
timech
FROM
Student
UNION ALL
SELECT
b.Xh,
b.xm,
a.ztchange,
a.timech
FROM
Change a,
Student b
WHERE
a.xh = b.xh
and c.timech <= '2011.1.20'
)
c
)
WHERE
rn = 1

Ⅸ 如何查找sql server 更新之前记录

可以建立个快照,保存固定时间段之前的数据。