当前位置:首页 » 编程语言 » sql数据和事务日志文件
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql数据和事务日志文件

发布时间: 2023-03-22 17:03:13

1. sql数据库中包含哪几种文件

sql数据库中包含主数据文件、事务日志文件、辅助数据文件三种文件。

1、主数据文件

该文件包含数据库的启动信息,并用于存储数据。每个数据库都有一个主要数据文件。

2、事务日志文件

这些文件包含用于恢复数据库的日志雹竖信息。每个数据库都必须至少有一个日志文件。

3、辅助数据文件

这些文件含有不能置于主要数据文件中的所有数据。如果主文件可以包含数据库中的所有数据,那么数据库就不需要次要数据文件。

(1)sql数据和事务日志文件扩展阅读

sql数据库特点

1、SQL数据库的数据体系结构基本正肆唯上是三级结构,但使用术语与传统关系模型术语不同。在SQL中,关系模式(模式)称为“基本表”(basetable);存储模式(内模式)称举培为“存储文件”(storedfile);子模式(外模式)称为“视图”(view);元组称为“行”(row);属性称为“列”(column)。

2、sql数据库是非过程化语言、统一的语言、是所有关系型数据库的公共语言。

3、SQL用户可以是应用程序,也可以是终端用户。SQL语句可嵌入在宿主语言的程序中使用,宿主语言有FORTRAN,COBOL,PASCAL,PL/I,C和Ada语言等。SQL用户也能作为独立的用户接口,供交互环境下的终端用户使用。

2. sql server有几个文件

Microsoft® SQL Server™ 2000
使用一组操作系统文件映射数据库。数据库中的所有数据和对象(如表、存储过程、触发器和视图)都存储在下列操作系统文件中:

主要
该文件包含数据库的启动信息,并用于存储数据。每个数据库都有一个主要数据文件。

次要
这些文件含有不能置于主要数据文件中的所有数据。如果主文件可以包含数据库中的所有数据,那么数据库就不需要次要数据文件。有些数据库可能足够大故需要多个次要数据文件,或使用位于不同磁盘驱动器上的辅助文件将数据扩展到多个磁盘。

事务日志
这些文件包含用于恢复数据库的日志信息。每个数据库都必须至少有一个日志文件。

例如,创建简单的数据库 sales
时,可以迹前只使用一个包含所有数据和对象的主文件和一个包含事务日志信息的日志文件。另一种情况是,创建更复杂的数据库 orders
时,可以使用一个主文件和五个辅助文件,数据库内的数据和对象扩展到所有的六个文件中,另外有四个日志文件包含事务日志信息。

文件组允许对文件进行分组,以便于管理和数据的分配/放置。例如,可以分别在三个硬盘驱动器上创建三个文件(Data1.ndf、Data2.ndf
和 Data3.ndf),并将这三个文件指派到文件组 fgroup1 中。然后,可以明确地在文件组 fgroup1
上创建一信州芹个表。对表中数据的查询将分散到三个磁盘上,因而性能得以提高。在
RAID(独立磁盘冗余阵列)条带集上创建单个文件也可以获得相同的性能改善。然而,文件和文件组使您得以在新磁盘上轻易地添加新文件。另外,如果数据库超过单个
Microsoft Windows NT® 文件的最大大小,则可以使用次要数据文件允许数据库继续增长。

文件和文件组的设计规则

文件和文件组的设计规则包括:

文件或文件组不能由一个以上的数据库使用。例如,文件 sales.mdf 和 sales.ndf 包含 sales
数据库中的数据和对象,任何其它数据库都不能使用这两个文件。

文件只能是一个文件组的成员。

数据和事务日志信息不能属于同一文件或文件组。

事务日志文件不能属于任何滑毕文件组。

3. SQL中主数据文件和事务日志文件可以位于同一个文件组吗日志文件可以成为文件组的成员吗

最多可以为每个数据库创建 256 个文件组。文件组只能包含数据文件。事务日志文件不能是文件组的一部分。参考资料: http://ke..com/view/701355.htm?fr=ala0

4. SQL Server日志文件总结及日志满的处理

交易日志(Transaction logs)是数据库结构中非常重要但又经常被忽略的部分 由于它并不像数据库中的schema那样活跃 因此很少有人关注交易日志 交易日志是针对数据库改变所做的记录 它可以记录针对数据库的任何操作 并将记录结果保存在独立的文件中 对于任何每一个交易过程 交易日志都有非常全面的记录 根据这些记录可以将数据文件恢复成交易前的状态 从交易动作开始 交易日志就处于记录状态 交易过程中对数据库的任何操作都在记录范围 直到用户点击提交或后退后才结束记录 每个数据库都拥有至少一个交易日志以及一个数据文件 出于性能上的考虑 SQL Server将用户的改动存入缓存中 这些改变会立即写入交易日志 但不会立即写入数据文件 交易日志会通过一个标记点来确定某个交易是否已将缓存中的数据写入数据文件 当SQL Server重启后 它会查看日志中最新的标记点 并将这个标记点后面的交易记录抹去 因为这些交易记录并没有真正的将缓存中的数据写入数据文件 这可以防止那些中断桐桐毕的交易修改数据文件 维护交易日志 因为很多人经常遗忘交易日志 因此它也会给系统带来一些问题 随着系统的不断运行 日志记录的内容会越来越多 日志文件的体积也会越来越大 最终导致可用磁盘空间不足 除非日常工作中经常对日志进行清理 否则日志文件最终会侵占分区内的全部可用空间 日志的默认配置为不限容量 如果以这种配置工作 它就会不断膨胀 最终也会占据全部可用空间 这两种情况都会导致数据库停止工作 对交易日志的日常备份工作可以有效的防止日志文件过分消耗磁盘空间 备份过程会将日志中不再需要的部分截除 截除的方法是首先把旧记录标记为非活动状态 然后将新日志覆盖到旧日志的位置上 这样就可以防止交易日志的体积不断局芹膨胀 如果无法对日志进行经常性的备份工作 最好将数据库设置为 简单恢复模式 在这种模式下 系统会强制交易日志在每次记录标记点时 自动进行截除操作 以新日志覆盖旧日志 截除过程发生在备份或将旧标记点标为非活动状态时 它使得旧的交易记录可以被覆盖 但这并不会减少交易日志实际占用的磁盘空间 就算不再使用日志 它依然会占据一定的空间 因此在维护时 还需要对交易日志进行压缩 压缩交易日志的方法是删除非活动记录 从而减少日志文件所占用的物理硬盘空间 通过使用DBCC SHRINKDATABASE语句可以压缩当前数据库的交易日志文件 DBCC SHRINKFILE语句用来压缩指定的交易日志文件 另外也可以在数据库中激活自动压缩操作 当压缩日志时 首先会将旧记录标记为非活动状态 然后将带有非活动标记的记录彻底删除 根据所使用的压缩方式的不同 你可能不会立即看到结果 在理想情况下 压缩工作应该选在系统不是非常繁忙的时段进行 否则有可能影响数据库性能 恢复数据库 交易记录备份可以用来将数据库恢复到某一指定状态 但交易记录备份本身不足以完成恢复数据库的任务 还需要备份的数据文件参与恢复工作 恢复数据库时 首先进行的轮斗是数据文件的恢复工作 在整个数据文件恢复完成前 不要将其设为完成状态 否则交易日志就不会被恢复 当数据文件恢复完成 系统会通过交易日志的备份将数据库恢复成用户希望的状态 如果在数据库最后一次备份后 存在多个日志文件的备份 备份程序会按照它们建立的时间依次将其恢复 另一种被称为log shipping的过程可以提供更强的数据库备份能力 当log shipping配置好后 它可以将数据库整个复制到另一台服务器上 在这种情况下 交易日志也会定期发送到备份服务器上供恢复数据使用 这使得服务器一直处于热备份状态 当数据发生改变时它也随之更新 另一个服务器被称作监视(monitor)服务器 可以用来监视按规定时间间隔发送的shipping信号 如果在规定时间内没有收到信号 监视服务器会将这一事件记录到事件日志 这种机制使得log shipping经常成为灾难恢复计划中使用的方案 性能优化 交易日志对数据库有重要作用 同时它对系统的整体性能也有一定影响 通过几个选项 我们可以对交易日志的性能进行优化 由于交易日志是一个连续的磁盘写入过程 在这当中不会发生读取动作 因此将日志文件放在一个独立的磁盘 对优化性能有一定作用 另一项优化措施与日志文件的体积有关 我们可以设置日志文件的体积不超过硬盘空间的百分之几 或者确定它的大小 如果将其设置的过大会浪费磁盘空间 而如果设置的过小则会强制记录文件不断尝试扩展 导致数据库性能下降 事务日志文件Transaction Log File是用来记录数据库更新情况的文件 扩展名为ldf 在 SQL Server 和 SQL Server 中 如果设置了自动增长功能 事务日志文件将会自动扩展 一般情况下 在能够容纳两次事务日志截断之间发生的最大数量的事务时 事务日志的大小是稳定的 事务日志截断由检查点或者事务日志备份触发 然而 在某些情况下 事务日志可能会变得非常大 以致用尽空间或变满 通常 在事务日志文件占尽可用磁盘空间且不能再扩展时 您将收到如下错误消息 Error: Severity: State: The log file for database % *ls is full 除了出现此错误消息之外 SQL Server 还可能因为缺少事务日志扩展空间而将数据库标记为 SUSPECT 有关如何从此情形中恢复的其他信息 请参见 SQL Server 联机帮助中的 磁盘空间不足 主题 另外 事务日志扩展可能导致下列情形 · 非常大的事务日志文件 · 事务可能会失败并可能开始回滚 · 事务可能会用很长时间才能完成 · 可能发生性能问题 · 可能发生阻塞现象 原因 事务日志扩展可能由于以下原因或情形而发生 · 未提交的事务· 非常大的事务· 操作 DBCC DBREINDEX 和 CREATE INDEX· 在从事务日志备份还原时· 客户端应用程序不处理所有结果· 查询在事务日志完成扩展之前超时 您收到假的 Log Full 错误消息· 未复制的事务 解决方法 日志文件满而造成SQL数据库无法写入文件时 可用两种方法 一种方法 清空日志 .打开查询分析器 输入命令DUMP TRANSACTION 数据库名 WITH NO_LOG 再打开企业管理器 右键你要压缩的数据库 所有任务 收缩数据库 收缩文件 选择日志文件 在收缩方式里选择收缩至XXM 这里会给出一个允许收缩到的最小M数 直接输入这个数 确定就可以了 另一种方法有一定的风险性 因为SQL SERVER的日志文件不是即时写入数据库主文件的 如处理不当 会造成数据的损失 : 删除LOG分离数据库 企业管理器->服务器->数据库->右键->分离数据库 删除LOG文件附加数据库 企业管理器->服务器->数据库->右键->附加数据库此法生成新的LOG 大小只有 多K 注意 建议使用第一种方法 如果以后 不想要它变大 SQL 下使用 在数据库上点右键 >属性 >选项 >故障恢复 模型 选择 简单模型 或用SQL语句 alter database 数据库名 set recovery simple另外 如上图中数据库属性有两个选项 与事务日志的增长有关 Truncate log on checkpoint(此选项用于SQL SQL 中即故障恢复模型选择为简单模型)当执行CHECKPOINT 命令时如果事务日志文件超过其大小的 % 则将其内容清除在开发数据库时时常将此选项设置为True Auto shrink定期对数据库进行检查当数据库文件或日志文件的未用空间超过其大小的 %时 系统将会自动缩减文件使其未用空间等于 % 当文件大小没有超过其建立时的初始大小时不会缩减文件缩减后的文件也必须大于或等于其初始大小对事务日志文件的缩减只有在对其作备份时或将Truncate log on checkpoint 选项设为True 时才能进行 注意 一般立成建立的数据库默认属性已设好 但碰到意外情况使数据库属性被更改 请用户清空日志后 检查数据库的以上属性 以防事务日志再次充满 lishixin/Article/program/SQLServer/201311/22123

5. 如何查看sql2008数据库的事务日志文件

在SQL Server 7.0和SQL Server2000中,可以用下面的命令查看: DBCC log ( {dbiddbname}, [, type={01234}] ) 参数: Dbid or dbname - 任一数据库的ID或名字 type - 输出结果的类型: 0 - 最少信息(operation, context, transaction id) 1 - 更多信息(plus flags, tags, row length) 2 - 非常详细的信息(plus object name, index name,page id, slot id) 3 - 每种操作的全部信息 4 - 每种操作的全部信息加上该事务的16进制信息 默认 type = 0 要查看MSATER数据库的事务日志可以用以下命令: DBCC log (master) 释放日志空间 1.清空日志 DUMP TRANSACTION 库名 WITH NO_LOG 2.截断事务日志: BACKUP LOG 数据库名 WITH NO_LOG 3.收缩数据库文件(如果不压缩,数据库的文件不会减小 企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件 --选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了 --选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了 也可以用SQL语句来完成 --收缩数据库 DBCC SHRINKDATABASE(客户资料) --收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfiles DBCC SHRINKFILE(1) 4.为了最大化的缩小日志文件(如果是sql 7.0,这步只能在查询分析器中进行) a.分离数据库: 企业管理器--服务器--数据库--右键--分离数据库 b.在我的电脑中删除LOG文件 c.附加数据库: 企业管理器--服务器--数据库--右键--附加数据库 此法将生成新的LOG,大小只有500多K 或用代码: 下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。 a.分离 E X E C sp_detach_db @dbname = 'pubs' b.删除日志文件 c.再附加 E X E C sp_attach_single_file_db @dbname = 'pubs', @physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf' 5.为了以后能自动收缩,做如下设置: 企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩" --SQL语句设置方式: E X E C sp_dboption '数据库名', 'autoshrink', 'TRUE' 6.如果想以后不让它日志增长得太大 企业管理器--服务器--右键数据库--属性--事务日志 --将文件增长限制为xM(x是你允许的最大数据文件大小) --SQL语句的设置方式: alter database 数据库名 modify file(name=逻辑文件名,maxsize=20) 特别注意: 请按步骤进行,未进行前面的步骤,请不要做后面的步骤 否则可能损坏数据库. 一般不建议做第4,6两步 第4步不安全,有可能损坏数据库或丢失数据 第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复. 另外提供一种更简单的方法,建议大家使用。 更简单的方法: 1。右建数据库属性窗口--故障还原模型--设为简单 2。右建数据库所有任务--收缩数据库 3。右建数据库属性窗口--故障还原模型--设为大容量日志记录

6. sql事务日志采用什么的方式

简介
SQL Server中的事务日志无疑是SQL Server中最重要的部分之一。因为SQL SERVER利用事务日志来确保持久性(Durability)和事务回滚(Rollback)。从而还部分确保了事务的ACID属性.在SQL Server崩溃时,DBA还可以通过事务日志将数据恢复到指定的时间点。当SQL Server运转良好时,多了解一些事务日志的原理和概念显得并不是那么重要。但是,一旦SQL SERVER发生崩溃时,了解事务日志的原理和概念对于快速做出正确的决策来恢复数据显得尤为重要.本系列文章将会从事务日志的概念,原理,SQL Server如何使用日志来确保持久性属性等方面来谈SQL Server的事务日志.

事务日志的物理组织构架
事务日志仅仅是记录与其对应数据库上的事务行为和对数据库修改的日志文件.在你新建数据库时,伴随着数据库文件,会有一个默认以ldf为扩展名的事务日志文件. 当然,一个数据库也可以配有多个日志文件,但是在逻辑上,他们可以看成一个.
在SQL Server对于日志文件的管理,是将逻辑上一个ldf文件划分成多个逻辑上的虚拟日志文件(virtual log files,简称VLFs).以便于管理。用个类比方法来看,日志文件(ldf)好比一趟火车,每一节车厢都是一个虚拟日志文件(VLFs):

7. sql数据库中包含哪几种文件

根据作用不同,分为以下三种:
1、主数据文件。
用来存储数据库的数据和数据库的启动信息。
每个数据库必须有且只有一个主数据文件,其扩展名为.mdf。
实际的主数据文件都有两种名称:操作系统文件名和逻辑文件名(在sql语句中会用到)
2、辅助数据文件
用来存储数据库的数据,可以扩展存储空间。
一个数据库可以有多个辅助数据文件。扩展名为.ndf
3、事务日志文件
用来存放数据库的事务日志。凡是对数据库进行的增、删、改等操作,都会记录在事务日志文件中。
每个数据库至少有一个事务日志文件。扩展名为.ldf

8. 关于SQL Server事务日志的问题汇总

用BACKUP LOG database WITH NO_LOG清除日志把数据库属性中的故障还原模型改为 简单 可以大大减慢日志增长的速度 如果把还原模型调到简单 这样就不支持时间点还原了 但是日志文件会很小 如果数据比较重要推荐还是把数据库的还原模型调为完全用BACKUP LOG database WITH NO_LOG命名后 会截断不活动日志 不减小物理日志文件的大小 但逻辑日志会减小 收缩数据库后会改银仿把不活动虚拟日志删除来释放空间 不会损坏数据 如果日志被截断并收缩数据库后 就不能直接用最近的一个全库备份做时间点还原 建议立即备份数据库 以防万一 sql server运行中 是否能删除主数据库事务日志文件步骤如下 ( ) 分离数据库企业管理器--数据库--右击你要删除日志的数据库--所有任务--分离数据库( ) 然后删除日志文件( ) 然后再附加数据库企业管理器--数据库--右击数据库--所有任务--附加数据库这时候只附加 mdf就可以了 压缩核纤SQL数据库及日志的详细方法SQL Server 基础教程 压缩数据库数据搏族库在使用一段时间后 时常会出现因数据删除而造成数据库中空闲空间太多的情况 这时就需要减少分配给数据库文件和事务日志文件的磁盘空间 以免浪费磁盘空间 当数据库中没有数据时 可以修改数据库文件属性直接改变其占用空间 但当数据库中有数据时 这样做会破坏数据库中的数据 因此需要使用压缩的方式来缩减数据库空间 可以在数据库属性选项中选择 Auto shrink 选项 让系统自动压缩数据库 也可以用人工的方法来压缩 人工压缩数据库有以下两种方式 用Enterprise Manager 压缩数据库在Enterprise Manager 中在所要压缩的数据库上单击右键 从快捷菜单中的 所有任务(All Tasks) 中选择 ShrinkDatabase(压缩数据库) 选项 就会出现如图 所示的对话框 可以在图 所示的对话框中选择数据库的压缩方式 也可以选择使用压缩计划或压缩单个文件单击图 中的 Files 按钮 会出现如图 所示的压缩数据库文件对话框 可以针对每个数据库文件进行不同的压缩设置 单击图 中的 Change 按钮 会出现如图 所示的压缩计划编辑对话框 可以指定压缩计划的执行方式 单击图 中的 Change 按钮 会出现如图 所示的循环工作计划编辑对话框 可以编辑计划执行的周期或时间点 设置完成后单击 OK 按钮就开始压缩数据库 在压缩结束后会显示一个压缩情况信息框 用Transact SQL 命令压缩数据库可以使用DBCC SHRINKDATABASE 和DBCC SHRINKFILE 命令来压缩数据库 其中DBCC SHRINKDATABASE 命令对数据库进行压缩 DBCC SHRINKFILE 命令对数据库中指定的文件进行压缩 ( ) DBCC SHRINKDATABASEDBCC SHRINKDATABASE 命令语法如下 DBCC SHRINKDATABASE (database_name [ target_percent][ {NOTRUNCATE | TRUNCATEONLY}] )各参数说明如下 ·target_percent 指定将数据库压缩后 未使用的空间占数据库大小的百分之几 如果指定的百分比过大 超过了压缩前未使用空间所占的比例 则数据库不会被压缩 并且压缩后的数据库不能比数据库初始设定的容量小 ·NOTRUECATE将数据库缩减后剩余的空间保留在数据库 中不返还给操作系统 如果不选择此选项 则剩余的空间返还给操作系统 ·TRUNCATEONLY将数据库缩减后剩余的空间返还给操作系统 使用此命令时SQLServer 将文件缩减到最后一个文件分配 区域但不移动任何数据文件 选择此项后 target_percent 选项就无效了 例 压缩数据库mytest 的未使用空间为数据库大小的 % dbcc shrinkdatabase (mytest )运行结果如下 DBCC execution pleted If DBCC printed errormessages contact your system administrator ( ) DBCC SHRINKFILEDBCC SHRINKFILE 命令压缩当前数据库中的文件 其语法如下 DBCC SHRINKFILE ( {file_name | file_id }{ [ target_size] |[ {EMPTYFILE | NOTRUNCATE | TRUNCATEONLY}] } )各参数说明如下 ·file_id指定要压缩的文件的鉴别号(Identification number 即ID) 文件的ID 号可以通过 FILE_ID()函数或如本章前面所讲述的Sp_helpdb 系统存储过程来得到 ·target_size指定文件压缩后的大小 以MB 为单位 如果不指定此选项 SQLServer 就会尽最大可能地缩减文件 ·EMPTYFILE指明此文件不再使用 将移动所有在此文件中的数据到同一文件组中的其它文件中去 执行带此参数的命令后 此文件就可以用ALTER DATABASE 命令来删除了 其余参数NOTRUNCATE 和TRUNCATEONLY 与DBCC SHRINKDATABASE命令中的含义相同 例 : 压缩数据库mydb 中的数据库文件mydb_data 的大小到 MB use mydb dbcc shrinkfile (mydb_data )企业管理器里面的方法 打开企业管理器 打开要处理的数据库 点击最上面菜单>工具>SQL查询分析器 打开SQL查询分析器 在输入窗口里面输入:Code:DUMP TRANSACTION [数据库名] WITHNO_LOGBACKUP LOG [数据库名] WITH NO_LOGDBCC SHRINKDATABASE([数据库名])点击绿色的小三角(或按F )执行查询 等状态栏提示处理完成即可!程序里面的方法 压缩数据库日志 清空日志exec( DUMP TRANSACTION [ +@dbname+ ] WITHNO_LOG ) 截断事务日志 exec( BACKUP LOG [ +@dbname+ ] WITH NO_LOG ) 收缩数据库文件(如果不压缩 数据库的文件不会减小exec( DBCC SHRINKDATABASE([ +@dbname+ ]) ) 减小日志的方法 一 用如下步做了 DUMPTRANSACTION库名WITHno_log dbcc shrinkfile(logfilename) 收缩数据库 设定自动收缩 二 分离数据库 删除日志文件 再附加 OK!右击数据库--所有任务--分离or 附加三 backup log库名WITHno_log dbcc shrinkfile(logfilename) 收缩数据库 设定自动收缩 lishixin/Article/program/SQLServer/201311/22149

9. sql server运行中,是否能删除主数据库事务日志文件

在SQL Server运行中,只能“清空”和“收缩”事务日志文件,不能删除它。

相关知识点延伸:
1、在当前的SQL Server中,事务日志文件在数据库运行中必需存在。如果是事务文件过大,想减少磁盘中用的话,可以清空事务日志,并收缩事务日志文件。
2、想删除数据库事务日志文件,只能先“分离”数据库,不过,在附加时如果数据库文件的事务日志文件缺失,将会在附加时重建。
3、相关操作:
a.清空日志
DUMP TRANSACTION 库名 WITH NO_LOG
b.截断事务日志:
BACKUP LOG 数据库名 WITH NO_LOG
c.收缩数据库文件(如果不收缩,数据库的文件不会减小
企业管理器->右键你要压缩的数据库->所有任务->收缩数据库->收缩文件

填入收缩数值,后确定。

10. SQL Server 数据库设计

SQL Server 系统数据库在安装软件时自动创建,用于协助系统共同完成对数据库的操作;也是数据库运行的基础;

1,master数据库

是SQL Server 2012的核心数据库,如果损坏则数据库软件无法运行,主要包含如下主要信息:

1)所有用户登陆名和用户ID所属角色

2)数据库存储路径

3)服务器中数据库的名称和相关信息

4)系统配置设置, SQL Server 初始化信息

2,model数据库

在创建数据库时,总是以一套预定义的标准为模板进行创建的。以model数据库为模板来创建其他数据库。且model数据库是tempdb数据库的基础。

3,tempdb数据库

它是一个临时数据库,用来存储用户建立的临时表和临时存储过程,存储用户定义的全局变量值。它存在于SQL Server会话期间,会话结束,则关闭tempdb数据库,且数据库丢失。

4,msdb数据库

用于代理计划警报和作业

SQL Server 数据库存储文件

数据库文件是由数据文件和事务日志文件组成。

1,数据库文件指数据库中用来存储数据库数据和数据库对象的文件,一个数据库只能由一个主数据库文件,扩展名为 .mdf

2, 次数据库文件包含除主数据库文件外的所有数据文件,一个数据库可以没有次数据库文件,也可以由多个,扩展名为 .ndf

3, 日志文件由一系列日志记录组成,它记录了存储数据库的更新情况等事务日志信息,用户对数据库进行的插入,删除,更新都会记录在日志文件中。数据库发生损坏时可根据日志文件分析出错原因,或者数据丢失时,使用事务日志恢复数据库。每个数据库至少要有一个日志文件。

SQL Server 数据库创建,使用T-SQL语言创建:

使用T-SQL语言删除数据库:

SQL Server 数据库迁移:

方法1:“分离/附加”数据库,即把数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到其它磁盘上作备份,然后把这两个文件再拷贝到任何需要这个数据库的系统之中。

分离数据库就是将某个数据库从SQL Server数据库列表中删除,使其不再被SQL Server管理和使用,但该数据库的文件(.MDF)和对应的日志文件(.LDF)完好无损。分离成功后,就可以把该数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到其它磁盘中作为备份保存。

分离之前,设置数据库为单个用户,并记住该数据库所在路径。

“任务”—“分离”

然后分离数据库页面选中“更新统计信息”复选框。若“消息”列中没有显示存在活动连接,则“状态”列显示为“就绪”;否则显示“未就绪”,此时必须勾选“删除连接”列的复选框。分离后资源管理器中数据库消失

将需要附加的数据库文件和日志文件拷贝到某个已经创建好的文件夹中。

右击数据库对象,并在快捷菜单中选择“附加”命令,打开“附加数据库”窗口。

添加—选择需要附件的数据库的.MDF文件。“附件为”数据库名称可修改。