T-SQL入門攻略之修改数据库alter database
2014-12-04来源:

更改数据库名

(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

更多信息请查看IT技术专栏

推荐信息
Baidu
map