SQL Sever 数据库视频(二) 1024节日快乐!

分离数据库:

  其实就是将数据库从SQL Server 2008的实例中分离出去,但是不会删除该数据中的文件和事务日志文件,这样,数据库就可以再附加到其他的 SQL Server 2008实例上去  (也可以理解成数据库独立出去,附加到别的实例上去)

 但是,数据库在有些情况和状态下也是无法分离的

  (1)已经复制并且发布的数据库

  (2)数据库存在数据库快照。

  (3)数据库处于未知状态。

附加数据库:

  附加数据库是和分离相反的。 通俗点说就是除了当前的数据库之外,我们在额外的添加一个数据库到实例当中去。

如果任何数据库文件的路径和与创建数据库或上次附加数据库时的路径不同,则必须制定文件的当前路径。   在附加的额过程,如果没有日志文件,系统将创建一个新的文件。

缩数据库:

      假如说把一个新建的数据库设置为一个 G 用的时候发现太大了,用不了那么多空间所以通过收缩来进行减少多余的空间。

  收缩的时候分两种状态 (1)是对文件进行收缩

                                       (2)对数据库进行收缩

数据库快照:

    就是像拍照片一样,数据库快照实际上就是提供了元数据库在创造快照时刻 只读,静态的试图。   一旦数据库建立之后,这个数据库快照就是我们在创建快照那时刻数据库的情况(定格在数据库原有的情况),虽然数据库是一只不断在变化,但是快照是不会在变了。

    优点:

   (1)维护历史数据,生成报表。

   (2)将查询实施在数据库的快照上,可以释放主体数据库上的资源。

   (3)加快恢复操作效率,使用快照时候可以将数据库恢复到生成快照时候的状态比从备份还原加快的多;但是,此后将无法对数据库进行前滚操作。     

    限制:

   (1)不能对数据库进行删除,分离或还原。

   (2)源数据库性能受到影响。

   (3)不能从源数据库中或任何快照中删除文件。

   (4)源数据库必须处于在线状态,除非改数据库在数据库镜像会话中是镜像数据库。

创建数据库快照创建

  刚才大致的介绍了数据库的快照,现在介绍下,怎么在原数库上创建数据库快照。

       语法格式:

                 

CREATE DATABASE database snapshot_name


                 NO     '关键字


                (


                  NAME = LOGICAL SNAPSHOT_NAME


                   FILENAME = 'os_file_name'


                   ) [,...n]


                   AS SNAPSHOT OF source_database_name


                   [;]


  
下面来具体的操作下:


          打开Management Studio 打开新建查询 编写代码创建


                     create database studentinfo_snap


                     on


                     (name = 学生成绩管理系统,filename = 'E: \ ...)     '打开数据文件


                     as snapshot of 学生成绩管理系统         ’子句as   

点击对勾(创建完成  就可以看到数据库快照下已经创建好的数据库快照)

从数据库快照恢复数据语句:
                   

RESTORE DATABASE <database name>


                    FROM


                    DATABASE_SNAPSHOT = <database_snapshot_name>

         

                  

1.字段的数据类型:

       28种数据类型

   (1) 整数数据类型: bigint,int,smallint,tinyint.

   (2)  高精度小数类型: nmueric 和 decimal  

   (3) 表示金钱的:money 和 smallmoney

   (4) float 和real 数据类型

   (5) 表示 0 ; 1 : Bit

2. 字符数据类型:

    (1) char

    (2) Varchar

    (3) Text

    (4) Nchar      

    (5) Nvarchar

    (6) ntext

3. 日期和时间数据类型:

   (1) datetime                 范围大,精度小                 

   (2) smalldatetime          范围小,精度大

4. 二进制数据类型:

    (1) binary,  

    (2),varbinay

    (3) image 

       两种用于存储二进制数据

5. 专用数据类型

    cursor,sql_variant,table,timestamp,等...

6. 户定义数据类型:

    就是用户自己设计  并且自己实现的数据类型就成为 “用户自定义数据类型”,即使这些数据类型基于系统数据类型。

当创建用户定义数据类型时,必须提供三个条件:

   (1) 数据类型的名称

   (2) 所基于的系统数据类型

   (3) 数据类型的可空性

规则:

        规则的作用就是CHECK 约束的部分相同功能相同,在向表的某列插入或更新数据时,用规则来限制输入的新值的取值范围。

  规则跟CHECK 约束不同的是:

     (1) CHECK 的约束使用CREATE TALBE语句在创建表时制定的,而规则则需要作为单独的数据库来实现

     (2) 在一列上只能使用一个规则,但可以使用多个CHECK 约束。

     (3) 规则可以应用多个列,还可以应用于用户自定义的数据类型,而CHECK 约束只能应用于它定义的列。

创建规则: 

          CREATE RULE rule_name

         AS

         condition_expression

  好啦 我们今天就先总结到这里,   今天可是 “1024”  这是程序员的节日  虽然我们还在上学   但是我觉得 这也应该是我们的节日吧,因为我们每天也在撸代码!!!

  

                              

猜你喜欢

转载自blog.csdn.net/M_hcCSDN/article/details/83315170