Ⅰ 用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 更新之前記錄
可以建立個快照,保存固定時間段之前的數據。