有些数据库语句可能平时用得不多,所以使用的时候总是难免上网查询,略嫌麻烦,今日在CSDN论坛看到有贴收录这些语句,就顺手牵羊copy了一份,本想copy了就结束了,但和部分朋友一样,真正用到它们的时候有时会发现难免会出错,于是,择日不如撞日,就在今天花点时间在SQL SERVER 2008中运行试试。之前并没怎么注意SQL2008的语法与之前版本的不同,因为常用的select等语句都一样,一直以为2008应该与2005的版本几乎无差。不料这一试,果然试出了问题,这才发现,以前从书本上见过的backup语句和dump语句已经在2008里面消失了……
废话不多说,把收录的语句及备注贴上来,便于以后查询使用~~
1、 数据库备份操作:
复制代码 代码如下:
declare @sql varchar(8000)
set @sql='backup database smallerp to disk=''d:/'+RTRIM(CONVERT(varchar,getdate(),112))+'.bak'''
exec(@sql);
复制代码 代码如下:
declare @sql varchar(8000)
set @sql='del d:/'+RTRIM(CONVERT(varchar,getdate()-5,112))+'.bak'''
exec master..xp_cmdshell @sql;
复制代码 代码如下:
dump transaction smallerp with no_log;
复制代码 代码如下:
alter database smallerp set recovery simple
dbcc shrinkdatabase(smallerp,0);)
backup log smallerp with no_log;
复制代码 代码如下:
sp_who 'active';
复制代码 代码如下:
Exec sp_who;
复制代码 代码如下:
Exec sp_lock;
复制代码 代码如下:
set statistics time {on | off}(写语句的时候只需要写明是on或者off即可)
set statistics io {on | off}
复制代码 代码如下:
set showplan_all {on | off}
set showplan_text { on | off }
set statistics profile { on | off }
复制代码 代码如下:
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
复制代码 代码如下:
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
新闻热点
疑难解答