常用SQL操作语句收藏

A. 向数据库中添加文件

以下示例将一个 5 MB 的数据文件添加到 AdventureWorks2008R2 数据库。

  
USE master;
GO
ALTER DATABASE AdventureWorks2008R2 
ADD FILE 
(
    NAME = Test1dat2,
    FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\t1dat2.ndf',
    SIZE = 5MB,
    MAXSIZE = 100MB,
    FILEGROWTH = 5MB
);
GO

B. 向数据库中添加由两个文件组成的文件组

以下示例在 AdventureWorks2008R2 数据库中创建文件组 Test1FG1,然后将两个 5 MB 的文件添加到该文件组。

  
USE master
GO
ALTER DATABASE AdventureWorks2008R2
ADD FILEGROUP Test1FG1;
GO
ALTER DATABASE AdventureWorks2008R2 
ADD FILE 
(
    NAME = test1dat3,
    FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\t1dat3.ndf',
    SIZE = 5MB,
    MAXSIZE = 100MB,
    FILEGROWTH = 5MB
),
(
    NAME = test1dat4,
    FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\t1dat4.ndf',
    SIZE = 5MB,
    MAXSIZE = 100MB,
    FILEGROWTH = 5MB
)
TO FILEGROUP Test1FG1;
GO

C. 向数据库中添加两个日志文件

以下示例向 AdventureWorks2008R2 数据库中添加两个 5 MB 的日志文件。

  
USE master;
GO
ALTER DATABASE AdventureWorks2008R2 
ADD LOG FILE 
(
    NAME = test1log2,
    FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\test2log.ldf',
    SIZE = 5MB,
    MAXSIZE = 100MB,
    FILEGROWTH = 5MB
),
(
    NAME = test1log3,
    FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\test3log.ldf',
    SIZE = 5MB,
    MAXSIZE = 100MB,
    FILEGROWTH = 5MB
);
GO

D. 从数据库中删除文件

以下示例删除示例 B 中添加的一个文件。

  
USE master;
GO
ALTER DATABASE AdventureWorks2008R2
REMOVE FILE test1dat4;
GO

E. 修改文件

以下示例增加示例 B 中添加的一个文件的大小。

  
USE master;
GO
ALTER DATABASE AdventureWorks2008R2 
MODIFY FILE
    (NAME = test1dat3,
    SIZE = 20MB);
GO

F. 将文件移至新位置

以下示例将在示例 A 中创建的 Test1dat2 文件移至新目录中。

注意:
必须先将该文件实际移至新目录中,然后才能运行此示例。然后,停止和启动 SQL Server 的实例,或使 AdventureWorks2008R2 数据库 OFFLINE 再 ONLINE,以实施更改。

 

 

  
USE master;
GO
ALTER DATABASE AdventureWorks2008R2
MODIFY FILE
(
    NAME = Test1dat2,
    FILENAME = N'c:\t1dat2.ndf'
);
GO

G. 将 tempdb 移至新位置

以下示例将 tempdb 从其在磁盘上的当前位置移至另一个磁盘位置。由于每次启动 MSSQLSERVER 服务时都会重新创建 tempdb,因此您不必实际移动数据和日志文件。在步骤 3 中重新启动服务时,将创建这些文件。在重新启动该服务之前,tempdb 将继续在现有位置发挥作用。

  1. 确定 tempdb 数据库的逻辑文件名称以及这些文件在磁盘上的当前位置。
      
    SELECT name, physical_name
    FROM sys.master_files
    WHERE database_id = DB_ID('tempdb');
    GO
  2. 使用 ALTER DATABASE 更改每个文件的位置。
      
    USE master;
    GO
    ALTER DATABASE tempdb 
    MODIFY FILE (NAME = tempdev, FILENAME = 'E:\SQLData\tempdb.mdf');
    GO
    ALTER DATABASE  tempdb 
    MODIFY FILE (NAME = templog, FILENAME = 'E:\SQLData\templog.ldf');
    GO
  3. 停止再重新启动 SQL Server 的实例。
  4. 验证文件更改。
      
    SELECT name, physical_name
    FROM sys.master_files
    WHERE database_id = DB_ID('tempdb');
  5. 将 tempdb.mdf 和 templog.ldf 文件从其原始位置中删除。

H. 使文件组成为默认文件组

以下示例使示例 B 中创建的 Test1FG1 文件组成为默认文件组。然后,默认文件组被重置为 PRIMARY 文件组。请注意,必须使用括号或引号分隔 PRIMARY

  
USE master;
GO
ALTER DATABASE AdventureWorks2008R2 
MODIFY FILEGROUP Test1FG1 DEFAULT;
GO
ALTER DATABASE AdventureWorks2008R2 
MODIFY FILEGROUP [PRIMARY] DEFAULT;
GO

I. 使用 ALTER DATABASE 添加文件组

以下示例将一个包含 FILESTREAM 子句的 FILEGROUP 添加到 FileStreamPhotoDB 数据库。

  
--Create and add a FILEGROUP that CONTAINS the FILESTREAM clause to
--the FileStreamPhotoDB database.
ALTER database FileStreamPhotoDB
ADD FILEGROUP TodaysPhotoShoot
CONTAINS FILESTREAM
GO

--Add a file for storing database photos to FILEGROUP 
ALTER database FileStreamPhotoDB
ADD FILE
(
    NAME= 'PhotoShoot1',
    FILENAME = 'C:\Users\Administrator\Pictures\TodaysPhotoShoot.ndf'
)
TO FILEGROUP TodaysPhotoShoot
GO
posted @ 2013-03-25 09:08  纯真天宇  阅读(209)  评论(0编辑  收藏  举报