zoukankan      html  css  js  c++  java
  • SQLserver2数据库操作

    ——————————————————————————收缩数据库和数据文件————————————————————

    /*使用DBCC SHRINKDATABASE 收缩数据库

    收缩WebShop数据库,剩余可用空间10%*/

    DBCC SHRINKDATABASE(WebShop,10) 

    /*使用DBCC SHRINKFILE收缩数据文件

    将数据库WebShop中名为DataFile1的数据文件收缩到10MB*/

    USE WebShop

    GO

    DBCC SHRINKFILE(DataFile1,10)

    GO

    ———————————————————移动数据库文件———————————————————————————

    /*通过在 ALTER DATABASE语句的FILENAME子句中指定新文件的位置,可以移动系统数据库文件和自定义数据库文件,但是资源数据库文件除外。 (资源数据库移动或者重命名,SQLserver无法启动)

    数据、日志、全文目录文件也可以通过此方法进行移动,此方法在下面情况下可用1)故障恢复,例如因为硬件故障,数据库处于可疑模式或者被关闭;2)预先安排的重定位;3)为预定的磁盘维护操作而进行的重定位。*/

    --数据库文件的逻辑名称才可以运行 ALTER DATABASE语句,要获取逻辑名称可查询sys.master_files 目录视图下的name列

    --确定tempdb数据库的逻辑文件名称以及在磁盘上的当前位置--

    SELECT name,physical_name

    FROM sys.master_files

    WHERE database_id = DB_ID('tempdb');

    GO

    --使用ALTER DATABASE 更改每个文件的位置--

    USE master;

    GO

    ALTER DATABASE tempdb

    MODIFY FILE (NAME = tempdev,FILENAME = 'D:/DATA/tempdb.mdf');

    GO

    ALTER DATABASE tempdb

    MODIFY FILE (NAME = templog,FILENAME = 'D:/DATA/templog.ldf');

    GO

    --停止并且重启SQLserver--

    --验证文件更改--

    SELECT name,physical_name

    FROM sys.master_files

    WHERE database_id = DB_ID('tempdb');

    /*每次启动SQLserver服务时都会重建tempdb,因此不需要从物理意义上移动数据和日志文件,在重启服务是会创建这些文件。重启后,tempdb才继续在当前位置发挥作用*/

    —————————————————————————更改数据库所有者———————————————————————————————

    使用存储过程sp_changedbwner来实现

  • 相关阅读:
    flink on yarn部分源码解析 (FLIP-6 new mode)
    flink on yarn部分源码解析
    flink window的early计算
    【flink training】 打车热点区域实时统计PopularPlaces
    troubshooting-sqoop 导出 TiDB表数据报com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
    Hive2.0常用函数(对编辑器很无语😓)
    Hive正则表达式
    troubleshooting-Container 'PHYSICAL' memory limit
    Hive-查询结果导入到 MySQL
    Hive-复制表
  • 原文地址:https://www.cnblogs.com/jaci/p/11273182.html
Copyright © 2011-2022 走看看