带您理解SQLSERVER是如何执行一个查询的

php中文网
发布: 2016-06-07 17:38:17
原创
999人浏览过

带您理解SQLSERVER是如何执行一个查询的 看这篇文章之前,阁下可以先看一下下面的文章 SQLSERVER独特的任务调度算法"SQLOS" SQL Server SQLOS 的任务调度[转] 翻译自: 不知道是哪篇文章抄哪篇文章的 ,不管他了,我也偷他们的文章,嘎嘎嘎嘎嘎。。。 我将会

带您理解SQLSERVER是如何执行一个查询的

看这篇文章之前,阁下可以先看一下下面的文章

SQLSERVER独特的任务调度算法"SQLOS"

SQL Server SQLOS 的任务调度[转]

 

蓝心千询
蓝心千询

蓝心千询是vivo推出的一个多功能AI智能助手

蓝心千询 34
查看详情 蓝心千询

翻译自:

不知道是哪篇文章抄哪篇文章的 ,不管他了,我也偷他们的文章,嘎嘎嘎嘎嘎。。。

我将会用尽本人的所有功力并且结合研究SQLSERVER以来的知识去翻译这篇文章

希望大家多多支持o(∩_∩)o,其实我也是站在巨人的肩膀上的,呵呵~

特别说明:为了节省篇幅,文中会对原文有删减,删减的部分都是一些不重要的部分

在这里感谢有道词典(我不是卖广告啊!!!) 

 

正式开始

连接方式和请求

如果你是一个开发者,并且你的程序使用SQLSERVER来做数据库的话

你会想知道当你用你的程序执行一个查询的时候实际发生了什么事情

我希望这篇文章能够帮你写出更好的数据库应用程序和帮你更深入了解遇到的数据库性能问题

 

SQLSERVER是一个C/S模型的平台。唯一和数据库交互的方式只有发送包含数据库命令的请求到数据库服务器端。

客户端和数据库通信的协议使用一种叫做TDS的协议(Tabular Data Sream)

园子里的文章:

表格数据流协议TDS

TDS协议解析(转载)

如果你用微软的Network Monitor工具来抓取SQL Server和客户端之间的网络包

你会看到使用的是TDS协议

在Description那一列

TDS:Response,Version=7.1......

TDS:SQLBatch,Version=7.1.......

那四个SSL连接是客户端登录SQLSERVER前做的加密连接(这里不管你有没有用SSL加密数据传输,SQLSERVER都会在登录前加密

用户发过来的用户名和密码,而登录了之后才使用您配置的SSL证书来加密客户端和SQLSERVER往来的数据)

SQLSERVER都会加密客户端发过来的用户名和密码(使用SQL验证不是使用Windows验证)

大家可以留意一下SQL ERRORLOG里在SQLSERVER启动的时候的日志

会看到一句:A self-generated certificate was sccessfully loaded for  encryption

默认情况下SQL Server会自动生成一个证书并使用这个证书来对客户端登录SQLSERVER的时候的连接做SSL加密

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号