zoukankan      html  css  js  c++  java
  • Server SQL2008对文件的基础操作—01

    1、一个文件的基本框架为:文件名、文件地址、文件大小、文件最大的大小、文件的增量(Filegrowth)。

    2、文件有mdf、ndf、ldf 三种文件的区别。

    3、文件组可以进行文件的管理 FileGroup 默认的文件组是 Primary 日志文件无文件组的概念,存在Log文件中。

    4、

    alter database 数据库名 add  fileGroup 文件组名                       --添加文件组
    (文件)
    
    to filegroup 文件组名 --将文件添加到相关的文件组中去

    实例:

    alter database Stu_db2 add filegroup file_group         --向数据库中添加了新的文件组,file_group
    
    go
    
    alter database Stu_db2 add file
    (
    name=N'new_datafile',
    filename='D:SQl_ProjectSQL_02
    ew_datafile.ndf',
    size=3072kb,
    maxsize=unlimited,
    filegrowth=1024kb
    )
    to filegroup file_group                                                            --向文件组中添加文件new_datafile

    5、修改文件组为默认的文件组;

    alter database 数据库名 modify filegroup 文件组名 default

    6、修改文件组的名字

    alter database 数据库名 modify filegroup 文件组名 name =新的文件组名

    7.1、设置文件组为只读

    alter database 数据库名 modify filegroup 文件组名 Readonly

    7.2:设置文件组为可读写;

    alter database 数据库名 modify filegroup 文件组名 Readonly

    8、删除文件组

    alter database 数据库名 remove filegroup 文件组名 *注意,删除文件组要确保文件组中没有数据文件。

    9、查看数据库的大小:

    exec/execute sp_spaceused

    10、查看数据中文件的详细信息:

    exec sp_helpdb 数据库名
     sp_configure 使用sp_configure存储过程可设置实例范围内的配置选项

    11、删除数据库;

    drop database 数据库名

    12、修改数据库的名字;

    alter database 数据库名 modify name=新的数据库名

    13、如果数据库的空间不足,则可以通过以下的方法进行设置;

    13.1.1、添加新的次要文件或次要的日志文件

    13.1.2、修改增量和文件大小:

     alter database 数据库名
    modify file
    (
    name=Onedb, --要修改的文件名
    size=20, --文件大小
    filegrowth=10% --文件的增量
    )


    14、收缩数据库

    14.1.1、直接修改增量和文件大小,参考以上,只是把文件大小改小了。

    14.2.1、设置数据库为自动收缩;

    alter database 数据库名 set auto_shrink on --不是最优的方法

    14.3.1、

    DBCC shrinkdatabase('要收缩的数据库名',可用空间的比例) 收缩数据库

    **注意,如果收缩的是当前使用的数据库,则可以用0代替该数据库名。

    14.4.1、

    DBCC shrinkfile('要收缩的数据库文件名',收缩文件大小) 收缩数据库文件

    15、数据库快照(注意,只有企业版才支持快照的功能,标准版不支持)

    15.1.1、创建数据库快照;

    create database 快照名称
    On
    (
    name=数据库中的文件名,
    filename='快照文件的存放地址'
    ),
    ( --如果数据库中有多个文件的话,
    要一一的将每个文件进行指定
    )
    as snapshot of 数据库名

    15.2.1、查询数据库快照:

    select*from 数据库快照名

    15.3.1、数据快照是只读的,所以不能为其添加文件和数据

    15.3.1、用快照对数据库进行恢复;

    restore database 数据库名 from database_snapshot='数据库快照名'

    16、分离数据库:

    exec sp_detach_db 数据库名

    17、附加数据库;

    create database 新的数据库名
    on
    ( filename='文件地址' --可以选择的附加数据库中的相关文件,建议全部附加),
    (filename=''for attach

    18、如果附加的日志文件无法使用,则可以指定系统重新构建新的日志文件;

    create database 数据库名 on
    (filename='数据库文件所在的路径')
    for attach_rebuild_log

    19、移动数据库文件:

    19.1.1、首先要讲数据库状态设为offline
    
    19.2.1alter database 数据库名 modify file(name=文件名,filename='新路径')
    
    19.3.1、再将数据库的状态设置为online 

    20.1.1、完全备份数据库:

     backup database 要备份的数据库名
    
    to disk='备份文件存放的位置' with name='备份集名称',
    
    description='数据库描述【数据库完全备份/数据库差异备份】',
    
    --init --指定重写所有备份集 noinit 不覆盖现有的备份

     
    20.2.1、差异备份数据库;

     back database 要备份的数据库名
    
    to disk ='备份文件存放的位置'
    
    with differential [differential表示这是差异备份] ,
    
    description='数据库差异备份',
    
    init

     
    21、还原数据库:

    第一步:还原完全备份的数据:

    restore database 数据库名 from disk='文件地址.bak' with file=1--备份设备中的第一个备份集,
    norecovery , --不对数据库执行任何操作
    nounload, --不对数据库做任何操作,不回滚相关的事物
    replace, --覆盖现有的数据库



    第二步:还原差异备份的数据:

    restore database 数据库名 from disk='文件地址' with file=1--备份设备中的第一个备份集,
    norecovery , --不对数据库执行任何操作
    nounload, --不对数据库做任何操作,不回滚未提交的事物
    replace, --覆盖现有的数据库

    注意;如果还有差异备份的话,还要将差异备份中的数据进行还原,否则还原的过程会出错。


    DDL:

    1、在数据库中创建表;

    create table 表明(列名 类型, ...)


    2、在表中插入数据:

    insert into 表名(列名1,列名2.、、、) values(对应列的值)

    3、为表中更新数据:

    updata 表名 set 列名 where 条件。 

    4、删除表/表中的数据【列/行】

    delete 表名/表中数据

    5、在sever sql 中变量分为局部变量和全局变量 ,声明局部变量用declare,变量名称的前面要有@字符。

    6、全局变量: 。

    7.1.1、其中数据类型要注意:decimal 和numeric

    语法: decimal(p,s) --其中p:代表数的总位数,s:代表小数点后的小数位数。
    numeric的语法与decimal类似的。

     7.2.1、货币类型:

    money/smallmoney

    7.3.1、日期和时间数据类型

    7.4.1、二进制数据类型;

    binary[n] :如果没有指定n的值,则默认为1

    7.5.1:其他数据类型:

    timestamp:行版本,在创建表的时候无需给出列名,插入数据的时候也不用管。

                                                                    

  • 相关阅读:
    C# 图片与Base64的相互转化
    LeetCode 303. Range Sum Query – Immutable
    LeetCode 300. Longest Increasing Subsequence
    LeetCode 292. Nim Game
    LeetCode 283. Move Zeroes
    LeetCode 279. Perfect Squares
    LeetCode 268. Missing Number
    LeetCode 264. Ugly Number II
    LeetCode 258. Add Digits
    LeetCode 257. Binary Tree Paths
  • 原文地址:https://www.cnblogs.com/zhh19981104/p/7876165.html
Copyright © 2011-2022 走看看