SQL Server数据库的创建和文件的修改

发表于:2016-12-20 10:37

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Linux公社    来源:51Testing软件测试网采编

  在SQL Server中,使用Create Database创建数据库,使用Alter Database命令,能够修改数据库的数据文件和日志文件。
  一,创建数据库
  1,在创建数据库时,最佳实践是:
  创建一个或多个文件组,并设置默认文件组
  每个文件组中的数据文件和CPU的内核数据相同,将 文件均匀分布在不同的物理硬盘上,使IO均匀分布在不同的物理磁盘上;
  数据文件的初始大小,文件增长和最大大小保持一致,这样,能够使每个文件的IO次数相对均匀;
  日志文件分配在性能最好的物理硬盘上,写日志的性能直接影响数据修改的性能;
  在创建文件时,为每个文件分配足够大的初始空间,避免数据文件size的增长
  创建数据库的示例:
create database newdb
on primary
(name='newdb',  filename='D:\MSSQLServer\newdb.mdf',  size=1GB,maxsize=10GB,filegrowth=1GB),
(name='newdb_1',filename='D:\MSSQLServer\newdb_1.ndf',size=1GB,maxsize=10GB,filegrowth=1GB),
(name='newdb_2',filename='D:\MSSQLServer\newdb_2.ndf',size=1GB,maxsize=10GB,filegrowth=1GB),
(name='newdb_3',filename='D:\MSSQLServer\newdb_3.ndf',size=1GB,maxsize=10GB,filegrowth=1GB),
(name='newdb_4',filename='D:\MSSQLServer\newdb_4.ndf',size=1GB,maxsize=10GB,filegrowth=1GB)
log on
(name='newdb_log',filename='D:\MSSQLServer\newdb_log.ldf',size=1GB,maxsize=10GB,filegrowth=1GB)
go
  参数name指定逻辑文件名(logical_file_name),参数FileName指定物理文件名,SQL Server通过逻辑文件名引用数据文件或日志文件。
  2,查看当前数据库的文件
use newdb
go
select df.file_id,
df.type,
df.type_desc,
df.name,
df.physical_name,
df.state,
df.state_desc,
df.size*8/1024/1024 as size_gb,
df.max_size*8/1024/1024 as max_size_gb,
df.growth,
df.is_percent_growth,
fg.name as filegroup_name,
fg.is_default
from sys.database_files df
inner join sys.filegroups fg
on df.data_space_id=fg.data_space_id
  3,查看所有数据库的文件
select
DB_NAME(mf.database_id) as dbname,
mf.file_id,
mf.type as file_type,
mf.type_desc,
mf.data_space_id as file_group,
mf.name as logical_file_name,
mf.physical_name,
mf.state_desc,
mf.size*8/1024/1024 as size_gb,
mf.max_size*8/1024/1024 as max_size_gb,
mf.growth,
mf.is_percent_growth
from sys.master_files mf
--where database_id=db_id('newdb')
  二,增加数据/日志文件
  1,增加文件组(File Group)
  use master
  go
  alter database newdb
  add filegroup fg_newdb1;
  2,向fg_newdb1文件组(File Group)中增加数据文件
  alter database newdb
  add file
  (name=fg_newdb1_1,filename ='d:\MSSQLServer\fg_newdb1_1.ndf',size=1GB,maxsize=10GB,filegrowth=1GB)
  to filegroup fg_newdb1;
  3,增加日志文件
  alter database newdb
  add log file
  (name=newdb_log_1,filename ='d:\MSSQLServer\newdb_log_1.ldf',size=1GB,maxsize=10GB,filegrowth=1GB);
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号