6,129
社区成员
发帖
与我相关
我的任务
分享
set nocount on --不显示提示信息
select '当前时间是:'+convert(varchar,getdate(),120)+' 执行sql server维护'
-----------------------------------------------"
print '-----------------------------------------'
print '--------------查看配置信息---------------'
print '-----------------------------------------'
--查看数据库服务器名和实例名
print '数据库服务器名:'+convert(varchar(30),@@servername)
--print '实例名:'+convert(varchar(30),@@server
--获取当前数据库的版本
select '检查当前数据库的版本'
select @@version
--获取数据库所在机器操作系统参数
select '数据库所在机器操作系统参数'
exec master..xp_msver
--获取数据库启动参数
select '数据库启动参数'
exec sp_configure
--查看数据库启动时间
select '数据库启动时间'
select convert(varchar(30),login_time,120) from master..sysprocesses where spid=1
--查看所有数据库用户登录信息
select '所有数据库用户登录信息'
exec sp_helplogins
-------查看数据库信息-----------------
--查看所有数据库名称
select '数据库的名称'
exec sp_helpdb
--查看某数据库下每个数据对象的大小
print '查看数据库下数据对象的大小' --添加@objname
exec sp_spaceused
print '查看和收缩数据库日志文件的方法'
print '所有数据库日志文件大小'
dbcc sqlperf(logspace)
-----------查看进程--------------------
select '数据库里用户和进程的信息'
exec sp_who
select 'SQL Server数据库里的活动用户和进程的信息' --活动的时候才
exec sp_who 'active'
select 'SQL Server数据库里的锁的情况'
exec sp_lock
----------数据库备份-------------------
----------如果有多个数据库,请复制,并将数据库名称改为相应的名称------
print '--------数据库AdventureWorks完整备份--------------'
BACKUP DATABASE [AdventureWorks] TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\AdventureWorks.bak' WITH NOFORMAT, NOINIT, NAME = N'AdventureWorks-完整 数据库 备份', SKIP, NOREWIND, NOUNLOAD, STATS = 10
print '------------数据库AdventureWorks事务日志备份----------'
BACKUP LOG [AdventureWorks] TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\AdventureWorks.bak' WITH NOFORMAT, NOINIT, NAME = N'AdventureWorks-事务日志 备份', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO
-----------收缩数据库-----------------
----------如果有多个数据库,请复制,并将数据库名称改为相应的名称------
print '收缩数据库文件'
DBCC SHRINKDATABASE([AdventureWorks]) --AdventureWorks更改为要收缩的数据库名称
if object_id('tempdb..#tpData') is not null drop table #tpData;
create table #tpData(name varchar(100)
,row varchar(100)
,reserved varchar(100)
,data varchar(100)
,index_size varchar(100)
,unused varchar(100))
declare @name varchar(100)
declare cur cursor for
select name from sysobjects where xtype='u' order by name
open cur
fetch next from cur into @name
while @@fetch_status=0
begin
insert into #tpData
exec sp_spaceused @name
print @name
fetch next from cur into @name
end
close cur
deallocate cur
select name
,convert(int,row) as row
,convert(int,replace(reserved,'KB','')) as reserved
,convert(int,replace(data,'KB','')) as data
,convert(int,replace(index_size,'KB','')) as index_size
,convert(int,replace(unused,'KB','')) as unused
from #tpData