常用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
将继续在现有位置发挥作用。
- 确定
tempdb
数据库的逻辑文件名称以及这些文件在磁盘上的当前位置。SELECT name, physical_name FROM sys.master_files WHERE database_id = DB_ID('tempdb'); GO
- 使用
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
- 停止再重新启动 SQL Server 的实例。
- 验证文件更改。
SELECT name, physical_name FROM sys.master_files WHERE database_id = DB_ID('tempdb');
- 将 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
|