注册 登录
编程论坛 SQL Server论坛

怎么让SQL SERVER每隔几天自动扫描某张表啊?是写存储过程么?

ASP汽车 发布于 2007-11-01 15:05, 2459 次点击
怎么让SQL SERVER每隔几天自动扫描某张表,抓出符合某些条件的数据啊?是写存储过程么?俺都没有写过存储过程~~~~
要怎么写哦,求教~~~
25 回复
#2
purana2007-11-01 16:35
添加作业.设置步骤.调度..
#3
西风独自凉2007-11-01 17:25
用個視圖不就得了。。。。
#4
purana2007-11-01 17:28
视图可以每隔几天自动去执行?.
#5
ASP汽车2007-11-01 18:14

俺已经设置了作业啦,也运行成功,后面似乎要用到 “数据转换服务”
, 接着要用OA发短信,唉,OA上是ORACLE

#6
ASP汽车2007-11-01 18:15
刚才忘记谢谢版主了~~~
谢谢版主~~
#7
XieLi2007-11-02 13:44
添加作业.设置步骤.调度..
有什么作用啊?
我在哪里可以看得到这个作业.
#8
purana2007-11-02 14:07
企业管理器..
#9
XieLi2007-11-02 14:08
企业管理器..我知道是在那个里面.
我想知道我新建的作业在哪里面可以看到
#10
purana2007-11-02 14:19
在企业管理器左边的控制台根目录里..逐个展开看看不就行?..

管理->SQL Server代理->作业..

要使用作业..先启用SQL Server Agent服务..
#11
XieLi2007-11-02 14:28
谢谢了,可是还是不知道怎么用.
#12
XieLi2007-11-02 14:32

就算成功的执行了,也没有改变什么东西.

#13
西风独自凉2007-11-02 14:33
以下是引用purana在2007-11-1 17:28:36的发言:
视图可以每隔几天自动去执行?.

數據是可以根據不同的表之間的數據變化而變化的撒。。。。

#14
purana2007-11-02 14:53
是的.
不过楼主是扫描某张表...单表查询..不需要用视图..视图比基本表查询要慢得多..

而且就算你用了视图.也不符合楼主说每隔几天去执行的操作..
还是要用job去完成..
#15
西风独自凉2007-11-02 14:57
恩。。。。。。
#16
西风独自凉2007-11-02 14:59
EXECUTE master.dbo.xp_sqlmaint N'-PlanID 12FC1DED-7BD8-44BD-A35E-EF7355596390 -WriteHistory -RebldIdx 10 '
job不會。。。這句就是job里的。。。什麼意思。。。。
#17
purana2007-11-02 15:02
菜鸟一个..
没看懂..
#18
西风独自凉2007-11-02 15:07
#19
西风独自凉2007-11-02 15:10

xp_sqlmaint
以含有 sqlmaint 切換碼的字串呼叫 sqlmaint 公用程式。sqlmaint 公用程式會在一個或多個資料庫上執行一套維護作業。

語法
xp_sqlmaint 'switch_string'

引數
'switch_string'

是一個含有 sqlmaint 公用程式參數的字串。參數及其數值必須以空白字元分開。

-? 對 xp_sqlmaint 來說不是一個有效的參數。

傳回碼值
[無]如果 sqlmaint 失敗,會傳回錯誤訊息。

備註
如果這個程序被一個用 SQL Server 驗證登入的使用者呼叫, -U ?ogin_id_ 與 -P ?assword_ 切換會在執行之前先被附加在 switch_string 中。如果使用者是以 Windows NT 的帳戶驗證登入,switch_string 會被傳遞而不會變更為sqlmaint。

權限
xp_sqlmaint 的執行權限預設為 master 資料庫中 db_owner 固定伺服器角色的成員,以及系統管理員 (sysadmin) 固定伺服器角色的成員,不過可以授予權限給其他使用者。

範例
在這個範例中,xp_sqlmaint 會呼叫 sqlmaint 來執行完整性檢查,建立一個報告檔,並更新msdb.dbo.sysdbmaintplan_history。

EXEC xp_sqlmaint '-PlanID 02A52657-D546-11D1-9D8A-00A0C9054212
-Rpt "C:\Program Files\Microsoft SQL Server\MSSQL\LOG\DBMaintPlan2.txt" -WriteHistory -CkDB -CkAl'

以下為執行結果:

The command(s) executed successfully.

#20
XieLi2007-11-02 15:10

他只是对数据进行扫苗,不会改变数据吗.

#21
purana2007-11-02 15:11
还是没看懂.
#22
西风独自凉2007-11-02 15:18

根本就是看不懂。。。數據是否改變??xp_sqlmaint這個應該不行吧。。。它只是針對數據庫進行維護。。。具體的就不知道了。。

#23
XieLi2007-11-02 15:18
我还是不懂他的作用是什么?
#24
西风独自凉2007-11-02 15:20
sqlmaint 公用程式會對一個 (含) 以上的資料庫進行一套特定的維護工作。您可以使用 sqlmaint 來執行 DBCC 命令、備份資料庫及交易記錄、更新統計資訊及重建索引。
這或許就是它的作用。。
#25
XieLi2007-11-02 15:40

刚才试了一下,是可以,
可是我每次都必须点启动作业,才会生效,不然的话就不会有反应,我在调度里也设了发生的时间啊.

#26
西风独自凉2007-11-02 16:13
作業里好像有個排程。。。。那樣應該就沒必要啟動吧。。。否則這個作業也就沒意思了。。。
1