精华内容
下载资源
问答
  • 修改数据库文件初始大小
    2021-08-07 05:23:54

    数据库实例文件初始化

    07/24/2020

    本文内容

    适用于:

    1ac61a4a8a8c4980aa515f7a7e57df56.pngSQL Server(所有支持的版本)

    在本文中,你将了解即时文件初始化,还将了解如何启用它以加速 SQL Server 数据库文件的增长。

    默认情况下,初始化数据和日志文件以覆盖之前删除的文件遗留在磁盘上的任何现有数据。 执行以下操作时,应首先通过零填充(用零来填充)数据和日志文件来初始化这些文件:

    创建数据库。

    向现有数据库添加数据或日志文件。

    增大现有文件的大小(包括自动增长操作)。

    还原数据库或文件组。

    在 SQL Server 中,通过即时文件初始化 (IFI) 可以更快执行前面提到的文件操作,因为它会回收已使用的磁盘空间,而不会用零来填充该空间(仅限数据文件)。 相反,新数据写入文件时会覆盖磁盘内容。 日志文件不能立即初始化。

    启用即时文件初始化

    即时文件初始化功能仅在向 SQL Server 服务启动帐户授予了 SE_MANAGE_VOLUME_NAME 之后才可用。 Windows Administrator 组的成员拥有此权限,并可以通过将其他用户添加到 执行卷维护任务 安全策略中来为其授予此权限。

    重要

    某些功能使用(如透明数据加密 (TDE))可以阻止即时文件初始化。

    备注

    从 SQL Server 2016 (13.x) 开始,可在安装期间授予服务帐户此权限。

    如果使用命令提示符安装,请添加 /SQLSVCINSTANTFILEINIT 参数,或选中安装向导中“授予 SQL Server 数据库引擎服务执行卷维护任务权限”复选框。

    要向一个帐户授予 Perform volume maintenance tasks 权限:

    在将要创建数据文件的计算机上打开本地安全策略应用程序 (secpol.msc)。

    在左侧窗格中,展开“本地策略” ,然后单击“用户权限指派” 。

    在右侧窗格中,双击“执行卷维护任务”。

    单击“添加用户或组”并添加可运行 SQL Server 服务的帐户。

    单击“应用” ,然后关闭所有“本地安全策略” 对话框。

    重启 SQL Server 服务。

    在启动时检查 SQL Server 错误日志。

    适用于: SQL Server(从 SQL Server 2012 (11.x) SP4、SQL Server 2014 (12.x) SP2 和 SQL Server 2016 (13.x) 及更高版本开始)。

    如果授予 SQL Server 服务启动帐户 SE_MANAGE_VOLUME_NAME,将记录类似如下的消息:

    Database Instant File Initialization: enabled. For security and performance considerations see the topic 'Database Instant File Initialization' in SQL Server Books Online. This is an informational message only. No user action is required.

    如果授予 SQL Server 服务启动帐户 SE_MANAGE_VOLUME_NAME,将记录类似如下的消息:

    Database Instant File Initialization: disabled. For security and performance considerations see the topic 'Database Instant File Initialization' in SQL Server Books Online. This is an informational message only. No user action is required.

    备注

    可以使用 sys.dm_server_services DMV 中的 instant_file_initialization_enabled 列来识别是否启用了即时文件初始化。

    安全注意事项

    建议启用即时文件初始化,因为其优势可能远大于安全风险。

    使用即时文件初始化,只有将新数据写入文件时才会覆盖已删除的磁盘内容。 出于此原因,在数据文件的该特定区域写入其他数据之前,未经授权的主体可能访问已删除的内容。

    当数据库文件连接到 SQL Server 实例之后,可以通过文件中的随机访问控制列表 (DACL) 来降低此信息泄露的风险。 此 DACL 仅允许 SQL Server 服务帐户和本地管理员访问文件。 但是,当文件分离以后,可以由不具有 SE_MANAGE_VOLUME_NAME 的用户或服务访问。

    以下情况有类似的注意事项:

    备份数据库时。 如果未使用适当的 DACL 对备份文件进行保护,则未授权的用户或服务将可以使用删除的内容。

    使用 IFI 增大文件时。 SQL Server 管理员可能会访问原始页面内容并查看以前删除的内容。

    数据库文件托管在存储区域网络中。 存储区域网络也可能始终向以预先初始化的形式提供新页面,让操作系统重新初始化页面可能会产生不必要的开销。

    如果担心可能会泄漏删除的内容,则应执行以下两种或其中一种操作:

    请始终确保所有分离的数据文件和备份文件都具有限制性的 DACL。

    为 SQL Server 的实例禁用即时文件初始化。 要进行此操作,请从 SQL Server 服务启动帐户撤消 SE_MANAGE_VOLUME_NAME。

    备注

    禁用该功能将延长数据文件的分配时间,且只会影响在撤消用户权限后创建的文件或增加的文件部分。

    SE_MANAGE_VOLUME_NAME 用户权限

    可在 Windows Administrative Tools、Local Security Policy 小程序中分配 SE_MANAGE_VOLUME_NAME 用户特权 。 在“本地策略”下选择“用户权限分配”并修改“执行卷维护任务”属性 。

    性能注意事项

    数据库文件初始化过程将零写入进行初始化的文件的新区域。 此过程的持续时间取决于初始化的文件部分的大小以及存储系统的响应时间和容量。 如果初始化需要很长时间,则可能在 SQL Server 错误日志和应用程序日志中看到以下消息。

    Msg 5144

    Autogrow of file '%.*ls' in database '%.*ls' was cancelled by user or timed out after %d milliseconds. Use ALTER DATABASE to set a smaller FILEGROWTH value for this file or to explicitly set a new file size.

    Msg 5145

    Autogrow of file '%.*ls' in database '%.*ls' took %d milliseconds. Consider using ALTER DATABASE to set a smaller FILEGROWTH for this file.

    数据库和/或事务日志文件的长时间自动增长可能导致查询性能问题。 这是因为,要求文件自动增长的操作将在文件增长操作期间保留到锁定或闩锁等资源。 可能看到分配页面的闩锁上出现长时间等待。 需要长时间自动增长的操作将显示等待类型 PREEMPTIVE_OS_WRITEFILEGATHER。

    另请参阅

    更多相关内容
  • 我们在SQL Server中新建数据库的时候,可以选择数据库文件及日志文件的初始大小、自动增长大小和最大大小,如下图所示:可以通过设置更改数据库初始大小、自动增长大小和最大大小:但是其实在SQL Server中新建数据库...

    我们在SQL Server中新建数据库的时候,可以选择数据库文件及日志文件的初始大小、自动增长大小和最大大小,如下图所示:

    1eac60ce487b146bc3ab24537c41099c.png

    可以通过设置更改数据库初始大小、自动增长大小和最大大小:

    3f5dfe4230d1ffc6a7cebd1840b34919.png

    但是其实在SQL Server中新建数据库时,数据库的初始大小、自动增长大小和最大大小的默认值,是可以在model这个系统数据库上预设的。

    比如现在我们将model系统数据库的初始大小设置为50MB,数据库文件增量设置为90MB,数据库文件最大大小设置为1024MB,如下图所示:

    41807282c3c0ee2ef5b214bccdabde87.png

    9b8e725fce6bda1048ff27e591315f48.png

    然后现在我们再在SQL Server中新建一个数据库:

    f4c973da53c303922404f7d87a25c00a.png

    然后我们可以看到新建数据库的初始大小默认为50MB,数据库文件增量默认为90MB,数据库文件最大大小默认为1024MB,和系统数据库model的文件设置完全相同。

    e4a61571bbd4cc8660ae4b560e1f7f0f.png

    所以这就是model这个系统数据库的作用,它实际上是SQL Server中新建数据库的一个模板,SQL Server中新建的数据库会套用model这个系统数据库上的设置作为默认值。所以我们可以在model系统数据库上设置文件初始大小、文件增量和文件最大大小,从而作为新建数据库的预设默认值。

    转载:

    https://www.cnblogs.com/OpenCoder/p/9637335.html

    展开全文
  • 我们在SQL Server中新建数据库的时候,可以选择数据库文件及日志文件的初始大小、自动增长大小和最大大小,如下图所示:可以通过设置更改数据库初始大小、自动增长大小和最大大小:但是其实在SQL Server中新建数据库...

    我们在SQL Server中新建数据库的时候,可以选择数据库文件及日志文件的初始大小、自动增长大小和最大大小,如下图所示:

    1eac60ce487b146bc3ab24537c41099c.png

    可以通过设置更改数据库初始大小、自动增长大小和最大大小:

    3f5dfe4230d1ffc6a7cebd1840b34919.png

    但是其实在SQL Server中新建数据库时,数据库的初始大小、自动增长大小和最大大小的默认值,是可以在model这个系统数据库上预设的。

    比如现在我们将model系统数据库的初始大小设置为50MB,数据库文件增量设置为90MB,数据库文件最大大小设置为1024MB,如下图所示:

    41807282c3c0ee2ef5b214bccdabde87.png

    9b8e725fce6bda1048ff27e591315f48.png

    然后现在我们再在SQL Server中新建一个数据库:

    f4c973da53c303922404f7d87a25c00a.png

    然后我们可以看到新建数据库的初始大小默认为50MB,数据库文件增量默认为90MB,数据库文件最大大小默认为1024MB,和系统数据库model的文件设置完全相同。

    e4a61571bbd4cc8660ae4b560e1f7f0f.png

    所以这就是model这个系统数据库的作用,它实际上是SQL Server中新建数据库的一个模板,SQL Server中新建的数据库会套用model这个系统数据库上的设置作为默认值。所以我们可以在model系统数据库上设置文件初始大小、文件增量和文件最大大小,从而作为新建数据库的预设默认值。

    展开全文
  • 初始数据库

    2021-02-02 11:07:55
    数据库专业的名字叫:数据库管理系统(英语:Database Management System,简称DBMS)我们平常讲的mysql是数据库的一种数据库现在主流两个大类:关系型数据库(RDBMS):关系型数据库模型是把复杂的数据结构归结为简单的...

    一、什么是数据库:

    一个专门管理数据的软件.特点是:管理数据便捷,高效,安全,支持高并发.

    数据库专业的名字叫:数据库管理系统(英语:Database Management System,简称DBMS)我们平常讲的mysql是数据库的一种

    数据库现在主流两个大类:

    关系型数据库(RDBMS):

    关系型数据库模型是把复杂的数据结构归结为简单的二元关系(mysql就是关系型数据库).操作关系型数据库的命令,我们称之为SQL.不同数据库系统之间的SQL不能完全相互通用

    非关系型数据库

    注意: 数据库里面的指令必须要用;分号结尾,然后才能执行1.开启服务端,mysqld\ net start mysql2.使用mysql自带的客户端进行连接,cmd下输入mysql -u root -p,然后回车,会提示你输入密码,此时初始的root用户还没有密码,所以还是直接回车就可以连接上了3.show databases;先不讲里面的内容,说一下这是几个库,每个项目可以有自己单独的一个库,里面放这个项目的所有数据表4.创建一个库:create database CRM;然后show databases;查看一下就有了这个crm库,不分大小写,统一会变成小写,对照着我们mysql安装目录下的data文件夹里面的内容看一下,库就是对应的文件夹。5.我们目前在所有数据库之上,想在我们自己项目的库里面操作数据,就需要切换到我们自己这个crm项目的库里面进行数据的操作,切换数据库使用use +库名,例如:use crm;就提示你切换成功了。6.我们说过,库里面维护的数据就像一张一张的数据表,类似excel,对不对,那我们创建一张表看一下,命令:

    create table student(

    id int,

    name char(10),

    age int,);7.再执行show tables;就可以看到有了一个student表8.查看一下这个表里的数据select * from student;发现什么数据也没有

    二、mysql文件介绍:

    20190115195529456451.png

    重点看一下data文件夹:如果你找不到自己建立的库或者表的文件,可能不在这个data文件夹下面,连接上mysql之后,输入show global variables like"%datadir%";来查看数据文件存储路径,找到路径之后,到对应路径下如果找不到这个文件夹,那么可能是隐藏的,把隐藏的文件显示一下就行了。

    20190115195530593213.png

    三、密码设置

    方法1: 用SET PASSWORD命令

    首先登录MySQL,使用mysql自带的那个客户端连接上mysql。

    格式:mysql> set password for 用户名@localhost = password(‘新密码‘);

    例子:mysql> set password for root@localhost = password(‘123‘);

    方法2:用mysqladmin (因为我们将bin已经添加到环境变量了,这个mysqladmin也在bin目录下,所以可以直接使用这个mysqladmin功能,使用它来修改密码)

    关于mysqladmin的介绍:是一个执行管理操作的客户端程序。它可以用来检查服务器的配置和当前状态、创建和删除数据库、修改用户密码等等的功能,

    虽然mysqladmin的很多功能通过使用MySQL自带的mysql客户端可以搞定,但是有时候使用mysqladmin操作会比较简单。

    格式:mysqladmin-u用户名 -p旧密码 password 新密码

    例子:mysqladmin-uroot -p123456 password 123只用mysqladmin的时候,会出现一个warning警告信息:Warning: Using a password on the command line interface can be insecure.,这个没关系,是提示你,

    你直接在cmd下使用明文设置密码的时候,是不安全的,因为别人可以通过翻看你输入指令的历史记录来查看到你设置的密码,所以提示你一下,不信你按上下键,可以看到自己之前输入的命令.所以我们最好连接进入到mysql里面之后,再进行密码的修改和设置

    方法3:用UPDATE直接编辑那个自动的mysql库中的user表

    首先登录MySQL,连接上mysql服务端。

    mysql>use mysql; use mysql的意思是切换到mysql这个库,这个库是所有的用户表和权限相关的表都在这个库里面,我们进入到这个库才能修改这个库里面的表。

    mysql> update user set password=password(‘123‘) where user=‘root‘ and host=‘localhost‘; 其中password=password(‘123‘) 前面的password是变量,

    后面的password是mysql提供的给密码加密用的,我们最好不要明文的存密码,其中user是一个表,存着所有的mysql用户的信息。

    mysql> flush privileges; 刷新权限,让其生效,否则不生效,修改不成功。

    忘记密码,有办法修改,但是你的数据库在你修改期间就必须停止了.所以要牢记密码.

    四、永久设置以管理员身份运行cmd窗口

    1、创建“cmd.exe”快捷方式:2、右击选择“属性”,选择“快捷方式”,再选择“高级”,在选择“以管理员身份运行”,

    再单击“确定”。

    五、设置字符集编码

    一.在插入数据之前,先执行一条指令:set names latin1;临时修改客户端三炮的字符集,让客户端插入数据的时候按照服务端的字符集编码来插入数据.

    二.在配置文件里面修改客户端和服务端参数,可以实现set names latin1;的效果,并且永久生效1.修改配置文件my.ini文件(win10,unix叫做my.cnf),这个文件是mysql启动的时候加载的一些用户自定制配置的文件2.首先在安装目录下创建一个my.ini文件(copy一份my-default.ini文件,改名为my.ini文件),使用Notepad++打开,里面写上下面的内容,来看看是不是会生效

    20190115195530979947.png

    我们在我们创建的my.ini文件中写上下面几行,然后保存:

    [mysql]#配置客户端连接的时候,指定一下用户名和密码,那么我们在进行mysql客户端连接的时候,直接输入mysql然后回车就可以了,并且用户是我们下面指定的root用户

    user=root

    password=666

    3. 针对客户端命令的全局配置,当mysql客户端命令执行时,下列配置生效

    [client]

    default-character-set=utf84. 只针对mysql这个客户端的配置,3中的是全局配置,而此处的则是只针对mysql这个命令的局部配置

    [mysql]

    user=root

    password=666default-character-set=utf8

    重启mysql服务,让配置文件生效:

    C:\WINDOWS\system32>net stop mysql

    MySQL 服务正在停止..

    MySQL 服务已成功停止。

    C:\WINDOWS\system32>net start mysql

    MySQL 服务正在启动 .

    MySQL 服务已经启动成功。

    数据库指令:

    1.库(data文件夹中的文件夹,每创建一个库,这个库的名称就是文件夹的名称,文件夹里面保存着一些这个库相关的初始信息)

    增:create database db1 charset utf8;#创建一个库,可以指定字符集

    查:show databases; #查看数据库中所有的库

    show create database db1; #查看单独某个库db1的信息

    改:alter database db1 charset latin1; #修改库的字符集,注意语句的格式(其他语句也是这么个格式),alter(修改) database(修改数据库) db1(哪个数据库) charset(字符集) latin1(改成哪个字符集)

    删除: drop database db1; #删除数据库

    2、表(操作文件,表是上面库文件夹里面的文件)

    先切换库:use db1;#要操作表文件,要先切换到对应的库下才能操作表

    查看当前所在的是哪个库:select database();

    增:create table t1(id int,name char(10) )3. 行(操作文件(表)中的内容/记录)(*****将来的重中之重)

    增:insert into t1 values(1,‘dsb1‘),(2,‘dsb2‘),(3,‘dsb3‘); #往t1表中插入三行数据,注意你插入的每行内容都要和你创建表的时候的字段个数和字段属性对应好,注意每行数据以逗号分隔。

    insert后面的into可以不用写。

    查:select* from t1; #查看t1表中所有字段的数据,select 字段 from 表。

    select id,name from t1;#查看t1表中的id和name列的数据,其他的不看,注意格式,每个字段逗号分隔,在cmd窗口下只是展示给我们看,将来我们通过程序获取查询数据的时候,就可以这么获取,

    查询字段的顺序也是可以颠倒的,name,id这样也是可以的

    改:update t1 set name=‘sb‘ where id=2; #把id为2的行(记录)中的name字段的数据改为sb;id>1;id<=1;等等都可以。后面会细讲的~~~

    update t1 set name=‘sb‘,id=88 where id>2; #对两个字段进行修改

    update t1 set name=‘sb‘;#如果不指定where,那么会name字段的所有数据都改成sb。

    删:delete from t1 where id=1; #删除id为1的行

    清空表:

    deletefrom t1; #如果有自增id,新增的数据,仍然是以删除前的最后一样作为起始。

    truncate table t1;数据量大,删除速度比上一条快,且直接从零开始,

    auto_increment 表示:自增

    primary key 表示:约束(不能重复且不能为空);加速查找

    展开全文
  • 用户在创建数据库时可以根据实际情况选择需要的页大小,若不做修改则默认大小为 8KB,该参数值在数据库初始化完成后,是无法进行更改的,只能重新初始数据库进行更改。 页大小和每个字符类型字段实际最大长度...
  • 当你在SqlServer创建数据库的时候可以指定数据库文件初始大小,比如下图中我们将新创建的数据库MyDB的大小设置成了1024MB   那么你建好的数据库的确也就会占用1024MB左右的磁盘空间   不过...
  • 初始大小为 1024M USE [SunLightIntf_NEW] GO DBCC SHRINKFILE (N'SunLightIntf_TEST_log' , 1024) GO ———————————————————————————————————————————— ...
  •  数据文件初始大小文件增长和大大小保持一致,这样,能够使每个文件的IO次数相对均匀;  日志文件分配在性能好的物理硬盘上,写日志的性能直接影响数据修改的性能;  在创建文件时,为每个文件分配足够大...
  • 数据库增长方式主要有两种,按百分比自动增长和按固定大小...1、对于数据库文件设置,可以根据你每次向表中插入的数据的多少来设定;我的表每次最多插入数据大小为40MB,则可以将数据初始大小设置为50,增长大小设...
  • sqlserver2008日志已满解决方法,SQL Server 如何设置数据库的默认初始大小和自动增长大小 1、数据库右键属性-选项-恢复模式-下拉选择简单-最后点击确定 2、右键数据库-任务-收缩-文件类型-下拉选择日志-收缩操作-在...
  • 达梦数据库命令行快速初始化数据实例 ./dminit PATH=/home/dmdba/dmdata5236/ EXTENT_SIZE=32 PAGE_SIZE=32 LOG_SIZE=1024 CASE_SENSITIVE=Y CHARSET=0 LENGTH_IN_CHAR=Y DB_NAME=DAMENG INSTANCE_NAME=DMSERVER ...
  • 达梦数据库实例初始化参数的设置

    千次阅读 2020-02-24 17:44:14
    当达梦数据库安装完毕,开始初始化实例时,我们会遇到这样一个界面: 这么多的参数,许多朋友不知从何入手,在这里,我就按照从上往下的顺序,为大家解释一下。 1、簇大小: 即EXTENT_SIZE,数据文件使用的簇大小,...
  • 我们在136上的oracle数据库进行压力测试时,发现数据库的数据文件占用物理空间达到20多个G,但是在我们清掉各个表的数据后(truncate掉各个日志表),发现数据库实际数据占用的空间只有20多M,但物理文件仍然20多G。...
  • 在DM数据库中,页大小可以为 4KB、 8KB、 16KB 或者 32KB,用户在创建数据库时可以根据实际情况选择需要的页大小, 默认大小为 8KB,该参数值在数据库初始化完成后,是无法进行更改的,只能重新初始数据库进行更改...
  • 常用初始化参数介绍
  • 出现该类问题的原因是什么呢?... 生成是SQL语句和配置的不一致 文件中明明默认的大小为1M,但是在SQL语句中的的文件大小却成为了1KB。 最佳处理方法:再手动选择一下MB即可。 选择之后再查看SQL预览就变成1MB了。
  • 数据库的修改包括扩充数据库容量、压缩数据库和数据文件更改数据库名称和删除数据库等。一共有两种方式去修改数据库一.使用ALTER DATABASE 语句修改数据库;二.在SQL Server Management Studio中修改数据库的各种...
  • DM8数据库安装 ​》中介绍了DM8的安装过程,如果要使用数据库的话,必不可少的第一步就是要初始数据库实例了,因此,系统管理员可以利用dminit工具提供的各种参数,设置数据库存放的路径,段页大小、是否对大小写...
  • 其中页大小 (page_size)、簇大小 (extent_size)、大小写敏感 (case_sensitive)、字符集 (charset) 这四个参数,一旦确定无法修改,需谨慎设置。下表为这几个参数的具体含义: 例如: ./dminit path=/dm8/data PAGE...
  • 1. 对数据文件的操作(添加,删除,修改文件的初始大小,最大大小,步长) 2. 数据库文件的收缩 3. 数据库的只读/读写 read_only只读 read_write可读写 read_only表示只读 read_write表示可读可写 4. 数据库的...
  • 创建数据库时,我们可以使用Autogrowth和MAXSIZE参数来定义数据库文件(数据文件和日志文件)的初始大小。 如果用户偶然在创建数据库时忘记定义初始大小参数或有意这样做,则初始大小将与模型数据库相同。 At the ...
  • 3.设置簇大小、页大小、日志文件大小、字符集、字符串比较大小写敏感等 注:创建后将无法进行更改 4.设置系统管理员密码,默认与用户名SYSDBA相同 5.设置完成后,使用root用户执行以下脚本 6.注册数据库服务 二...
  • 达梦数据库初始化实例

    千次阅读 2021-01-31 14:14:52
    在达梦安装目录下的tool文件目录下有达梦自带的许多工具,其中dbca工具就是用来初始化创建库实例的可视化操作工具 除了创建和删除实例的功能,dbca还有注册数据库服务和删除已经注册的服务的功能,具体用法详情可以...
  • 修改数据库初始化参数

    千次阅读 2018-08-26 20:58:54
    修改数据库初始化参数 初始化参数文件 启动实例时,会读取初始化参数文件。参数文件有两种类型。 用参数来约束进程和内存 数据库启动,先启动实例,在找database,用实例操作数据库中的内容 服务器参数文件(spfile...
  • 对数据文件的操作(添加,删除,修改文件的初始大小,最大大小,步长)2. 数据库文件的收缩3. 数据库的只读/读写 read_only只读 read_write可读写 read_only表示只读 read_write表示可读可写4. 数据库的限制访问(单...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 186,495
精华内容 74,598
热门标签
关键字:

修改数据库文件初始大小