T-SQL入门教程之修改数据库alter database语句

发布时间:2020-11-13编辑:脚本学堂
本文介绍了t-sql中修改数据库alter database语句的用法,有需要的朋友参考下。

本节内容:
t-sql语句实例,alter database修改数据库名称。
 
一,更改数据库名
 

复制代码 代码示例:
(1)
alter database database_name
modify name=new_database_name
(2)
sp_renamedb olddbname,newdbname

二,添加数据文件和文件组(扩大)
(1)添加数据文件
 

复制代码 代码示例:
USE master
GO
DECLARE @data_path nvarchar(256);
-- 获取主数据文件的存放位置
SELECT @data_path=physical_name
FROM MyDatabase.sys.database_files
WHERE file_id=1;
SET @data_path=SUBSTRING(@data_path, 1, CHARINDEX(LOWER('MyDatabase.mdf'), LOWER(@data_path)) - 1);
-- 添加数据文件(放在主数据文件所在的目录下)
go
ALTER DATABASE MyDatabase
ADD FILE
(
NAME = LogicNameOfDataFile1_1,
FILENAME = 'D:/Program Files/Microsoft SQL Server/MSSQL.1/MSSQL/DATA/DataFile1_1.ndf',
SIZE = 5MB,
MAXSIZE = 100MB,
FILEGROWTH = 5MB
)
 

(2)添加日志文件
 

复制代码 代码示例:
USE master
GO
DECLARE @data_path nvarchar(256);
--获取主数据文件的存放位置
SELECT @data_path=physical_name
FROM MyDatabase.sys.database_files
WHERE file_id=1;
SET @data_path=SUBSTRING(@data_path, 1, CHARINDEX(LOWER('MyDatabase.mdf'), LOWER(@data_path)) - 1);
--添加数据文件(放在主数据文件所在的目录下)
go
ALTER DATABASE MyDatabase
ADD LOG FILE
(
NAME = LogicNameOfLogFile1_1,
FILENAME = 'D:/Program Files/Microsoft SQL Server/MSSQL.1/MSSQL/DATA/LogFile1_1.ldf',
SIZE = 2MB,
MAXSIZE = 50MB,
FILEGROWTH = 3MB
)
 

(3)添加文件及文件组
 

复制代码 代码示例:
USE master
GO
-- 创建文件组_1
ALTER DATABASE MyDatabase
ADD FILEGROUP UserFG1_1;
GO
DECLARE @data_path nvarchar(256);
--获取主数据文件的存放位置
SELECT @data_path=physical_name
FROM MyDatabase.sys.database_files
WHERE file_id=1;
SET @data_path=SUBSTRING(@data_path, 1, CHARINDEX(LOWER('MyDatabase.mdf'), LOWER(@data_path)) - 1);
--添加数据文件(放在主数据文件所在的目录下)
Go
ALTER DATABASE MyDatabase
ADD FILE
(
NAME = LogicNameOfDataFile1_2,
FILENAME = 'D:/Program Files/Microsoft SQL Server/MSSQL.1/MSSQL/DATA/DataFile1_2.ndf',
SIZE = 10MB,
MAXSIZE = 50MB,
FILEGROWTH = 5MB
),
(
NAME = LogicNameOfDataFile1_3,
FILENAME = 'D:/Program Files/Microsoft SQL Server/MSSQL.1/MSSQL/DATA/DataFile1_3.ndf',
SIZE = 5MB,
MAXSIZE = 50MB,
FILEGROWTH = 2MB
)
TO FILEGROUP UserFG1_1
 

注:以上添加数据文件时如果不指定所在文件组那么将被默认添加到主文件组中

三,更改数据文件和文件组

1)更改数据库的数据文件
 

复制代码 代码示例:
USE master
GO
ALTER DATABASE MyDatabase2
MODIFY FILE
(
NAME = LogicNameOfDataFile2,
NEWNAME = newLogicNameOfDataFile2,
FILENAME
='C:/Program Files/Microsoft SQL Server/MSSQL10.MSSQLSERVER/MSSQL/DATA/newDataFile2.mdf',
SIZE = 25MB,
MAXSIZE = 150MB,
FILEGROWTH = 10MB
)

2)更改数据库的日志文件
 

复制代码 代码示例:
USE master
GO
ALTER DATABASE MyDatabase3
MODIFY FILE
(
NAME = MyDatabase3_log,
FILENAME
='C:/Program Files/Microsoft SQL Server/MSSQL10.MSSQLSERVER/MSSQL/DATA/LogFile3.LDF',
SIZE = 10MB , -- 设置初始大小
MAXSIZE = 50MB, -- 设置文件的最大存储空间
FILEGROWTH = 5MB -- 设置自动增长幅度
)

3)更改文件组名称
 

复制代码 代码示例:
USE master
GO
ALTER DATABASE MyDatabase6
MODIFY FILEGROUP UserFG6_2 NAME = newUserFG6_2
GO

4)更改默认文件组
 

复制代码 代码示例:
USE master;
GO
ALTER DATABASE MyDatabase6
MODIFY FILEGROUP newUserFG6_2 DEFAULT;
GO
ALTER DATABASE MyDatabase6
MODIFY FILEGROUP [PRIMARY] DEFAULT;
GO