2018年第1期 安徽电子信息职业技术学院学报 No.1 2018 第1 7卷(总第94期)JOURNALOF ANHUI VOCATIONAL COLLEGE OF ELECTRONICS&INFO ̄ATION TECHNOLOGY General No.94 Vo1.1 7
[文章编号】1671—802X(2018)01—0014—04
基于sQL server数据库分析及移动研究
涂华燕
(江苏旅游职业学院, 江苏扬州 225007)
摘要:SQL Server是在Windows ̄@系统平台上开发的功能完备的大型数据库管理系统,用于大规模
联机事务处理、数据仓库和电子商务应用的数据库和数据分析,能满足网站和企业级数据库存储与分析的需
要。文章对四个系统数据库进行详细分析,对各个数据库的移动方法进行了研究。
关键词:SQL;数据库;移动
中图分类号:TP399 文献标识码:A
Analysis and Mobile Research Based on SQL Server Database
Tu Huayan
(Jiangsu Tourism Vocational College,Yangzhou 225007,China)
Abstract:SQL Server is a fully functional large——scale database management software developed on the Windows
operating system platform for database and data analysis of large-scale online transaction processing,data
warehousing and e-commerce applications.It can meet the needs of database storage and analysis for website
and enterprise.In this paper,the four system databases are analyzed in detail,and the moving methods of each
database are studied.
Key words:SQL;database;mobile
一、研究背景
在使用SQL Server的过程中,通常会遇到下面
的三种情况:
1.如何将数据库从一个SQL Se ̄er服务器移到
另一个SQL Server服务器上
2.如果数据库文件所在的磁盘空间用完了怎么
办?
3.系统数据库在安装的时候默认保存在c盘的
文件夹中,通常情况下所占空间不是很大,但随着使
用的时间越长,使用频率越高,系统数据库所占存储
空间会越来越大。另外之前设置的数据库选项,以
及用户账户设置在重新安装计算机系统后都需要重 新设置。
针对以上使用中的问题,本文对SQL数据库进
行分析,讨论上述三种情况的解决方案,研究数据库
的移动方法。
二、SQL Se ̄er数据库分析
SQL Server作为目前广为使用的关系型数据库
管理系统,其中包含系统数据库和用户自定义数据
库。
1.系统数据库
系统数据库是有SQL Server系统创建和维护
的数据库。系统数据库中记录了SQL Server所有的
配置情况、任务情况和用户数据库情况等系统管理
★收稿Et期:2017—10—12 作者简介:涂华燕(1984一),女,江苏扬州人,讲师,研究方向:计算机应用技术。E—mail:19027251l@qq.corn.
圜困固囫 涂华燕——基于sQL serve擞据库分析及移动研究 第1期
的信息。 (1)master数据库
通常系统的信息都是存放在此数据库中,比如
用户注册的账户信息,在使用中对于SQL系统所做
的信息设置,还有用户自定义的数据库初始化的记
录信息、位置存储的信息。另外在作为系统的主数
据库,在一些情况下是需要备份的,比如用户账号、
权限、系统配置这些信息在执行设置、分配或改变的
时候,如果master这个主数据库出现问题,无法使
用的话,SQL Server系统也是没有办法使用的。
(2)tempdb数据库
此数据库只要是能够连上SQL Server服务器
的用户都能够使用它,没有特别的权限要求。它记
录了所有的临时表、临时数据和临时创建的存储过
程。可以把它看成一个中间寄存数据站,比如在查
询时的查询结果或者是排序的时候得到的排序表以
及临时创建的显示的表等,都是存储在此数据库中,
总之此数据库中存放的信息数据都是临时的。
在使用过程中如果SQL Server连接断开时,存
放在此数据库中的数据表以及存储过程会自动删除
掉。当系统每次重新启动的时候,?tempdb数据库都
会由SQL Server依据model数据库重新创建起来,
在每次被重建时,它会从model数据库继承大多数
的数据库选项。SQL Server的功能和性能的优化很
大程度上取决于此数据库的大小和配置,所以此数
据库是很重要的。
(3)model数据库
用户创建新数据库都是用到model数据库,它
起到一个新建数据库模板的作用,当用户新建数据
库时复制到其中的系统表就来自于它。当通过命令
执行数据库创建时,新数据库前面部分是通过复制
此数据库来实现的,而给用户存放数据的被初始化
的空白数据页是新数据库的后面的部分。
作为在系统上创建的所有数据库的模板,新数
据库的创建都是以复制model数据库为基础,如果
对于新创建的数据库有特别的权限要求或需要含有
某些对象,比如数据库的大小、排列顺序、恢复模式
等,那么可以把这些对象或者是特殊的权限存放在 这个数据库中,这些对于此数据库进行的修改都将
用于以后创建的所有新数据库。
(4)msdb数据库
Msdb数据库是代理服务数据库,当SQL Server
Agent进行任务调度、复制以及代理计划报警等活
动时,此数据库为其提供存储空间。在排除故障时经
常会用它调度任务进行排除,此数据库在SQL Sever
中起着提供队列以及传递可靠消息的作用。通常如
果此数据库不需要执行维护任务或者备份的时候,
一般可以不考虑它。
2.用户数据库
系统提供的示例数据库以及用户自定义创建的
数据库在SQL Server都属于用户数据库。在安装
时,如果选择默认安装,就不会安装示例数据库。可
以到微软官方网站下载示例数据库并安装。
用户自定义创建的数据库也就是用户根据实际
对象的管理需求自行创建的数据库。
三、数据库移动
问题一通常处理的方法是创建一个新数据库,
然后通过备份和还原移动数据库;问题二通常是在
另一个磁盘上增加一个辅助数据文件。显然这两种
办法都比较复杂,SQL Serve中分离和附加数据库
技术可以方便快捷的解决以上两种问题。
通过分离数据库的数据和事务日志文件,然后
将其重新附加到另一台服务器,甚至同一台服务器
上。但分离和附加数据库的技术只支持用户自定义
数据库,无法分离系统数据库,而通过移动系统数据
库可以解决问题三,下面分别介绍着两种数据库的
移动方法的实现。
1.用户数据库的移动
以用户自定义的数据库为例,通过存储过程
EXEC sp_attach_db实现将本地D:\data文件夹中的
教学管理数据库附加到当前的SQL系统中。代码如
下:
EXEC sp_attaeh_db@dbname=’教学管理系统,
 ̄ilename l=’D:\data\教学管理.mdf’,
CC ̄lename2=’D:\data\教学管理_log.1df’
通过存储过程sp_detach_db实现将当前SQL 2018.■| 百 .
220 圜 涂华燕——基于SQL Server数据库分析及移动研究 第1期
s n.er系统中的教学管理数据库分离 来,保存在
默认的磁盘文件夹巾。具体代码如下:
EXEC sp—detachdb’教学管理’
S ̄LQuery1.sql-(I…-PCXtuhuayan(s4))’ SELECT i: : ’v 一: j: 皇AS FR0M : 2.系统数据库的移动
通过以下代码查看SQL Server默认存储这些
系统数据库的路径
:urrentLocat10n,State desc
通过F5执行结果可以看flj四个系统数据库在c盘中。
-i结果 清患 n6me 1 master 2 mastlo9 3,ember 4 temptog 5 rnodeldev 6 mode,o ̄ 7 MSOBD6t6 8 MSDBLog 9 Report ̄rver 10 ReportServet 11 Report,Sewer 12 ReportServe ̄ 一¥og TernpDB Cu ̄entLocabon C ̄Program FfIe8、^一IcrOso九SQL,ServerU ̄ISSQL10 、DATA ̄naster mdf C' ̄Orogram FilesVV ̄crosoft SOL ServerUVlSSQL 10 MSSOLSERVE R、MSSQL、DATA s岫口Idl C ̄.Program Fdes ̄icrosoft SOL Sen,erlMSSQL 10 MSSQLSERVER SSQL、DAT tempdb mdf C'40rogrem Fdes\MJctosoft SQL SeP/er ̄SSQL10 MSSQLSERVERkMSSQL'49ATA\templog Idf C ̄rogram Files ̄Mlcrosoft SQL Server ̄MSSOL10 MSSQLSERVERkMSSQL',DATA ̄nodet删 C\Progrom FI 、M ro SQL SeP ̄edMSSQL10 MSSQLSERVER ̄'vlSSQL'49ATA'cnodellog Idf CtC ̄rogram Files ̄MicrosoftSQL SefverWSSQL10MSSQLSERVER\MSSQL\DATA ̄MSDBDatamdf C tProgram F怕9、M.cr0s砷SQL Se ̄efWLSSQL 10 MsSOLSERvER、MSSQL、oATAWSDBLog Idf C g ̄rogrem FIIes、MIcro∞n SQL Sei'ver ̄VlSSQL10 MSSQLSERVER\MSSQL\DATA\ReportServer mdf C ̄Orogram FlI。9、M·croso^SQL server MsSOL10 MSSQLSERVER\MSSQL'4)ATA ̄ReportServer—log LDF C\Program Fdes ̄MK:rosofl SQL Server'4VISSOL10 MSS。LSERvERWSsOL、oATA、ReponserverTernpDB mdf TempDBIog C\Program F mle ̄M;crosofl SQL ServerLMSSQL10 MsS0LSERvER、MSsQL叭TA、ReponserverT胛pDB—Iog slale de oNLINE oN LJNE oNUNE oNLJNE oNUNE oN LlNE oN LlNE oN LlNE oN LINE 0NUNE oN LlNE oNL E 3 教学誓理D、d8t^墩掌管理mdf ONLINE
:: : 襄黍囊营 蒜: 毳墓 妾嚣: ̄d“eMll‘o :襄蓑囊营黍 -文件· g 在瑟统目录[#
r群.'Da ̄aMSDBLog.。 文件‘ ‘在系统目录中f
的路径南之前的c盘改为D盘.
yI,F只正n_ IJl .2. J 动每个
如下:
结果如