标签归档:sql运维

mssql sqlserver 如何使用sql脚本获取所有数据表的存储空间大小呢?


摘要:
下文讲述mysql数据库中对“日期时间”数据进行格式化的示例分享,如下所示:

实现思路:
   1.借助sp_spaceused系统存储过程可以获取单表的空间占用情况
   2.借助sp_MSForEachTable遍历所有表,并同时执行系统存储过程sp_spaceused
   3.将遍历结果缓存至数据库中

例:


create table #maomao(
 [表名] sysname,[行数] int 
,[保留空间] varchar(60),[使用空间] varchar(60) 
,[索引使用空间] varchar(60),[未用空间] varchar(60)) 

insert into #maomao exec sp_MSForEachTable 'EXEC sp_spaceused ''?''' 

select * from #maomao 

go 
truncate table #maomao
drop table #maomao 

mssql sqlserver 如何清除ssms登录过服务器名称呢?


摘要:
下文讲述在ssms客户端清除登录过服务器名称的方法分享,如下所示:

实现思路: 
   删除sqlserver 工具目录下的SqlStudio.bin文件即可

如:
找到
C:\Users\Administrator\AppData\Roaming\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin
文件删除即可
—-通常情况下此文件为隐藏文件,此时我们需开启查看“显示文件和文件夹”选项,然后在隐藏文件中找到相应文件删除即可。

mssql sqlserver 如何使用sql脚本查看整个数据库的索引信息呢?


摘要:
下文讲述sqlserver中查看索引信息的方法分享,如下所示:

实现思路: 
    借助系统表sys.indexes、sys.index_columns
    、sys.key_constraints、sys.objects、sys.columns
   查询出当前数据库下的索引信息

例:
获取当前数据库下索引信息

 SELECT 
    TableId=O.[object_id],
    TableName=O.Name,
    IndexId=ISNULL(KC.[object_id],IDX.index_id),
    IndexName=IDX.Name,
    IndexType=ISNULL(KC.type_desc,'Index'),
    Index_Column_id=IDXC.index_column_id,
    ColumnID=C.Column_id,
    ColumnName=C.Name,
    Sort=CASE INDEXKEY_PROPERTY(IDXC.[object_id],IDXC.index_id,IDXC.index_column_id,'IsDescending')
        WHEN 1 THEN 'DESC' WHEN 0 THEN 'ASC' ELSE '' END,
    PrimaryKey=CASE WHEN IDX.is_primary_key=1 THEN N'√'ELSE N'' END,
    [UQIQUE]=CASE WHEN IDX.is_unique=1 THEN N'√'ELSE N'' END,
    Ignore_dup_key=CASE WHEN IDX.ignore_dup_key=1 THEN N'√'ELSE N'' END,
    Disabled=CASE WHEN IDX.is_disabled=1 THEN N'√'ELSE N'' END,
    Fill_factor=IDX.fill_factor,
    Padded=CASE WHEN IDX.is_padded=1 THEN N'√'ELSE N'' END
FROM sys.indexes IDX
    INNER JOIN sys.index_columns IDXC
        ON IDX.[object_id]=IDXC.[object_id]
            AND IDX.index_id=IDXC.index_id
    LEFT JOIN sys.key_constraints KC
        ON IDX.[object_id]=KC.[parent_object_id]
            AND IDX.index_id=KC.unique_index_id
    INNER JOIN sys.objects O
        ON O.[object_id]=IDX.[object_id]
    INNER JOIN sys.columns C
        ON O.[object_id]=C.[object_id]
            AND O.type='U'
            AND O.is_ms_shipped=0
            AND IDXC.Column_id=C.Column_id