如何查看RDS SQL Server常用视图

本文介绍如何查看RDS SQL Server中常用的系统视图及其查询方法,以便于日常管理和维护工作。

说明

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。

  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。

  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

操作步骤

  1. 使用客户端连接实例。具体操作,请参见连接SQL Server实例

  2. 依次执行如下SQL语句,查看系统参数配置。

    USE [$DB_Name];
    SELECT * FROM sys.configurations;
    说明

    [$DB_Name]为数据库名称。参数详细解释,请参见sys.configurations

    系统显示类似如下:

    image

  3. 依次执行如下SQL语句,查看数据库的文件相关信息。

    USE [$DB_Name];
    SELECT * FROM sys.sysfiles;

    系统显示类似如下:

    image

  4. 执行如下SQL语句,查看数据库文件大小。

    SELECT name, CONVERT(float,size) * (8192.0/1024.0)/1024 AS Size_MB,* from [$DB_Name].dbo.sysfiles;

    系统显示类似如下:

    image

  5. 执行如下SQL语句,查看数据库文件的I/O统计信息。

    SELECT * FROM sys.dm_io_virtual_file_stats(DB_ID('[$DB_Name]'), [$File_ID]);
    说明

    [$File_ID]为步骤4获取的fileid

    系统显示类似如下:

    image

  6. 执行如下SQL语句,查看实例中所有未提交的事务及其执行的语句。

    SELECT DB_NAME(dbid) AS DBNAME, 
    (SELECT text FROM sys.dm_exec_sql_text(sql_handle)) AS SQLSTATEMENT 
    FROM master..sysprocesses WHERE open_tran > 0

    系统显示类似如下:

    image

  7. 执行如下SQL语句,查看数据和索引的碎片。

    DBCC SHOWCONTIG;

    系统显示类似如下,显示指定表或者视图的数据以及索引的碎片情况。参数详细解释,请参见DBCC SHOWCONTIG

    image

  8. 执行如下SQL语句,查看数据库中的索引碎片。

    SELECT * FROM sys.dm_db_index_physical_stats(DB_ID(N'[$DB_Name]'),NULL,NULL,NULL,DEFAULT);

    系统显示类似如下:

    image

  9. 执行如下SQL语句,查看近期执行的语句。

    SELECT
        p.spid, p.status, p.hostname, p.loginame, p.cpu, r.start_time, r.command,
        p.program_name, text
    FROM
        sys.dm_exec_requests AS r,
        master.dbo.sysprocesses AS p
        CROSS APPLY sys.dm_exec_sql_text(p.sql_handle)
    WHERE
        p.status NOT IN ('sleeping', 'background')
    AND r.session_id = p.spid

    系统显示类似如下:

    image