SqlServer的一些有用sql技巧

本文介绍了SQLServer数据库管理的几个关键技巧,包括如何进行数据库备份、查看主机活动、检测索引碎片、查询数据库大小以及监测数据库增长速率。通过这些技巧,数据库管理员可以更有效地维护和优化数据库性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.数据库备份

--语句
backup database "database_name" TO DISK='path';
--示例
backup database TEST TO DISK='D:\历史备份文件\20181010\TESTBACKUP.bak'; 

2.查看主机操作数据库

exec sp_who

3.查询索引碎片

use DATABASE_NAME;
SELECT dbschemas.[name] as 'Schema', 
dbtables.[name] as 'Table', 
dbindexes.[name] as 'Index',
indexstats.alloc_unit_type_desc,
indexstats.avg_fragmentation_in_percent,
indexstats.page_count
FROM sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL, NULL, NULL) AS indexstats
INNER JOIN sys.tables dbtables on dbtables.[object_id] = indexstats.[object_id]
INNER JOIN sys.schemas dbschemas on dbtables.[schema_id] = dbschemas.[schema_id]
INNER JOIN sys.indexes AS dbindexes ON dbindexes.[object_id] = indexstats.[object_id]
AND indexstats.index_id = dbindexes.index_id
WHERE indexstats.database_id = DB_ID() and dbindexes.[name] not like 'pk_%'
ORDER BY indexstats.avg_fragmentation_in_percent * page_count desc

4.查询数据库大小

SELECT 
    DB_NAME(database_id) AS [Database Name],
    [Name] AS [LogicalName],
    [Physical_Name] AS[Physical Name],
    ((size *8) / 1024) AS [Size(MB)],
    [differential_base_time] AS[Differential Base Time]
FROM 
    sys.master_files 
WHERE DB_NAME(database_id) IN('Conductor')

5.查看数据库增长速率

dbcc sqlperf(logspace);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaobangsky

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值