本文介绍如何使用SQL命令在RDS SQL Server实例中创建和管理数据库。
前提条件
实例需要为RDS SQL Server 2012及以上版本的实例。
创建数据库
执行如下命令,创建数据库:
说明 RDS创建数据库时会产生默认路径,请您不要指定任何文件的路径。
1 | CREATE DATABASE TestDb |
更改数据库
您可以更改数据库的大部分属性,但请不要执行如下操作:
-
不能移动到错误的文件路径。
例如,若您执行如下命令并指定了错误的文件路径:
1ALTER DATABASE [TestDb]MODIFY FILE( NAME = N
'TestDb'
, FILENAME = N
'E:\KKKK\DDD\DATA\TestDb.mdf'
)
则系统会返回如下错误信息:
12345Msg
50000
, Level
16
, State
1
, Procedure ******, Line
152
The file path [
E:\KKKK\DDD\DATA\TestDb.mdf ] is invalid,please specify correct path folder [ E:\mmm\gggg\ ].
Msg
3609
, Level
16
, State
2
, Line
2
The transaction ended in the trigger. The batch has been aborted.
-
不能将数据库的恢复模式设置为FULL之外的其他模式。
例如,若您执行如下命令并将数据库的恢复模式设置为SIMPLE:
12ALTER DATABASE [TestDb]
SET RECOVERY SIMPLE
则系统会返回如下错误信息:
1234Msg
50000
, Level
16
, State
1
, Procedure ******, Line
46
Login User [Test11] can't change database [TestDb] recovery model.
Msg
3609
, Level
16
, State
2
, Line
2
The transaction ended in the trigger. The batch has been aborted.
-
将数据库设置为OFFLINE后,不能直接ONLINE。
例如,对于当前状态为OFFLINE的数据库,若您直接执行ONLINE的命令,如下所示:
12345678USE [master]
GO
--set offline
--ALTER DATABASE [TestDb]
--SET OFFLINE
--WITH ROLLBACK AFTER
0
ALTER DATABASE [TestDb]
SET ONLINE
则系统会返回如下错误信息:
1234Msg
5011
, Level
14
, State
9
, Line
1
User does not have permission to alter database
'TestDb'
, the database does not exist, or the database is not in a state that allows access checks.
Msg
5069
, Level
16
, State
1
, Line
1
ALTER DATABASE statement failed.
若您想把数据库的状态从OFFLINE改成ONLINE,您可以使用sp_rds_set_db_online存储过程,请执行如下命令:
1EXEC sp_rds_set_db_online
'TestDb'
删除数据库
执行如下命令,删除数据库:
1 | DROP DATABASE [TestDb] |
若您在删除数据库时没有对该数据库进行过任何备份,系统会返回如下提示信息:
1 2 3 4 5 6 | DROP DATABASE [TestDb] ------------------------------------------------------------------------------------------------- Kindly reminder: your database [TestDb] does not exist any backup set. ------------------------------------------------------------------------------------------------- Login User [Test11] has dropped database [TestDb] . |