① 如何创建数据库和数据库文件组
SQLServer中一个数据库可以对应多个物理文件,其中有一个的主数据库文件,扩展名为MDF,其他为次数据库文件,扩展名为NDF。可以将不同的文件存放在不同的驱动器上,可以提高数据访问速度。文件组是逻辑概念,主要目的是将文件分组管理。createdatabasedb3onprimary–主文件组(name='db3_dat1',–数据库主文件filename='d:\db3_dat1.mdf',size=10mb,maxsize=100mb,filegrowth=10%),(name='db2_dat2',–主文件组,是次数据库文件filename='d:\db2_dat2.ndf',size=10mb,maxsize=100mb,filegrowth=10%),filegroupdb3g1–第2个文件组(name='db3_dat3',–第2个文件组中的次数据库filename='d:\db2_dat3.ndf',size=10mb,maxsize=30mb,filegrowth=5mb),(name='db3_dat4',–第2个文件组中的次数据库filename='d:\db2_dat4.ndf',size=5mb,maxsize=30mb,filegrowth=5mb),filegroupdb3g2–第三个文件组(name='db3_dat5',—-第三个文件组中的次数据库filename='d:\db2_dat5.ndf',size=10mb,maxsize=50mb,filegrowth=20%)logon(name='db3_log',–日志文件filename='d:\db3_log.ldf',size=20mb,maxsize=100mb,filegrowth=10mb)
② sql s创建数据库应注意什么
在SQL帮助文档里有详细的解析:如下CREATE DATABASE创建一个新数据库及存储该数据库的文件,或从先前创建的数据库的文件中附加数据库。说明 有关与 DISK INIT 向后兼容性的更多信息,请参见"Microsoft® SQL Server™ 向后兼容性详细信息"中的设备(级别 3)。语法CREATE DATABASE database_name[ ON[ < filespec > [ ,…n ] ][ , < filegroup > [ ,…n ] ]][ LOG ON { < filespec > [ ,…n ] } ][ COLLATE collation_name ][ FOR LOAD | FOR ATTACH ]< filespec > ::=[ PRIMARY ]( [ NAME = logical_file_name , ]FILENAME = 'os_file_name'[ , SIZE = size ][ , MAXSIZE = { max_size | UNLIMITED } ][ , FILEGROWTH = growth_increment ] ) [ ,…n ]< filegroup > ::=FILEGROUP filegroup_name < filespec > [ ,…n ]参数database_name新数据库的名称。数据库名称在服务器中必须唯一,并且符合标识符的规则。database_name 最多可以包含 128 个字符,除非没有为日志指定逻辑名。如果没有指定日志文件的逻辑名,则 Microsoft® SQL Server™ 会通过向 database_name 追加后缀来生成逻辑名。该操作要求 database_name 在 123 个字符之内,以便生成的日志文件逻辑名少于 128 个字符。ON指定显式定义用来存储数据库数据部分的磁盘文件(数据文件)。该关键字后跟以逗号分隔的 <filespec> 项列表,<filespec> 项用以定义主文件组的数据文件。主文件组的文件列表后可跟以逗号分隔的 <filegroup> 项列表(可选),<filegroup> 项用以定义用户文件组及其文件。n占位符,表示可以为新数据库指定多个文件。LOG ON指定显式定义用来存储数据库日志的磁盘文件(日志文件)。该关键字后跟以逗号分隔的 <filespec> 项列表,<filespec> 项用以定义日志文件。如果没有指定 LOG ON,将自动创建一个日志文件,该文件使用系统生成的名称,大小为数据库中所有数据文件总大小的 25%。FOR LOAD支持该子句是为了与早期版本的 Microsoft SQL Server 兼容。数据库在打开 dbo use only 数据库选项的情况下创建,并且将其状态设置为正在装载。SQL Server 7.0 版中不需要该子句,因为 RESTORE 语句可以作为还原操作的一部分重新创建数据库。FOR ATTACH指定从现有的一组操作系统文件中附加数据库。必须有指定第一个主文件的 <filespec> 条目。至于其它 <filespec> 条目,只需要与第一次创建数据库或上一次附加数据库时路径不同的文件的那些条目。必须为这些文件指定 <filespec> 条目。附加的数据库必须使用与 SQL Server 相同的代码页和排序次序创建。应使用 sp_attach_db 系统存储过程,而不要直接使用 CREATE DATABASE FOR ATTACH。只有必须指定 16 个以上的 <filespec> 项目时,才需要使用 CREATE DATABASE FOR ATTACH。如果将数据库附加到的服务器不是该数据库从中分离的服务器,并且启用了分离的数据库以进行复制,则应该运行 sp_removedbreplication 从数据库删除复制。collation_name指定数据库的默认排序规则。排序规则名称既可以是 Windows 排序规则名称,也可以是 SQL 排序规则名称。如果没有指定排序规则,则将 SQL Server 实例的默认排序规则指派为数据库的排序规则。有关 Windows 和 SQL 排序规则名称的更多信息,请参见 COLLATE。PRIMARY指定关联的 <filespec> 列表定义主文件。主文件组包含所有数据库系统表。还包含所有未指派给用户文件组的对象。主文件组的第一个 <filespec> 条目成为主文件,该文件包含数据库的逻辑起点及其系统表。一个数据库只能有一个主文件。如果没有指定 PRIMARY,那么 CREATE DATABASE 语句中列出的第一个文件将成为主文件。NAME为由 <filespec> 定义的文件指定逻辑名称。如果指定了 FOR ATTACH,则不需要指定 NAME 参数。logical_file_name用来在创建数据库后执行的 Transact-SQL 语句中引用文件的名称。logical_file_name 在数据库中必须唯一,并且符合标识符的规则。该名称可以是字符或 Unicode 常量,也可以是常规标识符或定界标识符。FILENAME为 <filespec> 定义的文件指定操作系统文件名。'os_file_name'操作系统创建 <filespec> 定义的物理文件时使用的路径名和文件名。os_file_name 中的路径必须指定 SQL Server 实例上的目录。os_file_name 不能指定压缩文件系统中的目录。如果文件在原始分区上创建,则 os_file_name 必须只指定现有原始分区的驱动器字母。每个原始分区上只能创建一个文件。原始分区上的文件不会自动增长;因此,os_file_name 指定原始分区时,不需要指定 MAXSIZE 和 FILEGROWTH 参数。SIZE指定 <filespec> 中定义的文件的大小。如果主文件的 <filespec> 中没有提供 SIZE 参数,那么 SQL Server 将使用 model 数据库中的主文件大小。如果次要文件或日志文件的 <filespec> 中没有指定 SIZE 参数,则 SQL Server 将使文件大小为 1 MB。size<filespec> 中定义的文件的初始大小。可以使用千字节 (KB)、兆字节 (MB)、千兆字节 (GB) 或兆兆字节 (TB) 后缀。默认值为 MB。指定一个整数,不要包含小数位。size 的最小值为 512 KB。如果没有指定 size,则默认值为 1 MB。为主文件指定的大小至少应与 model 数据库的主文件大小相同。MAXSIZE指定 <filespec> 中定义的文件可以增长到的最大大小。max_size<filespec> 中定义的文件可以增长到的最大大小。可以使用千字节 (KB)、兆字节 (MB)、千兆字节 (GB) 或兆兆字节 (TB) 后缀。默认值为 MB。指定一个整数,不要包含小数位。如果没有指定 max_size,那么文件将增长到磁盘变满为止。说明 在磁盘即将变满时,Microsoft Windows NT® S/B 系统日志会警告 SQL Server 系统管理员。UNLIMITED指定 <filespec> 中定义的文件将增长到磁盘变满为止。FILEGROWTH指定 <filespec> 中定义的文件的增长增量。文件的 FILEGROWTH 设置不能超过 MAXSIZE 设置。growth_increment每次需要新的空间时为文件添加的空间大小。指定一个整数,不要包含小数位。0 值表示不增长。该值可以 MB、KB、GB、TB 或百分比 (%) 为单位指定。如果未在数量后面指定 MB、KB 或 %,则默认值为 MB。如果指定 %,则增量大小为发生增长时文件大小的指定百分比。如果没有指定 FILEGROWTH,则默认值为 10%,最小值为 64 KB。指定的大小舍入为最接近的 64 KB 的倍数。注释使用一条 CREATE DATABASE 语句即可创建数据库以及存储该数据库的文件。SQL Server 分两步实现 CREATE DATABASE 语句:SQL Server 使用 model 数据库的复本初始化数据库及其元数据。然后,SQL Server 使用空页填充数据库的剩余部分,除了包含记录数据库中空间使用情况以外的内部数据页。因此,model 数据库中任何用户定义对象均复制到所有新创建的数据库中。可以向 model 数据库中添加任何对象,例如表、视图、存储过程、数据类型等,以将这些对象添加到所有数据库中。每个新数据库都从 model 数据库继承数据库选项设置(除非指定了 FOR ATTACH)。例如,在 model 和任何创建的新数据库中,数据库选项 select into/bulk 都设置为 OFF。如果使用 ALTER DATABASE 更改 model 数据库的选项,则这些选项设置会在创建的新数据库中生效。如果在 CREATE DATABASE 语句中指定了 FOR ATTACH,则新数据库将继承原始数据库的数据库选项设置。一台服务器上最多可以指定 32,767 个数据库。有三种类型的文件用来存储数据库:主文件包含数据库的启动信息。主文件还可以用来存储数据。每个数据库都包含一个主文件。次要文件保存所有主要数据文件中容纳不下的数据。如果主文件大到足以容纳数据库中的所有数据,就不需要有次要数据文件。而另一些数据库可能非常大,需要多个次要数据文件,也可能使用多个独立磁盘驱动器上的次要文件,以将数据分布在多个磁盘上。事务日志文件保存用来恢复数据库的日志信息。每个数据库必须至少有一个事务日志文件(尽管可以有多个)。事务日志文件最小为 512 KB。每个数据库至少有两个文件,一个主文件和一个事务日志文件。尽管 'os_file_name' 可以是任何有效的操作系统文件名,但如果使用以下建议的扩展名,则可以更加清楚地反映文件的用途。文件类型 文件扩展名主要数据文件 .mdf次要数据文件 .ndf事务日志文件 .ldf
③ 数据库的建立
(一)数据库的结构和内容
省级分等数据库结构分省、市、县三级。分等数据库具体结构和内容见表 3-18。
表 3-18 分等数据库结构和内容表
(二)数据库数据标准
1. 表格数据库文件格式
表格数据库除要求提供 Excel 格式的表格外,其他表格统一采用 DBF 格式。
2. 字段内容及格式要求
1)某些关键字段的填写要求
县级农用地分等单元编号:省级行政代码(2位)+地级市行政代码(2位)+县级行政代码(2位)+ 单元流水编号(6 位)。行政代码按《中华人民共和国行政区划代码》(GB 2260-91)执行。单元流水编号不足 6 位的前面补 0。
省级农用地分等单元编号:省级行政代码(2位)+地级市行政代码(2位)+县级行政代码(2位)+ 单元流水编号(3 位)。行政代码按《中华人民共和国行政区划代码》(GB 2260-91)执行。单元流水编号不足 3 位的前面补 0。
面积:以公顷为单位的,小数点后保留 2 位;以亩为单位的,小数点后保留 1 位。
2)字段格式要求
字段格式要求详见表 3-19 ~表 3-31。下列数据表格说明中,“C”表示字符型字段,“N”表示数值型;冒号后面的数字表示字段长度和小数点后的保留位数。如 C∶6 表示长度为 6 的字符型字段;N∶10/2 表示长度为 10 的数值型字段,其中小数点后保留 2 位。
表 3-19 ×× 县农用地分等单元原始属性数据表
表 3-20 ×× 县农用地分等基本参数表 ( 只提供 Excel 格式 )
表 3-21 ×× 县农用地分等指定作物基本参数表
表 3-22 ×× 县样点产量-投入调查数据表
表 3-23 ×× 县土地利用系数、土地经济系数汇总表
表 3-24 ×× 县 ×× 指标区“指定作物 – 分等因素 – 自然质量分”记分规则表
表 3-25 ×× 县 ×× 样地适用区“指定作物 – 分等属性 – 自然质量分”加(减)分规则表
表 3-26 ×× 县农用地分等 ×× 作物计算结果表
表 3-27 ×× 县农用地分等多作物综合计算结果表
表 3-28 ×× 县农用地分等结果乡镇 – 面积汇总表
表 3-29 ×× 县农用地分等结果地类 – 面积汇总表
表3-30 ×× 县(省)农用地标准样地属性数据表
表3-31 ×× 县农用地分等单元综合数据表(只提供Excel 格式)
(三)数据库建设流程
省级分等数据库建设分三步,首先形成县级分等数据库;然后在县级分等数据库基础上,按照《农用地分等定级规程》(国土资源大调查专用)和《福建省农用地(耕地)分等汇总工作技术方案》的技术要求,建立市级分等数据库;最后在市级分等数据库基础上,再形成省级分等数据库(图 3-8)。
图3-8 省级分等数据库建设流程图
图3-9 农用地(耕地)分等市级数据库建设流程图
图3-10 农用地(耕地)分等省级数据库建设流程图
1.县级分等数据库建设
根据《福建省农用地(耕地)分等工作方案》,在完成县级农用地(耕地)分等工作后,按照上述(一)、(二)点要求,建立县级分等数据库。
2.市级分等数据库建设
市级分等数据库建设流程见图3-9。
3.省级分等数据库建设
省级分等数据库建设流程见图3-10。
④ sql2005:数据库初始文件大小及增长方式根据什么因素如何确定如果有多个数据文件时,为什么要尽可能放在
一、可以在创建后修改。二、可以在创建时指定(代码如下)create database teston primary –建立主数据文件( name = 'test', –逻辑文件名 filename='e:\data\test.mdf', –物理文件路径和名字 size=3Mb, –初始大小 maxsize=unlimited, –最大尺寸为无限大 filegrowth=10% –增长速度为10%) log on( name = 'test_log', –建立日志文件 filename='e:\data\test_log.ldf',–物理文件路径和名字 size=1024kb, maxsize=5120kb, filegrowth=1024kb)
⑤ 数据结构的三要素是什么
一、数据的逻辑结构
指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后间关系,而与他们在计算机中的存储位置无关。逻辑结构包括:
1、集合:数据结构中的元素之间除了“同属一个集合” 的相互关系外,别无其他关系;
2、线性结构:数据结构中的元素存在一对一的相互关系;
3、树形结构:数据结构中的元素存在一对多的相互关系;
4、图形结构:数据结构中的元素存在多对多的相互关系。
二、数据的物理结构
指数据的逻辑结构在计算机存储空间的存放形式。
数据的物理结构是数据结构在计算机中的表示(又称映像),它包括数据元素的机内表示和关系的机内表示。由于具体实现的方法有顺序、链接、索引、散列等多种,所以,一种数据结构可表示成一种或多种存储结构。
数据元素的机内表示(映像方法): 用二进制位(bit)的位串表示数据元素。通常称这种位串为节点(node)。当数据元素有若干个数据项组成时,位串中与各个数据项对应的子位串称为数据域(data field)。因此,节点是数据元素的机内表示(或机内映像)。
关系的机内表示(映像方法):数据元素之间的关系的机内表示可以分为顺序映像和非顺序映像,常用两种存储结构:
顺序存储结构和链式存储结构。顺序映像借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系。非顺序映像借助指示元素存储位置的指针(pointer)来表示数据元素之间的逻辑关系。
三、数据存储结构
数据的逻辑结构在计算机存储空间中的存放形式称为数据的物理结构(也称为存储结构)。一般来说,一种数据结构的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序存储、链式存储、索引存储和哈希存储等。
数据的顺序存储结构的特点是:借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系;非顺序存储的特点是:借助指示元素存储地址的指针表示数据元素之间的逻辑关系。
(5)创建数据文件关键因素是什么扩展阅读
在程序中,堆用于动态分配和释放程序所使用的对象。在以下情况中调用堆操作:
1、事先不知道程序所需对象的数量和大小。
2、对象太大,不适合使用堆栈分配器。
堆使用运行期间分配给代码和堆栈以外的部分内存。
传统上,操作系统和运行时库随附了堆实现。当进程开始时,操作系统创建称为进程堆的默认堆。如果没有使用其他堆,则使用进程堆分配块。语言运行时库也可在一个进程内创建单独的堆。(例如,C 运行时库创建自己的堆。)
除这些专用堆外,应用程序或许多加载的动态链接库 (DLL) 之一也可以创建并使用单独的堆。Win32 提供了一组丰富的API用于创建和使用专用堆。有关堆函数的优秀教程,请参阅 MSDN 平台 SDK 节点。
当应用程序或DLL创建专用堆时,这些堆驻留于进程空间中并且在进程范围内是可访问的。某一给定堆分配的任何数据应为同一堆所释放。(从一个堆分配并释放给另一个堆没有意义。)
在所有虚拟内存系统中,堆位于操作系统的虚拟内存管理器之上。语言运行时堆也驻留在虚拟内存之上。某些情况下,这些堆在操作系统堆的上层,但语言运行时堆通过分配大的块来执行自己的内存管理。绕开操作系统堆来使用虚拟内存函数可使堆更好地分配和使用块。
典型的堆实现由前端分配器和后端分配器组成。前端分配器维护固定大小块的自由列表。当堆收到分配调用后,它尝试从前端列表中查找自由块。如果此操作失败,则堆将被迫从后端(保留和提交虚拟内存)分配一个大块来满足请求。通常的实现具有每个块分配的开销,这花费了执行周期,也减少了可用存储区。
Windows NT的实现(Windows NT 4.0 版及更高版本)使用 127 个从 8 到 1,024 字节不等的 8 字节对齐块的自由列表和 1 个混合列表。混合列表(自由列表【0】)包含大小超过 1,024 字节的块。自由列表包含在双向链接表中链接在一起的对象。默认情况下,进程堆执行合并操作。(合并操作是组合相邻的自由块以生成更大的块的操作。)合并操作花费了额外的周期,但减少了堆块的内部碎片。
单个全局锁可防止多线程同时使用堆。此锁主要用于保护堆数据结构不受多线程的任意访问。当堆操作过于频繁时,此锁会对性能造成负面影响。
参考资料来源:网络-数据结构
参考资料来源:网络-堆
⑥ 影响数据库性能的主要因素有哪些
以MySQL为例:
影响数据库性能的主要因素总结如下:
1、sql查询速度
2、网卡流量
3、服务器硬件
4、磁盘IO
以上因素并不是时时刻刻都会影响数据库性能,而就像木桶效应一样。如果其中一个因素严重影响性能,那么整个数据库性能就会严重受阻。另外,这些影响因素都是相对的。
例如:当数据量并没有达到百万千万这样的级别,那么sql查询速度也许就不是个重要因素,换句话说,你的sql语句效率适当低下可能并不影响整个效率多少,反之,这种情况,无论如何怎么优化sql语句,可能都没有太明显的效果。
相关内容拓展:
1、SQL查询速度
风险:效率低下的SQL
2、网卡流量
风险:网卡IO被占满(100Mb/8=100MB)
方案:
①减少从服务器的数量。从服务器都要从主服务器上复制日志,所以,从服务器越多,网络流量越大。
②进行分级缓存。前方大量缓存突然失效会对数据库造成严重的冲击。
③避免使用“select * ”进行查询
④分离业务网络和服务器网络
3、磁盘IO
风险:磁盘IO性能突然下降。
方案:使用更好的磁盘设备解决。
⑦ 关于创建数据库,数据库文件的问题
create database 数据库名称 后面跟的on,是告诉系统,用户将要建立一个什么属性的数据库,包括库名称、存放地址、数据库大小等等信息;log on开始为数据库的日志文件,与上一个是同样的格式,存放每次用户对数据库修改等操作的信息,用来备份。若用程序创建数据库最好不要缺省,在开始就养成一个好的习惯,以后程序做大后也会很方便的管理。。。。
⑧ 在进行数据库规划时应考虑哪几方面因素,分别是什么含义
第一:各个参数是来否对应的一源个对象(面向对象编程思想);第二:各个参数可能类型和出现的最大长度,之后合理的设计各个字段的最大长度和相应类型;第三:各个参数中哪些字段具有唯一性,考虑作为主键或者是外键来进行表关联;第四:根据数据量的大小来考虑是否需要进行分区处理;第五:哪些字段是不经常便跟字段,可以考虑进行多张表的存储来节省存储空间(可能影响查询修改效率)
⑨ 创建数据库
SQL2000在开始-程序- MICROSOFT SQLSERVER- 企业管理器 界面下打开控制台根目录下的所有+号展开到(LOCAL)(WINDOWS NT),它下面有+数据库,+数据转换服务…等等,你在“数据库”右键点“新建数据库” 就可以了SQL2005》打开SQL Server Management Studio 。》系“连接到服务器”对话框中,“服务器类型”下拉选项选择“数据库引擎”,“服务器名称”个度默认会显示上次连接的服务器,可以使用计算机名称、IP地址或是命名管道来连接。》打开“对象资源管理器”,右击“数据库”可以新建数据库。》点击新建数据库后,出现一个窗口,通常只要完成常规页面设置即可。设置如下:1.“数据库名称”要符合SQL的命名规则,唔好与现存的数据库名称相同。 2.“所有者”,点一下“。。。”按扭来选取其他用户。3.“使用全文索引”,全文索引可以快速且有弹性地编制索引,查询大量非结构化文本数据时效率高于LIKE表达式。4.“逻辑名称”,一般采用默认的,方便管理。5.“初始大小”,设置时可根据你的主要数据库估计用到几大,便设到几大,再去设启用“自动增长”。一般选按1M,“不限制文件增长”。6.“路径”,选择存储数据库的位置。7.日志的设置按数据设置技巧相同,但要注意,日志文件会记录所有发生在数据库的变动和更新,以便到硬件损坏等各种意外时,能有效地将数据还原到发生意外的时间点上,从而确保数据的一致性与完整性。显然,要让日志文件能够发挥效用,必须将数据文件与日志文件存储在不同的物理磁盘上这点是您在设定日志文件的物理文件名时所必须留意的。8.“添加”,在添加时注意选“文件类型”,当你选择日志,文件组就会自动选用“不适用”。还要注意,不用的日志,存储路径的物理盘应设置为不同。以便还原。9.添加次要数据文件默认会隶属于主要文件组,如果你想新建一个文件组,在次要数据的文件组中选择“新文件组”,输入名称,选中“默认值”。如果你唔想被人修改或更新文件组内的表,你就选“只读
⑩ 创建数据库时数据文件和日志文件需要设置的参数有哪些(6个)
–修改数据库文件增量USE masterGOAlter DATABASE Test MODIFY FILE (NAME = test,– SIZE = 1000MB,–MAXSIZE = 10000MB, FILEGROWTH = 100MB)GO–修改数据库日志文件增量USE masterGOAlter DATABASE Test MODIFY FILE (NAME = test_log,– SIZE = 1000MB,–MAXSIZE = 10000MB, FILEGROWTH = 100MB)GO参考以下内容:[c-sharp]view plainprint?/* 一般的虚拟主机上,附送的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 }