是这样的,目前接手了一个数据,是带有文件分组的。
看了半天还是稀里糊涂的,跪求一些相关的资料,外求解释下这些语句,都有些什么作用。
我应该怎么去看,如果我要在另外一个服务器恢复这样的数据库的备份文件我应该怎么做。
下面是语句:
USE [master]
GO/****** Object:  Database [MDATA]    Script Date: 03/20/2012 15:02:04 ******/
CREATE DATABASE [MDATA] ON  PRIMARY 
( NAME = N'MDATA', FILENAME = N'F:\DataFile\MDATA.mdf' , SIZE = 148009920KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ), 
 FILEGROUP [MDATA201001] 
( NAME = N'MDATA201001', FILENAME = N'F:\DataFile\MDATA201001.ndf' , SIZE = 1351488KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10240KB ), 
 FILEGROUP [MDATA201002] 
( NAME = N'MDATA201002', FILENAME = N'F:\DataFile\MDATA201002.ndf' , SIZE = 1200384KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10240KB ), 
 FILEGROUP [MDATA201003] 
( NAME = N'MDATA201003', FILENAME = N'F:\DataFile\MDATA201003.ndf' , SIZE = 1339136KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10240KB ), 
 FILEGROUP [MDATA201004] 
( NAME = N'MDATA201004', FILENAME = N'F:\DataFile\MDATA201004.ndf' , SIZE = 1346880KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10240KB ), 
 FILEGROUP [MDATA201005] 
( NAME = N'MDATA201005', FILENAME = N'F:\DataFile\MDATA201005.ndf' , SIZE = 4130112KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10240KB ), 
 FILEGROUP [MDATA201006] 
( NAME = N'MDATA201006', FILENAME = N'F:\DataFile\MDATA201006.ndf' , SIZE = 1406592KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10240KB ), 
 FILEGROUP [MDATA201007] 
( NAME = N'MDATA201007', FILENAME = N'F:\DataFile\MDATA201007.ndf' , SIZE = 1420160KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10240KB ), 
 FILEGROUP [MDATA201008] 
( NAME = N'MDATA201008', FILENAME = N'F:\DataFile\MDATA201008.ndf' , SIZE = 7667584KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10240KB ), 
 FILEGROUP [MDATA201101] 
( NAME = N'MDATA201101', FILENAME = N'F:\DataFile\MDATA201101.ndf' , SIZE = 1667520KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10240KB ), 
 FILEGROUP [MDATA201102] 
( NAME = N'MDATA201102', FILENAME = N'F:\DataFile\MDATA201102.ndf' , SIZE = 1529600KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10240KB ), 
 FILEGROUP [MDATA201103] 
( NAME = N'MDATA201103', FILENAME = N'F:\DataFile\MDATA201103.ndf' , SIZE = 1746176KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10240KB ), 
 FILEGROUP [MDATA201104] 
( NAME = N'MDATA201104', FILENAME = N'F:\DataFile\MDATA201104.ndf' , SIZE = 1704576KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10240KB ), 
 FILEGROUP [MDATA201105] 
( NAME = N'MDATA201105', FILENAME = N'F:\DataFile\MDATA201105.ndf' , SIZE = 7635648KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10240KB ), 
 FILEGROUP [MDATA201106] 
( NAME = N'MDATA201106', FILENAME = N'F:\DataFile\MDATA201106.ndf' , SIZE = 7114944KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10240KB ), 
 FILEGROUP [MDATA201107] 
( NAME = N'MDATA201107', FILENAME = N'F:\DataFile\MDATA201107.ndf' , SIZE = 7900416KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10240KB ), 
 FILEGROUP [MDATA201108] 
( NAME = N'MDATA201108', FILENAME = N'F:\DataFile\MDATA201108.ndf' , SIZE = 9269632KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10240KB ), 
 FILEGROUP [MDATA201109] 
( NAME = N'MDATA201109', FILENAME = N'F:\DataFile\MDATA201109.ndf' , SIZE = 9299456KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10240KB ), 
 FILEGROUP [MDATA201110] 
( NAME = N'MDATA201110', FILENAME = N'F:\DataFile\MDATA201110.ndf' , SIZE = 9960576KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10240KB ), 
 FILEGROUP [MDATA201111] 
( NAME = N'MDATA201111', FILENAME = N'F:\DataFile\MDATA201111.ndf' , SIZE = 9987136KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10240KB ), 
 FILEGROUP [MDATA201112] 
( NAME = N'MDATA201112', FILENAME = N'F:\DataFile\MDATA201112.ndf' , SIZE = 10393600KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10240KB ), 
 FILEGROUP [MDATA201201] 
( NAME = N'MDATA201201', FILENAME = N'F:\DataFile\MDATA201201.ndf' , SIZE = 10321920KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10240KB ), 
 FILEGROUP [MDATA201202] 
( NAME = N'MDATA201202', FILENAME = N'F:\DataFile\MDATA201202.ndf' , SIZE = 9973760KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10240KB ), 
 FILEGROUP [MDATA201203] 
( NAME = N'MDATA201203', FILENAME = N'F:\DataFile\MDATA201203.ndf' , SIZE = 5836800KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10240KB ), 
 FILEGROUP [IMPORTS] 
( NAME = N'IMPORT', FILENAME = N'D:\DataFile\IMPORT.ndf' , SIZE = 12697600KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10240KB )
 LOG ON 
( NAME = N'MDATA_log', FILENAME = N'D:\DataFile\MDATA_log.ldf' , SIZE = 3164032KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GOALTER DATABASE [MDATA] SET COMPATIBILITY_LEVEL = 100
GOIF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC [MDATA].[dbo].[sp_fulltext_database] @action = 'enable'
end
GOALTER DATABASE [MDATA] SET ANSI_NULL_DEFAULT OFF 
GOALTER DATABASE [MDATA] SET ANSI_NULLS OFF 
GOALTER DATABASE [MDATA] SET ANSI_PADDING OFF 
GOALTER DATABASE [MDATA] SET ANSI_WARNINGS OFF 
GOALTER DATABASE [MDATA] SET ARITHABORT OFF 
GOALTER DATABASE [MDATA] SET AUTO_CLOSE OFF 
GOALTER DATABASE [MDATA] SET AUTO_CREATE_STATISTICS ON 
GOALTER DATABASE [MDATA] SET AUTO_SHRINK OFF 
GOALTER DATABASE [MDATA] SET AUTO_UPDATE_STATISTICS ON 
GOALTER DATABASE [MDATA] SET CURSOR_CLOSE_ON_COMMIT OFF 
GOALTER DATABASE [MDATA] SET CURSOR_DEFAULT  GLOBAL 
GOALTER DATABASE [MDATA] SET CONCAT_NULL_YIELDS_NULL OFF 
GOALTER DATABASE [MDATA] SET NUMERIC_ROUNDABORT OFF 
GOALTER DATABASE [MDATA] SET QUOTED_IDENTIFIER OFF 
GOALTER DATABASE [MDATA] SET RECURSIVE_TRIGGERS OFF 
GOALTER DATABASE [MDATA] SET  DISABLE_BROKER 
GOALTER DATABASE [MDATA] SET AUTO_UPDATE_STATISTICS_ASYNC OFF 
GOALTER DATABASE [MDATA] SET DATE_CORRELATION_OPTIMIZATION OFF 
GOALTER DATABASE [MDATA] SET TRUSTWORTHY OFF 
GOALTER DATABASE [MDATA] SET ALLOW_SNAPSHOT_ISOLATION OFF 
GOALTER DATABASE [MDATA] SET PARAMETERIZATION SIMPLE 
GOALTER DATABASE [MDATA] SET READ_COMMITTED_SNAPSHOT OFF 
GOALTER DATABASE [MDATA] SET HONOR_BROKER_PRIORITY OFF 
GOALTER DATABASE [MDATA] SET  READ_WRITE 
GOALTER DATABASE [MDATA] SET RECOVERY SIMPLE 
GOALTER DATABASE [MDATA] SET  MULTI_USER 
GOALTER DATABASE [MDATA] SET PAGE_VERIFY CHECKSUM  
GOALTER DATABASE [MDATA] SET DB_CHAINING OFF 
GO
其他还需要提供的请告诉我,谢谢了。

解决方案 »

  1.   

    做个备份,然后在要还原的服务器的F盘建个DataFile文件夹再还原,这是最简单的办法,如果要移文件位置,可以用sys.database_files拼还原语句里的move to
      

  2.   

    1.如果你的数据没有达到恐怖的亿级数量,没有必要分组.2.如果你一定要分组,可参考如下内容:SQL Server 2005中的文件和文件组SQL Server 2005中的文件和文件组
    上一篇 / 下一篇  2010-03-05 15:30:22 / 个人分类:SQL Server 2005 查看( 126 ) / 评论( 0 ) / 评分( 0 / 0 ) 
    1、文件和文件组的含义与关系 
    每个数据库有一个主数据文件.和若干个从文件。文件是数据库的物理体现。文件组可以包括分布在多个逻辑分区的文件,实现负载平衡。文件组允许对文件进行分组,以便于管理和数据的分配/放置。例如,可以分别在三个硬盘驱动器上创建三个文件(Data1.ndf、Data2.ndf 和 Data3.ndf),并将这三个文件指派到文件组 fgroup1 中。然后,可以明确地在文件组 fgroup1 上创建一个表。对表中数据的查询将分散到三个磁盘上,因而性能得以提高。在 RAID(磁盘冗余阵列)条带集上创建单个文件也可以获得相同的性能改善。然而,文件和文件组使您得以在新磁盘上轻易地添加新文件。另外,如果数据库超过单个 Microsoft Windows 文件的最大大小,则可以使用次要数据文件允许数据库继续增长。2、文件、文件组在实践应用中常见的问题通常情况下我们构造的数据库都只有两个文件,mdf文件和ldf文件.但是这样有两个缺点:(一)容易导致文件过大我们知道,mdf文件是数据库文件,这样的话也就意味着随着数据库的增大mdf就会相应的增大,显然在现在的应用中数据膨胀是太常见的事情了,当你的应用变大后,mdf文件也会变大,然而windows对文件的大小是有要求的,这样的话很容易导致mdf文件达到windows所允许的文件大小的界限 (于是数据库就崩溃了)。(二)没有利用到磁盘阵列大型的服务器好多都有磁盘阵列,你可以把磁盘阵列简单的假象成n个一块转动的磁盘,磁盘阵列的设计是希望通过多个磁盘的串联来得到更大的读写效率. 但是如果你的数据库只有一个mdf文件(ldf文件暂时不考虑),那么你总是只能够利用这个磁盘阵列里面的一个磁盘而已.那样的话昂贵的磁盘阵列的效率就由并联变成串联了.试想如果我们能够让mdf分散成多个文件,比如说磁盘阵列上的每个磁盘中都分配一个文件,然后把mdf中的数据分散到各个文件中,我在读取的时候就是串联的读取了,这样就充分的利用了磁盘阵的存取效能.这两个问题平常我们没有遇到过(条件不具备),但是做大型的服务开发的时候这几乎是致命的.3、查询文件组和文件语句这在2005下,运行SELECT df.[name],
    df.physical_name,
    df.[size],
    df.growth,
    f.[name][filegroup],
    f.is_default
    FROM sys.database_files df JOIN sys.filegroups f
    ON df.data_space_id = f.data_space_id4、MSDN官方解释了解文件和文件组每个 SQL Server 数据库至少具有两个操作系统文件:一个数据文件和一个日志文件。数据文件包含数据和对象,例如表、索引、存储过程和视图。日志文件包含恢复数据库中的所有事务所需的信息。为了便于分配和管理,可以将数据文件集合起来,放到文件组中。à数据库文件
    SQL Server 数据库具有三种类型的文件,如下所示主要數據文件主要数据文件包含数据库的启动信息,并指向数据库中的其他文件。用户数据和对象可存储在此文件中,也可以存储在次要数据文件中。每个数据库有一个主要数据文件。主要数据文件的建议文件扩展名是 .mdf.
    次要数据文件是可选的,由用户定义并存储用户数据。通过将每个文件放在不同的磁盘驱动器上,次要文件可用于将数据分散到多个磁盘上。另外,如果数据库超过了单个 Windows 文件的最大大小,可以使用次要数据文件,这样数据库就能继续增长。次要数据文件的建议文件扩展名是 .ndf。
    事务日志文件
    事务日志文件保存用于恢复数据库的日志信息。每个数据库必须至少有一个日志文件。事务日志的建议文件扩展名是 .ldf.à文件组
    每个数据库有一个主要文件组。此文件组包含主要数据文件和未放入其他文件组的所有次要文件。可以创建用户定义的文件组,用于将数据文件集合起来,以便于管理、数据分配和放置。例如,可以分别在三个磁盘驱动器上创建三个文件 Data1.ndf、Data2.ndf 和 Data3.ndf,然后将它们分配给文件组 fgroup1。然后,可以明确地在文件组 fgroup1 上创建一个表。对表中数据的查询将分散到三个磁盘上,从而提高了性能。通过使用在 RAID(独立磁盘冗余阵列)条带集上创建的单个文件也能获得同样的性能提高。但是,文件和文件组使您能够轻松地在新磁盘上添加新文件。以下列出了存储在文件组中的所有数据文件。主文件组
    主要包含主要文件的文件组。所有系统表都被分配到主要文件组中。
    用户定义文件組用户首次创建数据库或以后修改数据库时明确创建的任何文件组默认文件组
    如果在数据库中创建对象时没有指定对象所属的文件组,对象将被分配给默认文件组。不管何时,只能将一个文件组指定为默认文件组。默认文件组中的文件必须足够大,能够容纳未分配给其他文件组的所有新对象。PRIMARY 文件组是默认文件组,除非使用 ALTER DATABASE 语句进行了更改。但系统对象和表仍然分配给 PRIMARY 文件组,而不是新的默认文件组。5、操作實例--(5.1)创建数据库
    --切换到 master 数据库
    USE master
    GO
    create database db_Study
    on primary --主文件组和主要数据文件
    (name='db_study_Primary',
    filename='D:\study\db_study_pri.mdf'),
    filegroup db_Study_filegroup1 --用户定义文件组1
    (name='db_study_fg_data1',
    filename='D:\study\db_study_fg_data1_1.ndf'),--次要数据文件1
    (name='db_study_fg_data2' ,
    filename='D:\study\db_study_fg_data2_2.ndf'),--次要数据文件2
    filegroup db_Study_filegroup2
    (name='db_study_fg_data3',
    filename='D:\study\db_study_fg_data3_1.ndf')
    log on
    (name='db_study_log',
    filename='D:\study\db_study.ldf')
    go
    --5.2查询文件组和文件
    SELECT df.[name],
    df.physical_name,
    df.[size],
    df.growth,
    f.[name][filegroup],
    f.is_default
    FROM sys.database_files df JOIN sys.filegroups f
    ON df.data_space_id = f.data_space_id
    /*
    name physical_name size growth filegroup is_default
    db_study_Primary D:\study\db_study_pri.mdf 280 128 PRIMARY 1
    db_study_fg_data1 D:\study\db_study_fg_data1_1.ndf 128 128 db_Study_filegroup1 0
    db_study_fg_data2 D:\study\db_study_fg_data2_2.ndf 128 128 db_Study_filegroup1 0
    db_study_fg_data3 D:\study\db_study_fg_data3_1.ndf 128 128 db_Study_filegroup2 0
    */--5.3修改默认数据文件组
    alter database db_study
    modify filegroup db_study_filegroup1 default
    --5.4
    --在默认文件组db_study_filegroup1创建表,
    --并且指定图像数据保存在用户定义文件组db_study_filegroup1
    create table my_test
    (
    ID int primary key,
    [Name] varchar(10),
    PIC image
    )textimage_on db_study_filegroup2
    --在用户定义文件组db_study_filegroup2上创建索引
    create index ix_my_test on my_test(ID) on db_study_filegroup2
    GO
    --5.5将要删除数据文件db_study_fg_data1的数据转移到其他数据文件中,
    --并且清空数据文件db_study_fg_data1
    DBCC SHRINKFILE(db_study_fg_data1,EMPTYFILE)
    go
    --删除数据文件db_study_fg_data1
    ALTER DATABASE DB_study
    REMOVE FILE db_study_fg_data1
    go作者:wufeng4552 博客:http://blog.csdn.net/wufeng4552
      

  3.   

    这个sql 2000
    /*--功能说明 下面的代码是在SQL Server 2000上创建名为 MyDB 的数据库
    该数据库包括1个主要数据文件、3个用户定义的文件组和1个日志文件
    ALTER DATABASE语句将用户定义文件组指定为默认文件组。
    之后,通过指默认的文件组来创建表,并且将图像数据和索引放到指定的文件组中。
    最后,将文件组中的指定数据文件删除
    --*/--切换到 master 数据库
    USE master
    GO--A. 创建数据库 MyDB
    CREATE DATABASE MyDB
    ON PRIMARY                           --主文件组和主要数据文件
      ( NAME='MyDB_Primary',
       FILENAME= 'c:\MyDB_Prm.mdf'),
    FILEGROUP MyDB_FG1                   --用户定义文件组1
      ( NAME = 'MyDB_FG1_Dat1',
       FILENAME = 'c:\MyDB_FG1_1.ndf'),  --次要数据文件1
      ( NAME = 'MyDB_FG1_Dat2',
       FILENAME = 'd:\MyDB_FG1_2.ndf'),  --次要数据文件2
    FILEGROUP MyDB_FG2                   --用户定义文件组2
      ( NAME = 'MyDB_FG1_Dat',
       FILENAME = 'e:\MyDB_FG2.ndf')     --次要数据文件
    LOG ON                               --日志文件
      ( NAME='MyDB_log',
       FILENAME ='d:\MyDB.ldf')
    GO--B. 修改默认数据文件组
    ALTER DATABASE MyDB MODIFY FILEGROUP MyDB_FG1 DEFAULT
    GO--切换到新建的数据库 MyDB
    USE MyDB--C. 在默认文件组MyDB_FG1创建表,并且指定图像数据保存在用户定义文件组MMyDB_FG2
    CREATE TABLE MyTable
      ( cola   int   PRIMARY KEY ,
        colb   char(8) ,
        colc   image )
        TEXTIMAGE_ON MyDB_FG2--在用户定义文件组MyDB_FG2上创建索引
    CREATE INDEX IX_MyTable ON MyTable(cola) ON MyDB_FG2
    GO
    --D. 将要删除数据文件MyDB_FG1_Dat1上的数据转移到其他数据文件中,并且清空数据文件MyDB_FG1_Dat1
    DBCC SHRINKFILE(MyDB_FG1_Dat1,EMPTYFILE)
    --删除数据文件MyDB_FG1_Dat1
    ALTER DATABASE MyDB REMOVE FILE MyDB_FG1_Dat1
      

  4.   

    CREATE DATABASE [MDATA] ON PRIMARY  
    ( NAME = N'MDATA', FILENAME = N'F:\DataFile\MDATA.mdf' , SIZE = 148009920KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ),  
     FILEGROUP [MDATA201001]  
    ( NAME = N'MDATA201001', FILENAME = N'F:\DataFile\MDATA201001.ndf' , SIZE = 1351488KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10240KB ),  
     FILEGROUP [MDATA201002]  
    ( NAME = N'MDATA201002', FILENAME = N'F:\DataFile\MDATA201002.ndf' , SIZE = 1200384KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10240KB ),  
     
     FILEGROUP [IMPORTS]  
    ( NAME = N'IMPORT', FILENAME = N'D:\DataFile\IMPORT.ndf' , SIZE = 12697600KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10240KB )
     LOG ON  
    ( NAME = N'MDATA_log', FILENAME = N'D:\DataFile\MDATA_log.ldf' , SIZE = 3164032KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
    GOALTER DATABASE [MDATA] SET COMPATIBILITY_LEVEL = 100
    GOIF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
    begin
    EXEC [MDATA].[dbo].[sp_fulltext_database] @action = 'enable'
    end
    GO
     
    亲们这样看 会不会清晰点,数据会在这12个文件组里面自动分配吗? 类似几个串联的水桶水位都是一样高。