SQL Server指南:从入门到进阶实战


在这里插入图片描述
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
在这里插入图片描述

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

💖The Start💖点点关注,收藏不迷路💖


在这里插入图片描述

一、登录与身份验证

1. 登录方式
  • Windows身份验证:利用当前Windows用户的凭据进行登录,无需输入数据库用户名和密码。适用于同一域环境下的内部用户,简化了登录过程,且易于管理权限。

    sqlcmd -S <服务器名> -E
    
  • SQL Server身份验证:需要提供特定的数据库用户名和密码。适用于远程访问、非Windows用户或需要隔离权限管理的情况。

    sqlcmd -S <服务器名> -U <用户名> -P <密码>
    
2. 安全角色与权限管理
  • 服务器级别角色(如sysadmin、serveradmin等):负责管理整个SQL Server实例。
  • 数据库级别角色(如db_owner、db_datareader等):控制数据库内的权限分配。
  • 自定义角色:创建具有特定权限集合的角色,便于批量管理用户权限。
  • 对象级权限:针对特定表、视图、存储过程等授予或拒绝特定操作权限。

二、管理工具:SQL Server Management Studio (SSMS)

1. 用户界面
  • 对象资源管理器:浏览和管理服务器、数据库、表、视图、存储过程等对象。
  • 查询编辑器:编写、执行T-SQL语句及脚本,查看结果集。
  • 模板资源管理器:提供预定义的T-SQL脚本模板,加速开发。
  • 报表和图表:用于数据可视化和性能监视。
2. 常用功能
  • 连接管理:添加、编辑、删除服务器连接。
  • 备份与还原:定期备份数据库,以防数据丢失,并在需要时恢复。
  • 导入/导出数据:使用数据迁移助手(DMA)或SSIS包进行数据迁移。
  • 性能监视与优化:使用性能监视器、SQL Profiler、DMVs等工具分析查询性能。

三、创建数据库

1. 使用SSMS图形界面
  • 右键“数据库”节点,选择“新建数据库”。
  • 输入数据库名称,设置文件组、文件路径、初始大小、增长方式等参数。
  • 选择恢复模式(完整、简单、大容量日志)和兼容级别。
2. 使用T-SQL语句
CREATE DATABASE [DatabaseName]
ON 
(
    NAME = N'DatabaseName_Data',
    FILENAME = N'/path/to/datafile.mdf',
    SIZE = 5MB,
    MAXSIZE = UNLIMITED,
    FILEGROWTH = 10%
)
LOG ON 
(
    NAME = N'DatabaseName_Log',
    FILENAME = N'/path/to/logfile.ldf',
    SIZE = 2MB,
    MAXSIZE = 200MB,
    FILEGROWTH = 10%
)
GO

四、创建表

1. 使用SSMS图形界面
  • 右键目标数据库的“表”节点,选择“新建表”。
  • 在设计视图中添加列、定义数据类型、约束(如NOT NULL、PRIMARY KEY等)。
2. 使用T-SQL语句
CREATE TABLE [dbo].[Student] (
    [ID] INT NOT NULL PRIMARY KEY IDENTITY(1,1),
    [Name] NVARCHAR(50) NOT NULL,
    [Sex] CHAR(1) NOT NULL CHECK ([Sex] IN ('M', 'F')),
    [Age] INT NOT NULL
);

五、数据操作语言 (DML)

1. 插入数据
  • SSMS:在表设计视图中直接输入数据,或使用“编辑前200行”功能。
  • T-SQL
INSERT INTO [dbo].[Student] (Name, Sex, Age)
VALUES ('贾宝玉', 'M', 16);

-- 插入多条数据
INSERT INTO [dbo].[Student] (Name, Sex, Age)
VALUES ('林黛玉', 'F', 15),
       ('薛宝钗', 'F', 17);
2. 查询数据
  • SSMS:在查询编辑器中编写SELECT语句,运行后查看结果集。
  • T-SQL
SELECT * FROM [dbo].[Student];
3. 更新数据
UPDATE [dbo].[Student]
SET [Age] = 18
WHERE [ID] = 1;
4. 删除数据
DELETE FROM [dbo].[Student]
WHERE [ID] = 1;

六、数据定义语言 (DDL)

1. 修改表结构
  • 添加列:
ALTER TABLE [dbo].[Student]
ADD [Address] NVARCHAR(100) NULL;
  • 删除列:
ALTER TABLE [dbo].[Student]
DROP COLUMN [Address];
  • 修改列属性:
ALTER TABLE [dbo].[Student]
ALTER COLUMN [Age] INT NOT NULL;
2. 索引与约束
  • 创建索引:
CREATE INDEX IX_Student_Name ON [dbo].[Student]([Name]);
  • 添加外键约束:
ALTER TABLE [dbo].[Enrollment]
ADD CONSTRAINT FK_Enrollment_Student
FOREIGN KEY ([StudentID])
REFERENCES [dbo].[Student]([ID])
ON DELETE CASCADE;

七、事务处理与备份恢复

1. 事务
  • 开始事务:
BEGIN TRANSACTION;
  • 提交事务:
COMMIT TRANSACTION;
  • 回滚事务:
ROLLBACK TRANSACTION;
2. 备份数据库
  • 使用SSMS的备份任务向导。
  • 使用T-SQL:
BACKUP DATABASE [DatabaseName]
TO DISK = '/path/to/backup.bak'
WITH FORMAT,
    COMPRESSION,
    STATS = 10;
3. 恢复数据库
  • 使用SSMS的还原任务向导。
  • 使用T-SQL:
RESTORE DATABASE [DatabaseName]
FROM DISK = '/path/to/backup.bak'
WITH REPLACE,
    RECOVERY,
    STATS = 10;

八、高级主题

1. 视图、存储过程、函数、触发器
  • 视图:虚拟表,基于查询结果定义,简化复杂查询或保护敏感数据。
  • 存储过程:封装一组T-SQL语句,提高代码重用和安全性。
  • 函数:返回单一值或表形式结果的可重用代码块。
  • 触发器:响应特定数据库事件(如INSERT、UPDATE、DELETE)自动执行的T-SQL代码。
2. 性能调优
  • 查询优化:使用执行计划、索引调整、查询重写等手段。
  • 数据库引擎 tuning advisor:分析工作负载并提出优化建议。
  • 监控性能指标:使用DMVs、性能计数器、SQL Profiler等工具。
3. 高可用性与灾难恢复
  • Always On Availability Groups:实现数据库级别的高可用性和读扩展。
  • 数据库镜像:提供故障转移和数据保护。
  • 日志传送:通过复制事务日志备份实现异地容灾。
  • 备份策略:定期备份、差异备份、事务日志备份,配合恢复模型实现不同恢复点目标(RPO)。

以上是一个简要的SQL Server详细使用教程,涵盖从基础登录、管理工具使用到高级特性的操作。实际应用中,还需根据业务需求进一步学习和实践相关技术。同时,建议参考官方文档和专业书籍以获取最准确、最新的信息。


❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏、分享下吧,非常感谢!👍 👍 👍

🔥🔥🔥道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

💖The End💖点点关注,收藏不迷路💖
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

stormsha

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值