新聞中心
有些數(shù)據(jù)庫語句可能平時(shí)用得不多,所以使用的時(shí)候總是難免上網(wǎng)查詢,略嫌麻煩,今日在CSDN論壇看到有貼收錄這些語句,就順手牽羊copy了一份,本想copy了就結(jié)束了,但和部分朋友一樣,真正用到它們的時(shí)候有時(shí)會發(fā)現(xiàn)難免會出錯(cuò),于是,擇日不如撞日,就在今天花點(diǎn)時(shí)間在SQL SERVER 2008中運(yùn)行試試。之前并沒怎么注意SQL2008的語法與之前版本的不同,因?yàn)槌S玫膕elect等語句都一樣,一直以為2008應(yīng)該與2005的版本幾乎無差。不料這一試,果然試出了問題,這才發(fā)現(xiàn),以前從書本上見過的backup語句和dump語句已經(jīng)在2008里面消失了……

成都創(chuàng)新互聯(lián)公司專注骨干網(wǎng)絡(luò)服務(wù)器租用10余年,服務(wù)更有保障!服務(wù)器租用,綿陽服務(wù)器托管 成都服務(wù)器租用,成都服務(wù)器托管,骨干網(wǎng)絡(luò)帶寬,享受低延遲,高速訪問。靈活、實(shí)現(xiàn)低成本的共享或公網(wǎng)數(shù)據(jù)中心高速帶寬的專屬高性能服務(wù)器。
廢話不多說,把收錄的語句及備注貼上來,便于以后查詢使用~~
1、 數(shù)據(jù)庫備份操作:
- declare @sql varchar(8000)
- set @sql='backup database smallerp to disk=''d:\'+RTRIM(CONVERT(varchar,getdate(),112))+'.bak'''
- exec(@sql);
- (備注:引號不可缺少任意一個(gè),否則會報(bào)錯(cuò))
2、 刪除5天前的備份文件:
- declare @sql varchar(8000)
- set @sql='del d:\'+RTRIM(CONVERT(varchar,getdate()-5,112))+'.bak'''
- exec master..xp_cmdshell @sql;
- (備注:xp_cndshell默認(rèn)該組件會被阻止,需要先啟用它才可正常操作:使用如下語句將其啟用EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;)
3、 收縮數(shù)據(jù)庫語句:
- dump transaction smallerp with no_log;
- (備注:這句話中會提示transaction附近有語法錯(cuò)誤,原來在SQL2008中已經(jīng)不再使用此法來收縮數(shù)據(jù)庫了。而使用:alter,使用方法如下:
- alter database smallerp set recovery simple
- dbcc shrinkdatabase(smallerp,0);)
- backup log smallerp with no_log;
- (備注:這句話執(zhí)行的時(shí)候會報(bào)錯(cuò):此語句不支持一個(gè)或多個(gè)選項(xiàng)(no_log),原因也是因?yàn)镾QL2008已經(jīng)不再支持這種寫法了。)
4、 查看數(shù)據(jù)庫里活動用戶和進(jìn)程信息:
- sp_who 'active';
- (備注:如果只是這么寫的話會提示sp_who附近有語法錯(cuò)誤,但執(zhí)行的時(shí)候可以查到數(shù)據(jù),如果在前面加一個(gè)exec,則不再提示錯(cuò)誤。且1—50的進(jìn)程號
- 為SQL SERVER系統(tǒng)內(nèi)部用的,只有大于50的進(jìn)程號才是用戶的連接進(jìn)程。spid是進(jìn)程號,dbid是數(shù)據(jù)庫編號,objid是數(shù)據(jù)對象編號)
5、 查看數(shù)據(jù)庫里用戶和進(jìn)程信息:
- Exec sp_who;
6、 查看數(shù)據(jù)庫里的鎖情況:
- Exec sp_lock;
7、 分析SQL SERVER里sql語句的方法:
- set statistics time {on | off}(寫語句的時(shí)候只需要寫明是on或者off即可)
- set statistics io {on | off}
8、 文本方式顯示查詢執(zhí)行計(jì)劃:
- set showplan_all {on | off}
- set showplan_text { on | off }
- set statistics profile { on | off }
9、 差異備份:
- declare @str varchar(100)
- set @str='D:\'+replace(replace(replace(convert(varchar,getdate(),20),'-',''),' ',''),':','')+'.diff'
- BACKUP DATABASE smallerp TO DISK=@str
- WITH DIFFERENTIAL,RETAINDAYS=8,NOFORMAT,NOINIT,
- NAME=N'Demo差異備份',SKIP,NOREWIND,
- NOUNLOAD,STATS=10
- GO
10、 刪除過期的備份文件,并設(shè)定每天兩次:
- declare @str varchar(100),@dir varchar(100),@fileName varchar(30)
- set @dir='del D:\ '
- set @filename=left(replace(replace(replace(convert(varchar,getdate()-15,20),'-',''),' ',''),':',''),8)
- set @str=@dir+'fullbak'+@filename+'*.bak'
- exec xp_cmdshell @str
- set @filename=left(replace(replace(replace(convert(varchar,getdate()-8,20),'-',''),' ',''),':',''),8)
- set @str=@dir+'diffbak'+@filename+'*.diff'
- exec xp_cmdshell @str
- set @filename=left(replace(replace(replace(convert(varchar,getdate()-8,20),'-',''),' ',''),':',''),8)
- set @str=@dir+'logbak'+@filename+'*.trn'
- exec xp_cmdshell @str
先這些吧,貌似一般不用又相對比較常用~
原文鏈接:http://www.cnblogs.com/Jennifer/archive/2011/05/12/2044139.html
【編輯推薦】
- 深入探究SYBASE數(shù)據(jù)庫日志
- Sybase日期函數(shù)應(yīng)用示例
- Sybase數(shù)據(jù)庫函數(shù)全介紹
- Sybase建立索引的原則
- Sybase分頁顯示存儲過程
網(wǎng)頁題目:數(shù)據(jù)庫日常維護(hù)常用的腳本部分收錄
文章分享:http://www.5511xx.com/article/dhsoehe.html


咨詢
建站咨詢
