SQL简介
   在进行数据管理时,使用SSMS进行数据维护有可视化、方便的优点,但是批量维护或重复维护时,如果每次都要使用SSMS不但不方便,而且一旦出错还需要从头开始操作,繁复且容易出错。所以,编写SQL语句来维护数据库便于解决重复或批量数据的操作。
   数据库目前标准的指令集就是SQL。
SQL和T-SQL
   T-SQL是标准 SQL 程式设计语言的增强版,它是用来让应用程式与 SQL Server 沟通的主要语言。T-SQL 提供标准 SQL的DDL 和 DML 功能,加上延伸的函数、系统预存程序以及程式设计结构(例如 IF 和 WHILE)让程式设计更有弹性。T-SQL 的功能随著新版的 SQL Server 而持续成长。
T-SQL的组成
   T-SQL语言主要有以下几部分组成。
   DML(数据操作语言):用来查询、插入、删除和修改数据库中的数据,如select、insert、update   及delete等。
   DCL(数据控制语言):用来控制数据库组件的存储许可、存储权限等,如grant、revoke等。
   DDL(数据定义语言):用来建立数据库、数据库对象和定义其列,大部分是以create开头的命令,如   create table、create view及drop table等
   除此之外, T-SQL还包含变量说明、内嵌函数以及其他的命令等。
系统预存程序
   系统预存程序是 SQL Server 提供来执行管理与其他工作,包括了系统资料表更新以及从系统资料表中检索资料等。系统预存程序是和 SQL Server 一起安装,名称以 sp_ (系统预存程序) 或 xp_ (延伸的预存程序)开头。这些预存程序储存在 master 资料库中,权限归系统管理者所有。不过,许多程序可以从使用者自订的资料库执行,用来在特定资料库中从系统资料表检索资讯。当您执行一个系统预存程序,它是在目前资料库的系统资料表中展开作业。
系统预存程序 描述
  sp_cycle_errorlog 关闭目前的错误日志档案,重新命名为errorlog.1(以及,如果需要的话,将旧的errorlog.1重新命名为errorlog.2,依此类推),以及开始一个新的错误日志档案。
  sp_helpfile 传回与目前资料库相关之档案的名称与属性。
  sp_helpfilegroup 传回与目前资料库相关之档案群组的名称与属性。
  sp_helprole 传回与目前资料库相关中角色的资讯。
  sp_help_alert 报告伺服器定义的警示资讯。
  sp_start_job 指示SQL Server代理程式开始执行一个工作。
  并不是只有这些预存程序提供立即的资讯,不过它们在使用您的使用者资料库时会相当有用。例如,当执行 T-SQL 指令码并将输出结果储存到一个档案时,提供使用者资讯的程序就会相当有帮助。您可以将 sp_helpfile、sp_helpfilegroup以及 sp_helpdb 的执行结果储存在特定的资料库中,毕竟当您需要重建资料库时有必要了解档案、档案群组、资料库选项在起初建立时的原始设定。
系统资料表
    系统资料表用来储存 SQL Server 中所有资料库的设定资讯,以及物件、使用者和使用者存取权限的定义。每个使用者资料库有各自的系统资料表,其中保存资料库的资讯。只有在 master 资料库的系统资料表才握有伺服器层级的设定资讯。您应该利用系统预存程序来存取系统资料表而不是直接存取系统资料表。关于新的 SQL Server 7.0 新增的系统资料表清单可在《线上丛书》里的「Transact-SQL新增与加强的功能」这个主题里找到。底下列出一些有趣的新系统资料表:
  backupfile这个资料表存放在 msdb 资料库中。它记录了所有记录档备份或资料库档案备份的相关资讯。这些资讯包括档案识别码、档案归属的档案群组,以及档案存在的实体磁碟或资料分割的名称。
  restorehistory这个资料表存放在 msdb 资料库中。它包含对应於各还原作业相关资讯的资料列,不论是档案的还原或是资料库的还原。这些资讯包括还原的日期与时间、目的资料库、资料回复的时间点以及还原的类型。
  sysfiles此资料表为一虚拟资料表,亦即无法直接更新或修改。它包含了每个资料库档案的相关资讯,诸如实体装置及逻辑的档案名称、档案大小及最大档案大小以及资料库增长大小(如果资料库有所增长的话)。