---- 1.使用默认配置创建数据库
use master
go
if not exists (select name from sys.databases where name = 'test')   ----检查是否存在名为test
create database test    ----创建test数据库
go  
 
---- 2.查看数据库信息
exec sp_helpdb 'test'  
---- 3.使用文件選項創建數據庫
create database test
on primary
(
  name = 'test',   ----數據庫的邏輯名稱
  filename = 'd:\test.mdf',    ----物理名稱
  size = 10MB,         ----文件大小
  maxsize = 50MB,         ----文件最大值
  filegrowth = 10%         ----文件大小增量
),
filegroup FG2 --default  ----創建文件組(如果指定default,默認創建的對象保存到這裡)
(
  name = 'test1',   ----數據庫的邏輯名稱
  filename = 'd:\test1.ndf',    ----物理名稱
  size = 10MB,         ----文件大小
  maxsize = 50MB,         ----文件最大值
  filegrowth = 10% 
)
log on
(
  name = 'test_log',
  filename = 'f:\test.ldf',
  size = 10MB,
  maxsize = 50MB,
  filegrowth = 12%
)
go
----為了提高數據庫的讀寫性能,最好將日誌文件和數據文件放置在不同盤符下。
---- 4.設置數據庫用戶訪問
alter database test
set single_user  ----multi_user|restricted_user
with rollback immediate --no_wait
---- 5.重命名數據庫
alter database test
modify name = test1
exec sp_renamedb 'test1','test'
---- 6.分離、附加、刪除數據庫
use master
go
exec sp_detach_db 'test','false'  ----分離數據庫,檢查統計更新
create database test  ----附加數據庫
on
(
  filename = 'd:\test.mdf'
)
for attach  ----當事物日誌文件不可用時,指定attach_rebuild_log重建事物日誌文件
drop database test  ----刪除數據庫
----7.修改允許外部訪問的數據庫
create database test  ----創建數據庫時啟用或禁用外部訪問選項
...
WITH {DB_CHAINING {ON|OFF}
      |TRUSTWORTHY{ON|OFF}}
     
ALTER DATABASE TEST  ----對現有的數據庫進行修改
{
SET DB_CHAINING {ON|OFF}
|TRUSTWORTHY{ON|OFF}
}
exec sp_configure 'show advanced option',0
reconfigure
----8.配置數據庫恢復模式
ALTER DATABASE TEST
SET RECOVERY FULL    ---- BULK_LOGGED | SIMPLE
SELECT RECOVERY_MODEL_DESC FROM SYS.databases WHERE name = 'TEST'  ----查看數據庫的恢復模式
---- 9.配置頁驗證
ALTER DATABASE TEST
SET PAGE_VERIFY CHECK_SUM   ----TORN_PAGE_DETECTION | NONE
SELECT PAGE_VERIFY_OPTION_DESC FROM SYS.databases WHERE name = 'TEST'
---- 10.修改數據庫的狀態
ALTER DATABASE TEST
SET ONLINE  ----OFFLINE | EMERENCY
---- 11.添加、刪除數據和日誌文件
ALTER DATABASE TEST  ----添加數據文件
ADD FILE
(
  NAME = 'TEST2',
  FILENAME = 'D:\TEST2.NDF',
  SIZE = 10MB,
  MAXSIZE = 60MB
)
TO FILEGROUP FG2
ALTER DATABASE TEST   ----添加日誌文件
LOG FILE
(
 NAME = 'TEST2_LOG',
 FILENAME = 'D:\TEST2_LOG.LDF',
 SIZE = 5MB
)
DBCC SHRINKFILE (TEST2 , EMPTYFILE)   ----從要刪除的文件中移走既有的數據
ALTER DATABASE TEST   ---- 從數據庫中刪除文件
REMOVE FILE TEST2
ALTER DATABASE TEST    ----重新分配數據或日誌文件
MODIFY FILE
(
  NAME = 'TEST',
  FILENAME = 'D:\TEST.MDF'  ----要重新分配的物理文件的邏輯名稱
)
ALTER DATABASE TEST   ----添加文件組
ADD FILEGROUP FG3
ALTER DATABASE TEST   ----設置默認文件組
MODIFY FILEGROUP FG3 DEFAULT
ALTER DATABASE TEST   ----刪除文件組
REMOVE FILEGROUP FG3
ALTER DATABASE TEST    ----修改數據庫的讀寫權限
SET READ_ONLY  ----READ_WRITE
ALTER DATABASE TEST     ----修改文件組的讀寫權限
MODIFY FIELGROUP FG3 READ_ONLY  ----READ_WRITE
use test
exec sp_spaceused   ----查看數據庫空間使用情況
DBCC SQLPERF (LOGSPACE)
WITH NO_INFOMSGS     ----顯示整個實例的日誌信息
---- 11.收縮數據庫和數據文件
DBCC SHRINKDATABASE ('TEST' , 10)   ---NOTRUNCATE | TRUNCATEONLY
DBCC SHRINKFILE ('TEST_LOG' , 5)