• 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:行版本,在创建表的时候无需给出列名,插入数据的时候也不用管。

                                                                    

  • 相关阅读:
    [转]ExtJs 中 xtype 与组件类的对应表
    [转]通过命令行处理图形
    Windows下删除.svn文件夹的最简易方法
    tomcat 设置缓存大小
    二月份的精选奇趣网站(收藏轉)
    stage.focus
    利用键盘按键操控地图
    flash 随机函数
    flash as 3.0 制作一个旋转 影片剪辑
    in关键字的使用
  • 原文地址:https://www.cnblogs.com/zhh19981104/p/7876165.html
Copyright © 2020-2023  润新知