• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    SQL Server DBA维护常用语句

    1、检查数据库完整性

    复制代码 代码如下:
    dbcc checkdb(test)
    --通过加tablock提高速度
    dbcc checkdb(test) with tablock

    2、数据库重命名、修改恢复模式、修改用户模式
    复制代码 代码如下:

    --数据库重命名 
    ALTER DATABASE WC 
    MODIFY NAME = test

    --设置数据库为完整恢复模式
    alter database test
    set recovery full

    --只允许一个用户访问数据库 
    alter database test 
    set single_user  
    with rollback after 10 seconds --指定多少秒后回滚事务 

    --只有sysadmin,dbcreator,db_owner角色的成员可以访问数据库 
    alter database wc 
    set restricted_user  
    with rollback immediate        --立即回滚事务 

    --多用户模式
    alter database wc 
    set multi_user 
    with no_wait       --不等待立即改变,如不能立即完成,那么会导致执行错误

    2、扩展数据库:增加文件组、增加文件、修改文件大小、修改文件的逻辑名称

    复制代码 代码如下:

    --添加文件组
    ALTER DATABASE test
    ADD FILEGROUP WC_FG8


    --添加数据文件
    ALTER DATABASE test
    ADD FILE
    (
      NAME = WC_FG8,
      FILENAME = 'D:\WC_FG8.ndf',
      SIZE = 1mb,
      MAXSIZE = 10mb,
      FILEGROWTH = 1mb
    )
    TO FILEGROUP WC_FG8


    --添加日志文件
    ALTER DATABASE test
    ADD LOG FILE
    (
      NAME = WC_LOG3,
      FILENAME = 'D:\WC_FG3.LDF',
      SIZE = 1MB,
      MAXSIZE = 10MB,
      FILEGROWTH = 100KB
    )


    --修改数据文件的大小,增长大小,最大大小
    ALTER DATABASE test
    MODIFY FILE
    (
      NAME = 'WC_FG8',
      SIZE = 2MB,      --必须大于之前的大小,否则报错
      MAXSIZE= 8MB,
      FILEGROWTH = 10%
    )


    --修改数据文件或日志文件的逻辑名称
    ALTER DATABASE test
    MODIFY FILE
    (
      NAME = WC_LOG3,
      NEWNAME = WC_FG33
    )


    3、移动文件
    复制代码 代码如下:
    --由于在SQL Server中文件组、文件不能离线
    --所以必须把整个数据库设置为离线
    checkpoint
    go

    ALTER DATABASE WC
    SET OFFLINE
    go

    --修改文件名称
    ALTER DATABASE WC
    MODIFY FILE
    (
      NAME = WC_fg8,
      FILENAME = 'D:\WC\WC_FG8.NDF'
    )
    go

    --把原来的文件复制到新的位置:'D:\WC\WC_FG8.NDF'


    --设置数据库在线
    ALTER DATABASE WC
    SET ONLINE


    4、设置默认文件组、只读文件组
    复制代码 代码如下:

    --设置默认文件组
    ALTER DATABASE WC
    MODIFY FILEGROUP WC_FG8 DEFAULT


    --设为只读文件组
    --如果文件已经是某个属性,不能再次设置相同属性
    ALTER DATABASE WC
    MODIFY FILEGROUP WC_FG8 READ_WRITE
    5、收缩数据库、 收缩文件
    --收缩数据库 
    DBCC SHRINKDATABASE('test',    --要收缩的数据库名称或数据库ID 
                        10         --收缩后,数据库文件中空间空间占用的百分比 
                        ) 

     
    DBCC SHRINKDATABASE('test',    --要收缩的数据库名称或数据库ID 
                        10,        --收缩后,数据库文件中空闲空间占用的百分比 
                        NOTRUNCATE --在收缩时,通过数据移动来腾出自由空间 
                        ) 

                         
    DBCC SHRINKDATABASE('test',      --要收缩的数据库名称或数据库ID 
                        10,          --收缩后,数据库文件中空间空间占用的百分比 
                        TRUNCATEONLY --在收缩时,只是把文件尾部的空闲空间释放 
                        ) 

     
    --收缩文件 
    DBCC SHRINKFILE(wc_fg8,   --要收缩的数据文件逻辑名称 
                    7         --要收缩的目标大小,以MB为单位 
                    ) 

    DBCC SHRINKFILE(wc_fg8,   --要收缩的数据文件逻辑名称 
                    EMPTYFILE --清空文件,清空文件后,才可以删除文件 
                    )


    6、删除文件、 删除文件组
    复制代码 代码如下:

    --要删除文件,必须要先把文件上的数据删除,或者移动到其他文件或文件组上

    --删除数据后,必须要清空文件的内容
    DBCC SHRINKFILE(WC_FG8,EMPTYFILE)

    --删除文件,同时也在文件系统底层删除了文件
    ALTER DATABASE test
    REMOVE FILE WC_FG8

    --要删除文件组,必须先删除所有文件

    --最后删除文件组
    ALTER DATABASE test
    REMOVE FILEGROUP WC_FG8
    7、重新组织索引

    ALTER INDEX [idx_temp_lock_id] ON [dbo].[temp_lock]
    REORGANIZE
    WITH ( LOB_COMPACTION = ON )


    8、重新生成索引
    复制代码 代码如下:

    ALTER INDEX [idx_temp_lock_id] ON [dbo].[temp_lock]
    REBUILD PARTITION = ALL
    WITH ( PAD_INDEX  = OFF,
           STATISTICS_NORECOMPUTE  = OFF,
           ALLOW_ROW_LOCKS  = ON,
           ALLOW_PAGE_LOCKS  = ON,
           ONLINE = OFF,
           SORT_IN_TEMPDB = OFF )

    9、更新统计信息
    复制代码 代码如下:

    --更新表中某个的统计信息 
    update statistics temp_lock(_WA_Sys_00000001_07020F21) 

    update statistics temp_lock(_WA_Sys_00000001_07020F21) 
    with sample 50 percent 

    update statistics temp_lock(_WA_Sys_00000001_07020F21) 
    with resample,    --使用最近的采样速率更新每个统计信息 
         norecompute  --查询优化器将完成此统计信息更新并禁用将来的更新 

    --更新索引的统计信息 
    update statistics temp_lock(idx_temp_lock_id) 
    with fullscan         

    --更新表的所有统计信息 
    update statistics txt 
    with all


    10、执行SQL Server代理作业

    11、备份数据库(完整、差异、日志备份),这个在其他文章中已有详细描述,这里不再赘述。

    复制代码 代码如下:

    ALTER INDEX [idx_temp_lock_id] ON [dbo].[temp_lock]
    REBUILD PARTITION = ALL
    WITH ( PAD_INDEX  = OFF,
           STATISTICS_NORECOMPUTE  = OFF,
           ALLOW_ROW_LOCKS  = ON,
           ALLOW_PAGE_LOCKS  = ON,
           ONLINE = OFF,
           SORT_IN_TEMPDB = OFF )

    您可能感兴趣的文章:
    • SQLServer 常用语句(按功能分)
    • SQLServer 管理常用SQL语句
    • Sqlserver 常用日期时间函数
    • 诊断SQLSERVER问题常用的日志概述及使用
    上一篇:SQL Server DBA日常检查常用SQL
    下一篇:sql带分隔符的截取字符串示例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    SQL Server DBA维护常用语句 SQL,Server,DBA,维护,常用,语句,