问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

创建数据库时如何修改数据库db

发布网友 发布时间:2022-04-22 04:27

我来回答

2个回答

懂视网 时间:2022-05-01 18:46

create database newdb
on primary
(name=‘newdb‘, filename=‘D:MSSQLServer
ewdb.mdf‘, size=1GB,maxsize=10GB,filegrowth=1GB),
(name=‘newdb_1‘,filename=‘D:MSSQLServer
ewdb_1.ndf‘,size=1GB,maxsize=10GB,filegrowth=1GB),
(name=‘newdb_2‘,filename=‘D:MSSQLServer
ewdb_2.ndf‘,size=1GB,maxsize=10GB,filegrowth=1GB),
(name=‘newdb_3‘,filename=‘D:MSSQLServer
ewdb_3.ndf‘,size=1GB,maxsize=10GB,filegrowth=1GB),
(name=‘newdb_4‘,filename=‘D:MSSQLServer
ewdb_4.ndf‘,size=1GB,maxsize=10GB,filegrowth=1GB)
log on
(name=‘newdb_log‘,filename=‘D:MSSQLServer
ewdb_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:MSSQLServerfg_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
ewdb_log_1.ldf‘,size=1GB,maxsize=10GB,filegrowth=1GB);

三,修改数据库文件

1,修改数据文件的逻辑文件名(Logical file name)

MODIFY FILE ( NAME = ‘logical_file_name’, NEWNAME = ‘new_logical_name’ ) 

示例,将数据文件fg_newdb1_1 的逻辑文件名修改 fg_newdb1_file1

alter database newdb
modify file
(NAME =‘fg_newdb1_1‘,newname=‘fg_newdb1_file1‘)

2,修改数据文件的物理文件名

MODIFY FILE ( NAME = logical_file_name, FILENAME = ‘ new_path/os_file_name ‘ )

修改数据文件的物理文件名,能够将数据文件移动到不同的位置上,分四步实现:

step1,在数据库中注册数据文件的新的物理文件名

alter database newdb
modify file
(name=‘fg_newdb1_file1‘,filename=‘F:MSSQLServerfg_newdb1_file1.ndf‘);

语句执行成功之后,数据库会显示:物理文件名已经在系统目录中修改

The file "fg_newdb1_file1" has been modified in the system catalog. The new path will be used the next time the database is started.

step2,使数据库离线

use master
go 
alter database newdb
set offline
with rollback immediate;

在将数据库离线(脱机,take offline)时,如果数据中有Sleeping Session存在,或者有query正在执行,那么Take Offline操作会一直等待下去,直到没有任何query运行,使用 ROLLBACK IMMEDIATE  选项,能够立即回滚数据库中正在执行的所有事务,使Take Offline 操作迅速完成。

step3,将数据文件移动到新的位置上

以管理员权限运行move命令将文件移动到新的位置上,并重命名为新的物理文件名

move D:MSSQLServerfg_newdb1_1.ndf F:MSSQLServerfg_newdb1_file1.ndf

技术分享

step4,使数据库联机

use master
go 
alter database newdb
set online

四,从数据库中移除数据文件

在SQL Server中,不管是日志文件,还是数据文件,在删除之前,必须清空,只有空的文件才能从数据库中删除。

1,从数据库中删除数据文件

step1,清空数据文件

USE [db_study]
GO
DBCC SHRINKFILE (N‘db_study_file1‘ , EMPTYFILE)
GO

Step2, 从数据库中删除数据文件

USE master;
GO
ALTER DATABASE db_study
REMOVE FILE db_study_file1;
GO

2,从数据库中删除日志文件

step1,清空日志文件

USE [db_study]
GO
DBCC SHRINKFILE (N‘db_study_log1‘ , EMPTYFILE)
GO

step2,从数据库中删除日志文件

USE master;
GO
ALTER DATABASE db_study
REMOVE FILE db_study_log1;
GO

3,从数据库中删除文件组

USE master;
GO
ALTER DATABASE db_study
REMOVE FILEGROUP fg_study1;
GO

DB1:数据库的创建和文件的修改

标签:重命名   成功   media   alter   cat   实现   ace   where   写日志   

热心网友 时间:2022-05-01 15:54

--修改数据库文件增量

USE master
GO
Alter DATABASE Test
MODIFY FILE
(NAME = test,
-- SIZE = 1000MB,
--MAXSIZE = 10000MB,
FILEGROWTH = 100MB)
GO

--修改数据库日志文件增量

USE master
GO
Alter DATABASE Test
MODIFY FILE
(NAME = test_log,
-- SIZE = 1000MB,
--MAXSIZE = 10000MB,
FILEGROWTH = 100MB)
GO

参考以下内容:

[c-sharp]view plaincopyprint?
/*
一般的虚拟主机上,附送的sql server数据库都是*了大小,比如100M。当你的数据库空间达到了指定的100M时,插入新数据就会报错:

未能为数据库 'a1116173958' 中的对象 'fc_Info' 分配空间,因为文件组 'PRIMARY' 已满

其实,有些主机商的数据库大小是可以自己修改的。当然,修改之前你需要知道数据库名(这里是逻辑名称),一般的这个名称是很容易知道的,就是数据库名称。

你可以尝试下在自己编写的程序中,或空间的管理后台中等可以执行sql语句的地方试一下下面的语句:

Alter DATABASE 数据库名
modify FILE
( NAME = 数据库名,
MAXSIZE = 200MB,
FILEGROWTH = 5MB)

如果执行成功,那么恭喜你了。

========我是分割线============================================

下面是Alter DATABASE的一些参考资料,详细可以查看sql server帮助。

在数据库中添加或删除文件和文件组。也可用于更改文件和文件组的属性,例如更改文件的名称和大小。Alter DATABASE 提供了更改数据库名称、文件组名称以及数据文件和日志文件的逻辑名称的能力。

Alter DATABASE 支持数据库选项的设置。在早期版本的 Microsoft® SQL Server™ 中,这些选项可以通过 sp_dboption 存储过程来设置。在此次发布的版本中,SQL Server 继续支持 sp_dboption存储过程,但在未来版本中可能不再支持。可使用 DATABASEPROPERTYEX 函数检索数据库选项的当前设置。

语法
Alter DATABASE database
{ ADD FILE < filespec > [ ,...n ] [ TO FILEGROUP filegroup_name ]
| ADD LOG FILE < filespec > [ ,...n ]
| REMOVE FILE logical_file_name
| ADD FILEGROUP filegroup_name
| REMOVE FILEGROUP filegroup_name
| MODIFY FILE < filespec >
| MODIFY NAME = new_dbname
| MODIFY FILEGROUP filegroup_name {filegroup_property | NAME = new_filegroup_name }
| SET < optionspec > [ ,...n ] [ WITH < termination > ]
| COLLATE < collation_name >
}

< filespec > ::=

( NAME = logical_file_name
[ , NEWNAME = new_logical_name ]
[ , FILENAME = 'os_file_name' ]
[ , SIZE = size ]
[ , MAXSIZE = { max_size | UNLIMITED } ]
[ , FILEGROWTH = growth_increment ] )

< optionspec > ::=

<state_option>
| < cursor_option >
| < auto_option >
| < sql_option >
| < recovery_option >
< state_option > ::=
{ SINGLE_USER | RESTRICTED_USER | MULTI_USER }
| { OFFLINE | ONLINE }
| { READ_ONLY | READ_WRITE }

< termination > ::=
ROLLBACK AFTER integer [ SECONDS ]
| ROLLBACK IMMEDIATE
| NO_WAIT
< cursor_option > ::=
CURSOR_CLOSE_ON_COMMIT { ON | OFF }
| CURSOR_DEFAULT { LOCAL | GLOBAL }
< auto_option > ::=
AUTO_CLOSE { ON | OFF }
| AUTO_Create_STATISTICS { ON | OFF }
| AUTO_SHRINK { ON | OFF }
| AUTO_Update_STATISTICS { ON | OFF }
< sql_option > ::=
ANSI_NULL_DEFAULT { ON | OFF }
| ANSI_NULLS { ON | OFF }
| ANSI_PADDING { ON | OFF }
| ANSI_WARNINGS { ON | OFF }
| ARITHABORT { ON | OFF }
| CONCAT_NULL_YIELDS_NULL { ON | OFF }
| NUMERIC_ROUNDABORT { ON | OFF }
| QUOTED_IDENTIFIER { ON | OFF }
| RECURSIVE_TRIGGERS { ON | OFF }
< recovery_option > ::=
RECOVERY { FULL | BULK_LOGGED | SIMPLE }
| TORN_PAGE_DETECTION { ON | OFF }
创建数据库时如何修改数据库db

在数据库中添加或删除文件和文件组。也可用于更改文件和文件组的属性,例如更改文件的名称和大小。Alter DATABASE 提供了更改数据库名称、文件组名称以及数据文件和日志文件的逻辑名称的能力。Alter DATABASE 支持数据库选项的设置。在早期版本的 Microsoft® SQL Server™ 中,这些选项可以通过 ...

如何修改MySQL数据库名称

方法一:使用mysqldump导出数据后,新建数据库并导入。创建新库使用mysqldump导出"old_db"数据导入数据至新库"new_db"方法二:通过修改表名称间接实现数据库名称的更改。创建新库使用"RENAME TABLE"命令,将"old_db"中的表移动至新库删除原"old_db"库利用shell脚本批量修改表名在MySQL中,通过上述步骤,...

用ddl语句操作数据库和数据库表,包括数据库的增删改查以及表的增删改...

使用 `CREATE DATABASE` 语句来创建数据库:CREATE DATABASE example_db;在 DataGrip 中,执行该语句后,新的数据库 `example_db` 将被创建。删除数据库 使用 `DROP DATABASE` 语句来删除数据库:DROP DATABASE example_db;注意:执行此操作会永久删除该数据库及其中的所有表和数据。修改数据库 直接...

修改数据库的校对规则

[[DEFAULT] CHARACTER SET charsetname][[DEFAULT] COLLATE collation_name]2、通常如果创建数据库的时候不指定db的字符集和校对规则,则使用服务器级别默认的校对规则。3、如何修改数据库级别的字符校对规则:a 通过在创建数据库时指定 collationdatabase 字符集。b 通过ALTER DATABASE dbname [[DEFAULT] CH...

SQL Server数据库里面怎么修改数据库的名字?

EXEC sp_dboption 'NewDbName', 'Single User', 'FALSE'上述语句最好都在master数据库中执行。另一种方法是先分离数据库,然后在附加时修改数据库名称。需要注意的是,SQL Server并不直接支持修改数据库名称,上述方法是通过一系列操作来实现的。具体来说,首先使用sp_detach_db分离数据库,例如:sp_...

librarydb数据定义使用命令方式

1、创建数据库:使用CREATEDATABASE语句创建一个新的数据库。2、选择数据库:使用USE语句选择要操作的数据库。3、创建表格:使用CREATETABLE语句创建一个新的表格,并指定相关的字段名和数据类型。4、定义字段:定义每个表格的字段名称、数据类型和约束条件等信息,如主键约束、外键约束、唯一约束、非空约束...

如何对db2中的数据库进行数据分析

查看数据库参数时,通过db2 get dbm cfg和db2 get db cfg for btpdbs命令实现。若需修改数据库参数,可执行db2 update db cfg for btpdbs using LOGBUFSZ 20等命令,更改后需执行db2 stop db2 start使更改生效。对于数据表操作,可通过#db2 list tables for schema [user]查看特定模式下的表,使用...

如何更改mysql数据库引擎

第一:修改my.ini,在[mysqld]下加上:default-storage-engine=引擎名称 其中的等号后面是要指定的数据库引擎名称。第二:用sql语句修改已经建成表的引擎:alter table tableName type=InnoDB --type语法在4.X版本下存在 alter table tableName ENGINE=InnoDB --5.X下都改成engine=innodb 举例...

如何修改一个已存在的数据库名称?

首先,需要在目标MySQL实例中创建一个与目标数据库名称相同的空数据库。这一步骤通过执行创建数据库的SQL命令完成,例如`CREATE DATABASE new_db;`,其中`new_db`即为目标数据库的新名称。接下来,需确保目标数据库中所有现有的表结构和数据仍然可以被访问。为此,需要在旧数据库`old_db`执行`SHOW ...

怎么修改db数据库文件?

开发者如果想把Berkeley DB嵌入在私有软件内需要得到Sleepycat公司的许可,若将软件同样遵循GPL发布,则不需许可即可使用。而2.0版本以下的则使用BSD授权,可自由作商业用途。 Berkeley DB最初开发的目的是以新的HASH访问算法来代替旧的hsearch函数和大量的dbm实现(如AT&amp;T的dbm,Berkeley的 ndbm,GNU项目的...

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
锦州的住房公积金应该怎么才能提取的啊? 锦州不知公积金可以提取吗,具体地点是哪 冷静期过一个月以后还生效吗 签订的离婚协议书能无效吗 30天冷静期之间离婚协议书签有效吗? 那么屋里20度给宝宝盖什么 幼儿园20度室温盖多少被子 求黑塔利亚米英同人游戏Pain&amp;Gain 黑塔利亚米英pain&amp;gain怎么存档 求APH米英同人游戏&lt;pain&amp;gain&gt; 奥迪a4和迈腾哪款更适合男人开? .db 什么数据库 OLE DB数据库编程DDX_Text只读了字段里第一个字节 预算二十万左右,适合42岁男人驾驭的越野车有哪些? 数据库编辑打开的问题[****.db数据库] 什么车最适合男人开。 DB是什么单位 现在车市上,适合中年男人驾驭的越野车有哪些? 数据库(DB),数据库管理系统(DBMS),数据库系统(DBS)... 伴字的部首是(),带这个部首的字还有() 如何将文件制作成db数据库文件? 哪款车适合男生? 45岁的男人适合开什么车? DB数据库打开、编辑、保存 求救,淡黄色和淡粉色衣服染到黑色怎么样才能洗掉? 怎么修改db数据库文件? 成熟稳重的男人选什么车 暗黄色的衣服染上了黑色怎么去除,急 暗黄色的衣服染上了黑色怎么去除,急 “db数据库”是什么意思? 哪种皮更经久耐用,pu皮还是头层牛皮? 50岁男,落地40万左右不求速度,只求舒适和配置豪... 60岁的男人开什么车。 牛皮 马皮哪个更结实?更耐用? 各种皮革(真皮,人造革,合成革)都可以耐多少温度 适合40岁男人开的SUV车有哪些,想买台送给爸爸,要... 如何设置数据库编目 有哪些适合三十多岁男人开的且兼具豪华、科技和安... 我想问 pu皮和超纤真皮有区别么?哪个耐用?哪个好? DB数据库的DB?是什么 15万落地的车,有哪些比较适合中年男性开? 合成革和真皮哪个耐用? 牛剖二层皮革和PU皮哪个耐用 有什么适合男人驾驶的汽车推荐一下? 哪种人造皮革最好 如何导出DB数据库的数据 身材魁梧的男人开什么车合适 耐磨皮革与普通皮革的区别? *.db是什么文件? 皮革沙发的耐久度怎么样?什么样的皮革沙发算好沙发?
  • 焦点

最新推荐

猜你喜欢

热门推荐