【数据库】Sql Server可视化工具SSMS条件和SQL窗格以及版本信息

2023年,第34周,第1篇文章。给自己一个目标,然后坚持总会有收货,不信你试试!
SQL SERVER 官方本身就有数据库可视化管理工具SSMS,所以大部分都会使用SSMS。以前版本是直接捆绑,
安装完成就自带有,最近版本可以不捆绑,需要单独下载安装对应版本。

目录

  • 一、可视化工具
    • 1.1、Azure Data Studio
    • 1.2、Visual Studio Code
    • 1.3、DBeaver
    • 1.4、SQL Server Data Tools (SSDT)
    • 1.5、dbForge Studio for SQL Server
    • 1.6、Navicat for SQL Server
  • 二、SSMS版本
    • 1.1、SQL Server 2008 SSMS
    • 1.2、SQL Server 2012 SSMS
    • 1.3、SQL Server 2014 SSMS
    • 1.4、SQL Server 2016 SSMS
    • 1.5、SQL Server 2017 SSMS
    • 1.6、SQL Server 2019 SSMS
  • 三、常见系统表
    • 1.1、sys.objects
    • 1.2、sys.columns
    • 1.3、sys.tables
    • 1.4、sys.views
    • 1.5、sys.procedures
    • 1.6、sys.triggers
    • 1.7、sys.indexes
    • 1.8、sys.schemas
    • 1.9、sys.databases
    • 1.10、sys.sysprocesses
  • 四、SQL查询系统表
    • 4.1、查询数据库所有表
    • 4.2、查询表字段和备注

在这里插入图片描述

一、可视化工具

除了 Microsoft SQL Server Management Studio (SSMS),还有许多其他可视化工具可用于管理和查询 SQL Server 数据库。
以下是一些常用的可视化工具:

1.1、Azure Data Studio

这是一个轻量级的跨平台数据库管理工具,可用于连接和管理多个数据库,包括 SQL Server、Azure SQL Database 等。

1.2、Visual Studio Code

虽然它是一个通用的代码编辑器,但通过安装适当的扩展,如 mssql 扩展,可以在 Visual Studio Code 中连接和查询 SQL Server 数据库。

1.3、DBeaver

这是一个功能丰富的开源数据库管理工具,支持多个数据库平台,包括 SQL Server。它提供了直观的用户界面和强大的查询功能。

1.4、SQL Server Data Tools (SSDT)

这是一个 Visual Studio 的插件,专门为 SQL Server 数据库开发提供支持。它提供了数据库项目、模型设计、数据比较和发布等功能。

1.5、dbForge Studio for SQL Server

这是一个功能强大的商业数据库管理工具,提供了广泛的功能,包括数据库设计、查询构建、数据导入导出等。

1.6、Navicat for SQL Server

这是另一个商业数据库管理工具,支持多个数据库平台,包括 SQL Server。它提供了直观的用户界面和丰富的功能集。

这些可视化工具具有不同的功能和用户界面,可以根据个人喜好和需求选择适合自己的工具。
无论您选择哪个工具,都可以方便地进行 SQL Server 数据库的管理和查询。

二、SSMS版本

Microsoft SQL Server Management Studio (SSMS) 是用于管理和操作 Microsoft SQL Server 数据库的集成环境。
它提供了一个图形用户界面,可以进行数据库的设计、查询、管理和调优等操作。

SSMS 的每个版本都会引入一些新的功能和改进,以下是一些常见版本之间的主要区别

1.1、SQL Server 2008 SSMS

发布于 2008 年,这是最早的 SSMS 版本之一。
SSMS 2008 带来了许多新功能和改进,包括:
1)IntelliSense
提供了代码自动完成和语法检查的功能,可以更快速地编写和调试 SQL 查询和脚本。
2)多文件查询编辑器
允许同时打开和编辑多个查询文件,方便进行多个查询之间的比较和调试。
3)依赖关系查看器
允许查看数据库对象之间的依赖关系,方便了解对象之间的依赖和影响。
4)活动监视器
提供了实时监控和分析数据库活动和性能的功能,包括查询的执行计划、锁和阻塞信息等。

1.2、SQL Server 2012 SSMS

发布于2012年3月7日,这个版本引入了一些新的功能,如本地执行计划预览、分组窗口函数语法高亮、
列选择器以及对一些新的 SQL Server 2012 特性的支持。

1.3、SQL Server 2014 SSMS

发布于2014年4月1日,此版本引入了更多的功能和改进,包括缓存扩展模式、多服务器查询等。

1.4、SQL Server 2016 SSMS

发布于2016年6月1日,这个版本增加了对 SQL Server 2016 的许多新功能的支持,如 Temporal 表、动态数据遮罩、行级安全等。

1.5、SQL Server 2017 SSMS

发布于2017年10月2日,此版本引入了一些新的功能,如绘图、自动关联、自动化自检等。

1.6、SQL Server 2019 SSMS

发布于2019年11月4日,这个版本增加了对 SQL Server 2019 的新功能的支持,如 Big Data Clusters、加密数据页、智能查询处理等。

需要注意的是,每个版本的 SSMS 都支持相应版本的 SQL Server 数据库,但通常较新版本的 SSMS 也能向下兼容较旧版本的数据库。
建议使用最新版本的 SSMS,以便获得更多的功能和性能改进。

请注意,以上只是一些主要版本之间的区别,并不详细。
小伙伴们可以查阅 Microsoft 官方文档或更详细的发布说明来了解每个版本的具体改进和新增功能。

三、常见系统表

在 SQL Server 中,系统表是用于存储数据库元数据和系统信息的特殊表。以下是一些常见的 SQL Server 系统表:

1.1、sys.objects

此表包含数据库中所有对象(如表、视图、存储过程、触发器等)的信息,包括其名称、类型、创建日期等。

1.2、sys.columns

该表存储数据库中所有表的列信息,包括列的名称、数据类型、长度等。

1.3、sys.tables

这个表包含数据库中所有的表的信息,包括表的名称、模式、类型、创建日期等。

1.4、sys.views

该表存储数据库中所有的视图信息,包括视图的名称、定义、创建日期等。

1.5、sys.procedures

此表包含数据库中所有存储过程的信息,例如存储过程的名称、定义、创建日期等。

1.6、sys.triggers

该表包含数据库中所有触发器的信息,包括触发器的名称、关联的表、事件类型等。

1.7、sys.indexes

此表存储数据库中所有索引的信息,包括索引的名称、所属表、列等。

1.8、sys.schemas

该表包含数据库中所有的模式信息,包括模式的名称、属主等。

1.9、sys.databases

此表存储所有数据库的信息,包括数据库的名称、创建日期、状态等。

1.10、sys.sysprocesses

该表提供有关当前 SQL Server 实例上运行的每个进程的信息,包括进程的 ID、状态、当前执行的 SQL 语句等。

以上是一些常见的 SQL Server 系统表,它们可以提供关于数据库结构、对象和元数据的重要信息,帮助进行数据库管理、查询和监视。
请注意,这只是一小部分系统表,并且可能因 SQL Server 版本和配置而有所差异。

四、SQL查询系统表

4.1、查询数据库所有表

要查询 SQL Server 数据库中的所有表,你可以使用以下 SQL 查询:

USE YourDatabaseName; -- 替换为你要查询的数据库名称
SELECT *
FROM sys.tables;

在上面的查询中,你需要将 “YourDatabaseName” 替换为你要查询的数据库的实际名称。
该查询将从 sys.tables 系统表中检索到关于数据库中所有表的信息,并返回该信息。

请注意,这个查询将返回包含所有表的结果集,包括系统表和用户表。
如果你只想返回用户表,可以在查询中添加一个附加的筛选条件,例如:

USE YourDatabaseName; -- 替换为你要查询的数据库名称
SELECT *
FROM sys.tables
WHERE is_ms_shipped = 0;

通过将 is_ms_shipped = 0 条件添加到查询中,可以排除系统表,并仅返回用户表。

另外,还可以使用 SSMS 图形用户界面来获取数据库中的所有表。在 SSMS 中,
展开数据库对象(在“对象资源管理器”窗格中可见),然后选择“表”文件夹,你就可以看到该数据库中的所有表。

4.2、查询表字段和备注

要查询 SQL Server 数据库表的字段和字段说明,你可以使用以下 SQL 查询:

USE 数据库名; -- 替换为你要查询的数据库名称
SELECT T.TABLE_NAME AS 表名,C.COLUMN_NAME AS 字段名,P.VALUE AS 字段说明
FROM INFORMATION_SCHEMA.TABLES AS T
INNER JOIN INFORMATION_SCHEMA.COLUMNS AS C ON T.TABLE_NAME = C.TABLE_NAME
LEFT JOIN (SELECT MAJOR_ID,MINOR_ID,NAME,VALUEFROM SYS.EXTENDED_PROPERTIES WHERE NAME = 'MS_Description'
) AS P ON P.MAJOR_ID = OBJECT_ID(T.TABLE_NAME) AND P.MINOR_ID = COLUMNPROPERTY(OBJECT_ID(T.TABLE_NAME), C.COLUMN_NAME, 'ColumnID')
WHERE T.TABLE_TYPE = 'BASE TABLE' and T.TABLE_NAME='你的表名' -- 只查询基本表
ORDER BY T.TABLE_NAME, C.ORDINAL_POSITION;

在这里插入图片描述

在查询中,将 “数据库名” 替换为你要查询的实际数据库名称。
该查询通过联接 INFORMATION_SCHEMA.TABLES 和 INFORMATION_SCHEMA.COLUMNS 系统视图来检索数据库中表字段的信息。
然后,使用子查询获取字段的说明信息。
查询结果包括表名、字段名和字段说明。
使用 WHERE 子句可以根据需要进行过滤,例如只查询基本表或特定的表。
查询结果按表名和字段顺序排序。
请注意,这个查询默认使用的是 MS_Description 扩展属性来存储字段说明。
如果你在数据库中使用了其他名称来存储说明信息,需要相应地修改 WHERE 子查询中的 NAME = ‘MS_Description’ 条件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/38382.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python多线程与线程池(python线程池ThreadPoolExecutor)concurrent.futures高级别异步执行封装

文章目录 Python多线程与线程池一、Python多线程1.1 线程简介1.2 Python中的多线程1.3 GIL限制 二、线程池2.1 Python中的线程池 三、代码分析四、参考资料 Python多线程与线程池 一、Python多线程 在进行复杂的计算或处理大量数据时,可以通过创建多个线程来同时执…

Sentinel规则持久化

首先 Sentinel 控制台通过 API 将规则推送至客户端并更新到内存中,接着注册的写数据源会将新的规则保存到本地的文件中。 示例代码: 1.编写处理类 //规则持久化 public class FilePersistence implements InitFunc {Value("spring.application:n…

云原生k8s---资源限制、探针

目录 一:资源限制 1、资源限制原因 2、Pod 和 容器 的资源请求和限制 3、CPU 资源单位 4、内存 资源单位 5、事例 (1)事例一 (2)事例二 二:重启策略 1、重启策略模式 2、事例 三:探针…

Win10提醒事项如何打开?电脑上如何添加日程提醒?

有不少上班族表示自己在日常办公时,经常会忘记一些重要的事情,例如领导安排给自己的任务、会议安排、项目截止日期等。为了避免自己忘记工作事项,很多人都想要在电脑上设置提醒事项或添加日程提醒。那么Win10提醒事项如何打开呢?P…

[Leetcode] [Tutorial] 多维动态规划(未完待续)

文章目录 62. 不同路径Solution 62. 不同路径 一个机器人位于一个 m ∗ * ∗ n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角。 问总共有多少条不同的路径? 示例…

【electron】electron项目创建的方式:

文章目录 【1】npm init quick-start/electron(推荐)【2】 克隆仓库,快速启动【3】 通过脚手架搭建项目【4】 手动创建项目 【Electron官网】https://www.electronjs.org/zh/docs/latest/api/app 【1】npm init quick-start/electron&#xf…

Excelize Go语言操作 Office Excel文档基础库

Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准。可以使用它来读取、写入由 Microsoft Excel™ 2007 及以上版本创建的电子表格文档。支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式&#xf…

微信小程序实现左滑删除

一、效果 二、代码 实现思路使用的是官方提供的 movable-area:注意点,需要设置其高度,否则会出现列表内容重叠的现象。由于movable-view需要向右移动,左滑的时候给删除控件展示的空间,故 movable-area 需要左移 left:…

sqlloader学习笔记

INFILE的用法 1)模糊导入多个数据的文件。 可以在文件名中使用通配符。 星号 (*) 表示复数字符,问号 (?) 表示单个字符。 INFILE emp*.dat INFILE m?emp.dat 2)如果不需要导入数据…

jQuery EasyUI datagrid 无记录时,增加“暂无数据“提示

我们只需要在onLoadSuccess中添加如下代码&#xff1a; if (data.total 0) {var body $(this).data().datagrid.dc.body2;body.find(table tbody).append(<tr><td width" body.width() " style"height: 35px; text-align: center;"><h…

上传excel文件

文件上传&#xff0c;其实就是用el-upload组件来实现上传&#xff0c;只是换了样式&#xff0c;和图片上传一样 <el-form-item label"选择文件"><el-input placeholder"请选择文件" v-model"form.file" disabled style"width: 45…

java 使用log4j显示到界面和文件 并格式化

1.下载log4j jar包https://dlcdn.apache.org/logging/log4j/2.20.0/apache-log4j-2.20.0-bin.zip 2. 我只要到核心包 &#xff0c;看需要 sources是源码包&#xff0c;可以看到说明。在IDEA里先加入class jar后&#xff0c;再双击这个class jar包或或右键选Navigate ,Add ,…

Revit SDK 介绍:PanelSchedule 配电盘明细表

前言 这个例子介绍 Revit 的配电盘明细表&#xff0c;PanelSchedule。Revit 的电器专业在国内用的并不是十分广泛&#xff0c;但从功能上来说还是比较完整的。 内容 这个例子里有三个命令&#xff1a; PanelScheduleExport - 导出配电盘明细表InstanceViewCreation - 创建配…

【0基础学爬虫】爬虫基础之网络请求库的使用

大数据时代&#xff0c;各行各业对数据采集的需求日益增多&#xff0c;网络爬虫的运用也更为广泛&#xff0c;越来越多的人开始学习网络爬虫这项技术&#xff0c;K哥爬虫此前已经推出不少爬虫进阶、逆向相关文章&#xff0c;为实现从易到难全方位覆盖&#xff0c;特设【0基础学…

【Visual Studio Code】--- Win11 C盘爆满 修改 Code 插件数据和缓存的保存路径

Win11 C盘爆满 修改 Code 插件数据和缓存的保存路径 一、概述二、修改 Code 插件数据和缓存的保存路径 一、概述 一个好的文章能够帮助开发者完成更便捷、更快速的开发。书山有路勤为径&#xff0c;学海无涯苦作舟。我是秋知叶i、期望每一个阅读了我的文章的开发者都能够有所成…

领航优配:EFT交易是什么意思?

EFT买卖是一种电子资金搬运买卖方法&#xff0c;EFT代表电子资金搬运&#xff0c;将现金从一个银行账户搬运到另一个银行账户。尽管这种买卖方法已经存在了几十年&#xff0c;但随着技能的开展&#xff0c;越来越多的人开始使用它。 从技能视点&#xff0c;EFT买卖是经过计算机…

【C语言】memset()函数

一.memset()函数简介 我们先来看一下cplusplus.com - The C Resources Network网站上memset()函数的基本信息&#xff1a; 1.函数功能 memset()函数的功能是:将一块内存空间的每个字节都设置为指定的值。 这个函数通常用于初始化一个内存空间&#xff0c;或者清空一个内存空间…

elementui form组件出现英文提示

今天让解决一个bug&#xff0c;是表单组件提示词会出现英文。 问题情景如下&#xff1a; 有时会出现中文&#xff0c;有时会出现英文。 解决方法&#xff1a; 经查看&#xff0c;代码采用的是elementui的form组件&#xff0c;在el-form-item中使用了required属性&#xff0c;同…

Fiddler

基础 Fiddler 相当于一个 “代理”,浏览器访问浏览器页面时&#xff0c;就会把HTTP请求先发给Fiddler&#xff0c;Fiddler 再把请求转发给浏览器的服务器&#xff0c;当浏览器服务器返回数据时&#xff0c;Fiddler拿到返回数据&#xff0c;再把数据交给浏览器。 主界面 删除…

Github上git lfs oid sha256文件无法下载的解决方案

问题&#xff1a;github上sha文件无法下载&文件超出限制 当我克隆Github上的一个库时&#xff0c;其中有一个包的内容格式如下&#xff1a; version https://git-lfs.github.com/spec/v1 oid sha256:一堆数字和字母 size 一堆数字 这堆东西类似百度网盘的下载链接和密码&a…