• TSQL管理数据库和数据库文件


    1、查看数据库的状态
      目录视图:select name , state_desc from sys.databases  where name = 'stusystem'
      函数:select DATABASEPROPERTYEX('stusystem','status')
      存储过程:sp_helpdb stusystem
    2、修改数据库
      2-1修改数据库名称
        alter database database_name modify name = new_name
        exec sp_renamedb 'studentsystem','stusystem'
      2-2扩大数据库
        alter database stusystem
        add file
        (  name , filename , size , maxsize , filegrowth )
      2-3收缩数据库,收缩后的数据库不能小于数据库的最小大小
        自动数据库收缩:在alter table 语句中,可以将auto_shrink选项设置为on
        手动收缩数据库:
          desc shrinkdatabase
          ( database_name | database_id | 0  要收缩的数据库名称或者ID,如果指定为0,则使用当前数据库
          [ , target_percent ]    收缩后的数据库文件中所需的剩余可用空间百分比
          )
      2-4收缩数据库文件
        手动数据库文件收缩
        dbcc shrinkfile
        (
          { file_name | file_id }
          { [ , emptyfile ]
          |  [ [ , target_size ] [ , { notruncate | truncateonly } ] ]
          }
        )
        [ with no_infomsgs ]
      2-5移动数据库文件(适用于同意SQL Server实例)
        alter database database_name
        modify file ( name = logical_name , filename = 'new_path\os_file_name' )
      2-6删除数据库
        drop database database_name [  , . . . n]
      2-7分离数据库
        分离数据库是指将数据库从SQL Server实例中删除 , 但使数据库在其数据文件和事务日志中保持不变
        如果存在下列任何情况,则不能分离数据库
          该数据库是系统数据库
          该数据库已经复制并发布。如果要分离数据库,必须首先执行sp_replicationdboption
          数据库中存在数据库快照。必须首先删除所有数据库快照再分离数据库
          数据库正在某个数据库镜像会话中进行镜像。必须先终止该会话再分离数据库
          数据库处于可疑状态,必须将数据库设为紧急模式再分离数据库
        exec  sp_detach_db stusystem
      2-8附加数据库
        create database stusystem
        on
        (
           name = stusystem_DAT,
           filename = 'E:\SQL\stusystem\stusystem_DAT.mdf',
           size = 20MB,
           maxsize = 40MB,
           filegrowth = 5%
        ),
        (
           name = stusystem_DAT1,
           filename = 'E:\SQL\stusystem\stusystem_DAT1.ndf',
           size = 20MB,
           maxsize = 40MB,
           filegrowth = 5%
        ),
        (
           name = stusystem_DAT2,
           filename = 'E:\SQL\stusystem\stusystem_DAT2.ndf',
           size = 20MB,
           maxsize = 40MB,
           filegrowth = 5%
        )
        log on
        (
           name = stusystem_LOG,
           filename = 'E:\SQL\stusystem\stusystem_LOG.ldf',
           size = 10MB,
           maxsize = 20MB,
           filegrowth = 1MB
        )
        for attach
    3、数据库快照(Express 版本不支持,必须保存在NTFS文件系统的分区上)
      3-1工作原理
        数据库快照与源数据库相关。数据库快照必须与数据库在同一服务器实例上
        数据库快照运行在数据页级
      3-2创建数据库快照
        create database database_snapshot_name
        on
        (
          name = logical_file_name ,
          filename = 'os_file_name' ,
        )[ , . . . n ]
        as snapshot of source_database_name
      3-3数据库恢复到数据库快照
        resotre database database_name from database_snapshot = database_snapshot_name
        
        

  • 相关阅读:
    Android 4.0新增Space及GridLayout初谈
    phpweb文件上传下载
    文件上传下载
    php大文件上传
    word图片上传到服务器
    文件中心支持上传下载
    文件管理系统开源
    ueditor word图片上传
    web超大文件上传
    java大视频上传实现
  • 原文地址:https://www.cnblogs.com/changweihua/p/2195104.html
Copyright © 2020-2023  润新知