server
2008的系统共中将创建4个可见系统数据库:master、model、msdb、tempdb
master数据库
master数据库是sql
server中最重要的数据库,它是sql
server的核心数据库,如果该数据库被损坏,sql
server将无法正常工作,master数据库中包含所有的登录名或用户id所属的较角色、服务器中的数据库的名称及相关的信息、数据库的位置、sql
server如何初始化四个方面的重要信息。
model数据库
用户创建数据库时是以一套预定义的标准为模型。例如,若希望所有的数据库都有确定的初始大小,或者都有特定的信息集,那么可以吧这些信息放在model数据库中,以model数据库作为其他数据库的模板数据库。如果想要使用所有的数据库都有一个特定的表,可以把该表放在model数据库里。
model数据库是tempdb数据库的基础。对model数据库的任何改动都将反映在tempdb数据库中,所以,在决定对model数据库有所改变时,必须预先考虑好
msdb数据库
msdb数据库给sql
server代理提供必要的信息来运行作业,因而它是
sql
server中另一个十分重要的数据库。
tempdb数据库
tempdb数据库用作系统的临时存储空间,其主要作用是存储用户建立的临时表和临时存储过程,存储用户说明的全局变量值,为数据排序创建临时表,存储用户利用游标说明所筛选出来的数据。
是导入数据到现有表,则采用INSERT INTO 表 SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0HDR=YESDATABASE=c:\test.xls',sheet1$)的形式如果是导入数据并新增表,则采用SELECT * INTO 表 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0HDR=YESDATABASE=c:\test.xls',sheet1$)的形式。以上语句是将 EXCEL文件里 SHEET1工作表中所有的列都读进来,如果只想导部分列,可以INSERT INTO 表 (a1,a2,a3) SELECT a1,a2,a3 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0HDR=YESDATABASE=c:\test.xls',sheet1$)其实可以将 OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0HDR=YESDATABASE=c:\test.xls',sheet1$)当成一个表,例如我就写过这样一个句子:INSERT INTO eval_channel_employee(channel,employee_id)SELECT CASE a.渠道 WHEN 'DIY' THEN 1 WHEN 'RDC' THEN 0 WHEN 'KCM' THEN 2 ELSE 3 END,b.id FROMOPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0HDR=YESDATABASE=c:\temp\name.xls',sheet1$) AS a,pers_employee bWHERE a.员工编码 =b.code 简单的方法:SQL2005中直接可以实现导入功能 SQL2008不知道可不可以。 *** 作过程如下:第一步:登录到 SQL Server Management Studio,第二步:在 “对象资源管理器 ”中右键单击 “管理 ”,在d出列表中单击 “导入数据 ”第三步:在 “导入向导 ”对话框中单击 “下一步 ”,进入到 “选择数据源 ”对话框,在 “数据源 ”列表中选择 “Microsoft Excel ”,同时选择相应的 Excel 文档,完成后单击 “下一步 ”(一定要勾选该对话框中的 “首行包含列名称 ”,因此它是将 Excel文档中的列标题为数据库表中的列项标题)第四步:指定目标数据库服务,依次单击 “下一步 ”。。。。至到 “完成 ”第五步:重新打到 SQL Server Management Studio,进入到导入的数据库表,可以发现所导入的 Excel文档数据。 你试下下面的吧:打开SQL Server Configuration Manager,启用SQL Server Agent(实例名)。 启动模式更改为“自动”usemaster
go
alter
database
master
modify
file
(name
=
master,filename='J:\data\master.mdf')
go
alter
database
master
modify
file
(name
=
mastlog,filename='J:\data\mastlog.ldf')
go
alter
database
tempdb
modify
file
(name
=
tempdev,filename='J:\data\tempdb.mdf')
go
alter
database
tempdb
modify
file
(name
=
templog,filename='J:\data\templog.ldf')
go
alter
database
msdb
modify
file
(name
=
msdbData,filename='J:\data\MSDBData.mdf')
go
alter
database
msdb
modify
file
(name
=
MSDBlog,filename='J:\data\MSDBLog.ldf')
go
alter
database
model
modify
file
(name
=
modeldev,filename='J:\data\model.mdf')
go
alter
database
model
modify
file
(name
=
modellog,filename='J:\data\modellog.ldf')
go
msdb、model、tempdb都可以移到我定义的目录,数据库可以启动,起来以后到数据库属性-文件看到的路径就是修改后的路径。但是master的语句也执行成功了,执行结果如下:
文件
'master'
在系统目录中已修改。新路径将在数据库下次启动时使用。
文件
'mastlog'
在系统目录中已修改。新路径将在数据库下次启动时使用。
但是将master的2个文件移动到j:\data目录下,数据库启动失败,从日志看,还是找原来的启动路径。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)