SQL自动删除备份文件
DECLARE @sql varchar(8000)
--下面是删除15天前备份文件的处理
set @sql='Del E:\Databasebackup\'
@sql=@sql +rtrim(convert(varchar,getdate()-15,112))+'.bak'
Exec master..xp_cmdshell @sql
DECLARE @DelFile Varchar(256)
set @DelFile='Del E:\Databasebackup\'
set @DelFile=@DelFile+'shya_DATA_'+Replace(convert(varchar(10),getdate()-28,120),'-','_')
Exec master..xp_cmdshell @DelFile
--判断文件是否存在
create table ##tb(a bit,b bit,c bit)
DECLARE @sql Varchar(256)
set @sql='E:\Databasebackup'+'shya_DATA_'+Replace(convert(varchar(10),getdate()-28,120),'-','_')
insert into ##tb
exec master..xp_fileexist @sql
--文件存在则删除
if exists(select 1 from ##tb where a=1)
begin
DECLARE @DelFile Varchar(256)
set @DelFile='Del E:\Databasebackup\'
set @DelFile=@DelFile+'shya_DATA_'+Replace(convert(varchar(10),getdate()-28,120),'-','_')
Exec master..xp_cmdshell @DelFile
end
drop table ##tb
---最新代码
--判断文件是否存在
create table ##tb(a bit,b bit,c bit)
DECLARE @DelFile Varchar(256)
set @DelFile='E:\Databasebackup\'
set @DelFile=@DelFile+'shya_DATA_'+Replace(convert(varchar(10),getdate()-28,120),'-','_')
insert into ##tb
exec master..xp_fileexist @DelFile
--文件存在则删除
if exists(select 1 from ##tb where a=1)
begin
DECLARE @Delsql Varchar(256)
set @Delsql='Del '+ @DelFile
Exec master..xp_cmdshell @Delsql
end
drop table ##tb
相关文档:
1. 在使用sql server 之前呢,最好对其进行配置
(1) 配置工具->Sql server configuration Manager
选择Sql server 2005网路配置 下的 MSSQLSERVER的协议 在窗口右边的
TCP/IP协议右键属性,配置如下
&n ......
string error_syntaxfromSQL, error_create
string new_sql, new_syntax
new_sql = 'SELECT emp_data.emp_id, ' &
& ......
1:
Sql server 2005日志文件太大,使其减小的方法
运行下面的三行 PMDataCenter 为数据库名:
backup log PMDataCenter with NO_LOG
backup log PMDataCenter with TRUNCATE_ONLY
DBCC SHRINKDATABASE(PMDataCenter) ......
--查询应用程序的等待
SELECT TOP 10
wait_type,waiting_tasks_count AS tasks,
wait_time_ms,max_wait_time_ms AS max_wait,
signal_wait_time_ms AS signal
from sys.dm_os_wait_stats
ORDER BY wait_time_ms DESC
--查询在任一时刻所有授权给当前执行事务或当前执行事务等待的锁
SELECT
request_session_id A ......
今天接到客户电话,说操作数据无法保存。经过分析,发现他的数据库已经有5G多的大小,而最终发现有张表的索引出错了,用DBCC CHECK也无力回天。
每次用select * from ln003082 语句查询,都报如下错误:
服务器: 消息 605,级别 21,状态 1,行 1
试图从数据库 'ln_fl0125' 中提取的逻辑 ......