SQL Server 2005 使用教程
第一部分:准备工作与安装
什么是 SQL Server 2005?
SQL Server 2005 是微软在 2005 年发布的关系型数据库管理系统,它引入了许多重要的新特性,

- 集成服务: 用于数据提取、转换和加载的强大工具。
- 分析服务: 用于在线分析处理和数据挖掘。
- 报表服务: 用于创建和分发报表。
- SQL Server Management Studio (SSMS): 一个集成的管理环境,取代了以前的 Enterprise Manager 和 Query Analyzer。
- T-SQL 增强: 引入了
TRY...CATCH错误处理、窗口函数(如ROW_NUMBER())等。
系统要求
在安装前,请确保你的计算机满足最低要求:
- 操作系统: Windows XP (SP2), Windows Server 2003 (SP1) 或更高版本。
- CPU: 最低 600 MHz,推荐 1 GHz 或更高。
- 内存: 最少 512 MB RAM,推荐 1 GB 或更高。
- 硬盘空间: 至少 2.2 GB 的可用空间。
- 软件: 需要 .NET Framework 2.0 和 Internet Information Services (IIS)(如果使用 Reporting Services)。
下载与安装
-
下载:
- 由于 SQL Server 2005 已停止官方下载,你需要从第三方可信赖的网站(如
archive.org)获取安装文件,通常会有一个名为SQLServer2005.iso的镜像文件。 - 使用虚拟光驱软件(如 DAEMON Tools)挂载该镜像文件。
- 由于 SQL Server 2005 已停止官方下载,你需要从第三方可信赖的网站(如
-
安装步骤:
- 打开挂载后的驱动器,运行
setup.exe。 - 进入安装向导后,点击“下一步”。
- 输入产品密钥: 如果你有密钥,请输入,对于学习目的,通常可以选择“评估版”或“开发版”进行安装。
- 安装组件: 在“安装组件”页面,选择你要安装的部分,对于初学者,强烈建议只安装以下核心组件:
- 服务器组件、工具、联机图书和示例: 这包括了数据库引擎、管理工具、文档和示例数据库。
- 可以取消勾选
客户端组件、联机丛书等非必要项,以节省时间和空间。
- 安装规则: 系统会检查你的配置是否符合要求,如果有红色叉号,需要先解决,常见的有防火墙、IIS、.NET Framework 等。
- 实例名: 实例是 SQL Server 的一个独立安装,默认实例名为
MSSQLSERVER,如果你在同一台机器上安装多个 SQL Server,需要命名实例,初学者使用默认实例即可。 - 服务账户: 指定运行 SQL Server 服务的账户,使用内置的
Network Service账户是安全且方便的选择。 - 身份验证模式:
- Windows 身份验证模式: 只能使用 Windows 用户账户登录,最安全。
- 混合模式: 既可以使用 Windows 身份验证,也可以使用 SQL Server 身份验证(用户名
sa和密码)。 - 强烈建议为
sa用户设置一个强密码,在生产环境中,推荐使用 Windows 身份验证。
- 排序规则: 定义数据的排序和比较规则,通常使用默认值即可。
- 错误报告: 选择是否向微软发送错误报告。
- 准备安装: 检查摘要信息,确认无误后点击“安装”。
- 完成安装: 等待所有组件安装完成,点击“下一步”完成向导。
- 打开挂载后的驱动器,运行
第二部分:核心工具 - SQL Server Management Studio (SSMS)
安装完成后,最重要的工具就是 SQL Server Management Studio (SSMS),它是一个图形化管理工具,用于管理数据库、编写和执行查询、管理服务器等。

-
启动 SSMS:
通过“开始”菜单 -> “所有程序” -> “Microsoft SQL Server 2005” -> “SQL Server Management Studio”。
-
连接到服务器:
- 首次打开时,会弹出“连接到服务器”对话框。
- 服务器类型: 选择
数据库引擎。 - 服务器名称: 如果是本地安装,默认是
localhost或(local)或你的计算机名。 - 身份验证: 如果你在安装时选择了“混合模式”,可以选择“SQL Server 身份验证”,然后输入用户名
sa和你设置的密码,如果选择“Windows 身份验证”,则使用你的 Windows 账户登录。 - 点击“连接”。
-
SSMS 界面简介:
- 对象资源管理器: 左侧的面板,以树状结构显示所有数据库、服务器对象、登录名等,这是管理数据库的主要入口。
- 查询编辑器: 中间的主要区域,用于编写和执行 T-SQL 语句。
- 属性窗口: 右侧面板,显示当前选中对象的详细属性。
- 模板浏览器: 可以使用预定义的 SQL 模板来快速生成代码。
第三部分:基本数据库操作
创建数据库
在 对象资源管理器 中,展开服务器节点,右键点击“数据库” -> “新建数据库”。
- 数据库名称: 输入一个有意义的名称,
MyTestDB。 - 数据文件和事务日志文件: 可以设置文件的初始大小、自动增长方式和路径,对于初学者,使用默认值即可。
- 点击“确定”,数据库创建成功。
创建表
在新建的数据库 MyTestDB 上右键,选择“新建查询”,这会在查询编辑器中打开一个新窗口,并自动连接到 MyTestDB。
使用 CREATE TABLE 语句创建一个学生表:
-- 创建一个名为 Students 的表
CREATE TABLE Students
(
-- 列定义
StudentID INT PRIMARY KEY, -- 学号,整数类型,主键
StudentName NVARCHAR(50) NOT NULL, -- 姓名,可变长度字符串,不能为空
Gender NCHAR(1), -- 性别,固定长度字符
BirthDate DATE, -- 出生日期
EnrollmentDate DATETIME -- 入学日期
);
- 执行: 按
F5或点击工具栏上的“执行”按钮。 - 验证: 在 对象资源管理器 中,展开
MyTestDB->表,你应该能看到新创建的Students表。
插入数据
使用 INSERT INTO 语句向表中添加数据。
-- 向 Students 表中插入一条数据 INSERT INTO Students (StudentID, StudentName, Gender, BirthDate, EnrollmentDate) VALUES (1, '张三', '男', '1998-05-10', '2025-09-01'); -- 插入第二条数据 INSERT INTO Students (StudentID, StudentName, Gender, BirthDate, EnrollmentDate) VALUES (2, '李四', '女', '1999-03-22', '2025-09-01'); -- 插入第三条数据 (注意日期格式) INSERT INTO Students (StudentID, StudentName, Gender, BirthDate, EnrollmentDate) VALUES (3, '王五', '男', '1997-11-30', '2025-09-01');
执行后,数据已存入表中。
查询数据
这是最常用的操作,使用 SELECT 语句。
-- 查询所有学生的所有信息 SELECT * FROM Students; -- 查询所有学生的姓名和学号 SELECT StudentName, StudentID FROM Students; -- 查询所有女学生的信息 SELECT * FROM Students WHERE Gender = '女'; -- 查询入学日期在 2025 年之后的学生姓名和入学日期 SELECT StudentName, EnrollmentDate FROM Students WHERE EnrollmentDate > '2025-01-01';
更新数据
使用 UPDATE 语句修改已有数据。
-- 将学号为 1 的学生的姓名改为 '张三丰' UPDATE Students SET StudentName = '张三丰' WHERE StudentID = 1;
注意: WHERE 子句至关重要!如果没有它,表中的所有记录都会被更新。
删除数据
使用 DELETE 语句删除数据。
-- 删除学号为 3 的学生记录 DELETE FROM Students WHERE StudentID = 3;
注意: WHERE 子句同样至关重要!DELETE FROM Students 会清空整个表。
第四部分:T-SQL 语言基础
T-SQL 是 SQL Server 的核心语言,是对标准 SQL 的扩展。
数据类型
SQL Server 2005 提供了多种数据类型:
- 数值类型:
INT(整数),DECIMAL(p,s)(精确小数),FLOAT(浮点数),BIT(0或1) - 字符串类型:
CHAR(n)(定长),VARCHAR(n)(变长),NVARCHAR(n)(支持Unicode, 如中文),TEXT(大文本) - 日期时间类型:
DATE,DATETIME,DATETIME2,SMALLDATETIME - 二进制类型:
BINARY,VARBINARY,IMAGE - 其他类型:
UNIQUEIDENTIFIER(全局唯一标识符),XML(XML数据)
运算符
- 算术运算符: , , , ,
- 比较运算符: ,
>,<,>=,<=,<>(不等于), (不等于),LIKE(模糊匹配),IN(在列表中),BETWEEN(在范围内) - 逻辑运算符:
AND,OR,NOT - 连接运算符: (用于连接字符串)
高级查询
-
排序: 使用
ORDER BY子句。-- 按出生日期升序排列学生 SELECT * FROM Students ORDER BY BirthDate ASC; -- ASC 是升序,默认值 -- 按学号降序排列 SELECT * FROM Students ORDER BY StudentID DESC; -- DESC 是降序
-
聚合函数: 对一组值进行计算,返回单个值。
COUNT(): 计数SUM(): 求和AVG(): 求平均值MAX(): 求最大值MIN(): 求最小值-- 计算学生总数 SELECT COUNT(*) AS TotalStudents FROM Students;
-- 计算所有学生的平均入学年份 (YEAR函数提取年份) SELECT AVG(YEAR(EnrollmentDate)) AS AvgEnrollmentYear FROM Students;
-
分组: 使用
GROUP BY子句,通常与聚合函数一起使用。-- 按性别分组,统计每个性别的学生人数 SELECT Gender, COUNT(*) AS Count FROM Students GROUP BY Gender;
-
多表查询 (JOIN): 当数据分布在多个相关表中时使用。 假设我们还有一个
Courses(课程表) 和Scores(成绩表)。-- 假设有以下表结构 -- Courses(CourseID, CourseName) -- Scores(StudentID, CourseID, Score) -- 查询所有学生的姓名和他们选修的课程名称 SELECT s.StudentName, c.CourseName FROM Students AS s INNER JOIN Scores AS sc ON s.StudentID = sc.StudentID INNER JOIN Courses AS c ON sc.CourseID = c.CourseID;
INNER JOIN: 返回两个表中匹配的记录。LEFT JOIN: 返回左表的所有记录,以及右表中匹配的记录。
第五部分:备份与恢复
数据备份是数据库管理中至关重要的一环。
备份数据库
- 在 对象资源管理器 中,右键点击要备份的数据库(如
MyTestDB)。 - 选择“任务” -> “备份”。
- 在“备份数据库”窗口中:
- 数据库: 确认是
MyTestDB。 - 备份类型: 选择“完整”。
- 目标: 默认是“磁盘”,你可以添加或删除备份文件路径,点击“添加”,选择一个保存
.bak备份文件的路径和文件名。
- 数据库: 确认是
- 点击“确定”开始备份。
恢复数据库
- 在 对象资源管理器 中,右键点击“数据库” -> “还原数据库”。
- 在“还原数据库”窗口中:
- 目标数据库: 输入要恢复的数据库名称,如果该数据库已存在,需要先删除或覆盖。
- 源设备: 选择“从设备”,然后点击“...”按钮。
- 在“选择备份设备”窗口中,点击“添加”,找到你之前创建的
.bak备份文件。 - 点击“确定”返回主窗口。
- 确保目标设备列表中显示了你的备份文件。
- 在左侧选择“选项”页。
- 重要: 在“恢复状态”中,选择“
WITH RECOVERY” (默认),这样恢复后数据库就可以直接使用,如果选择“WITH NORECOVERY”,数据库将处于“正在还原”状态,可以继续恢复其他备份文件。 - 点击“确定”开始恢复。
总结与后续学习
本教程涵盖了 SQL Server 2005 的基础使用,包括安装、核心工具、基本 CRUD 操作、T-SQL 基础以及备份恢复。
下一步可以学习的内容:
- 视图: 虚拟表,简化复杂查询。
- 存储过程: 在数据库中预编译的 SQL 代码块,用于封装业务逻辑。
- 触发器: 在特定事件(如
INSERT,UPDATE,DELETE)发生时自动执行的代码。 - 索引: 提高查询性能的数据结构。
- 事务: 确保一组操作要么全部成功,要么全部失败,保证数据一致性。
- SQL Server Integration Services (SSIS): 学习如何进行数据导入导出和ETL(提取、转换、加载)。
- SQL Server Reporting Services (SSRS): 学习如何创建和部署报表。
虽然 SQL Server 2005 已经比较老旧,但掌握它的基本原理和操作,对于学习更新的版本(如 SQL Server 2008, 2012, 2025, 2025, 2025)非常有帮助,因为核心概念和 T-SQL 语言是相通的。
