一、四个系统数据库的介绍
  1、Master数据库
  Master数据库记录了Sqlserver所有的服务器级系统信息,所有的注册帐户和密码,以及所有的系统设置信息,还记录了所有用户定义数据库的存储位置和初始化信息。
  2、Tempdb数据库
  Tempdb记录了所有的临时表、临时数据和临时创建的存储过程。Tempdb数据库是一个全局资源,没有专门的权限限制,允许所有可以连上Sqlserver服务器的用户使用。
  在Tempdb数据库存放的所有数据信息都是临时的。每当连接断开时,所有的临时表和临时存储过程都将自动丢弃。每次系统启动时Sqlserver都会根据Model数据库重新创建Tempdb数据库。
  3、Model数据库
  Model数据库是用户建立新数据库的模板,它包含了将复制到每个用户数据库中去的系统表。每当创建数据库的语句create database执行时,服务器总是通过复制model数据库来建立新数据库的前面部分,新数据库的后面部分被初始化成空白的数据页,以供用户存放数据。
  4、Msdb数据库
  Msdb数据库主要被sqlserver agent用来进行复制、作业调度以及管理报警等活动。该数据库常被用来通过调度任务排除故障。
  5、说明:在具体应用中可以在企业管理器里将这四个系统数据库隐藏起来,可以避免用户误操作,也可以起到让用户知道操作系统数据库带来的后果。


二、三种备份和恢复
1、通过企业管理器的备份和还原数据库。
2、在查询分析器里执行sp_detach_db 'dbname',true分离数据库,将操作系统文件*.mdf(主数据文件)和*.ldf(日志文件)拷贝出来,当然你也可以通过停止sqlserver服务来拷贝操作系统文件。
  通过sp_attach_db(两个操作系统文件都完好)或sp_attach_single_file_db(主数据文件完好,日志文件破坏)来附加数据库(如果在附加中有问题,参考这里:http://blog.itpub.net/post/1626/11352)。
  也可以通过企业管理器来附加数据库。
3、查询分析器里执行backup database 'dbname' to disk='路径'来备份数据库,restore database 'dbname' from disk='路径'来还原数据库。(以上提到的sql语句里的符号如''等都应该是半角的。这里的操作实际上是上面1里对应的sql语句操作。)

三、两种数据导入导出方法
1、通过DTS来做
2、bcp实用工具来做
     例如(hostname表示机器名,user表示sqlserver登陆用户名,resu表示对应的用户登陆的密码):
     exec master..xp_cmdshell 'bcp dbname..table_name out d:\test.xls -c -Shostname -Uuser -Presu'

四、数据库维护计划和作业的应用(前提都是sqlserver agent服务要启动)
1、数据库维护计划
2、作业(见http://blog.itpub.net/post/1626/9281)
  
五、安全性介绍
1、两种登陆方式:
  标准登陆方式(sqlserver和windows),采用sqlserver提供的用户名和密码登陆连接,可用sp_denylogin 'builtin\administrators'拒绝操作系统管理员登陆连接(sp_grantlogin 'builtin\administrators'反转),也称非信任登陆机制;这种认证方式是两种方式中最安全的。
  集成登陆方式(仅windows),将windows的用户和工作组映射为sqlserver的登陆方式,也称信任机制。
2、一个特殊帐户:sa,为系统默认帐户,不能删除,拥有最高的管理权限,可以执行sqlserver服务器范围内的所有操作,所以一定要给sa加上密码,密码推荐不少于6位,最后是字母、数字和特殊符号的组合。
3、两个特殊数据库用户:
  dbo,数据库的拥有者,在安装sqlserver时,被设置到model数据库中,不能被删除,所以dbo在每个数据库中都存在。dbo是数据库的最高权力者,对应于创建该数据库的登陆用户,即所有的数据库的dbo都对应于sa帐户;
  guest,这个用户可以使任何已经登陆到sqlserver服务器的用户都可以访问数据库,即使它还没有成为本数据库的用户。所有的系统数据库除model以外都有guest用户。所有新建的数据库都没有这个用户,如果油必要添加guest用户,请用sp_grantdbaccess来明确建立这个用户。
4、还原数据库的时候之所以要删除本数据库的用户如user,然后在安全性→登陆里重新建这个用户和指定相应的访问权限,是因为这个用户在master里不存在。当然你也可以用sp_addlogin 'user','resu'来新建user用户,sp_change_users_login 'update_one','user','user'来指定在master中的对应。
5、具有system administrators服务器角色的成员拥有与sa一样的权限,具有db_owner数据库角色的用户具有对本数据库的完全操作权限。

六、sql脚本的生成
说明:可以选择生成某个具体数据库对象的脚本,也可以生成整个数据库对象的脚本。

七、事件探查器的应用
说明:追踪对后台数据库的每一个请求,以此可以定位前台页面的哪个属性对应后台表的哪个字段。

八、日志的截断
backup log dbname with no_log
dbcc shrinkdatabase('dbname')