MSSQL 命令行操作说明 sql server 2022 命令行下进行配置管理
说明:本文的内容是因为我在导入Access2019的 *.accdb 格式的数据时,总是出错的背景下,不得已搜索和整理了一下,如何用命令行进行sql server 数据库和用户管理的方法,作为从Access2019 直接导出数据到sql server 数据库,再进行进一步操作的基础。
一、sql server 2022的安装
参考官网给出的方法即可,这里将命令搬过来,运行环境为 Debian12.5,root用户权限
curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpgcurl -fsSL https://packages.microsoft.com/config/ubuntu/22.04/mssql-server-2022.list | tee /etc/apt/sources.list.d/mssql-server-2022.listapt-get update
sudo apt-get install -y mssql-server## 配置
/opt/mssql/bin/mssql-conf setup
注意:选择版本的时候用3 即可
二、命令行工具的安装
这里介绍的是 Win11 安装的方法
2.1 以管理员运行 cmd命令行
PS C:\Users\UserA> winget install sqlcmd
如果安装不成功,会提示下载地址不可用,把地址复制下来,独立下载,再双击安装即可
2.2 安装odbc驱动
直接用 Bing 搜索 ODBC Driver for SQL Server

同样是 *.msi 文件,双击安装即可
2.3 sqlcmd 环境变量的设置
安装完成后,在命令行无法直接运行,需要对 sqlcmd.exe 进行环境变量的配置。 相关教程很多。直接搜索 Win11 环境变量配置,有很多教程。
地址: C:\Program Files\SqlCmd\sqlcmd.exe
三、用sqlcmd命令进入sql server 2022 并查看基本信息
3.1 命令行登录数据库服务器
PS C:\Users\UserA> sqlcmd -S 192.168.1.80 -U SA
3.2 查看当前的服务器上有那些数据库
1> SELECT Name from sys.databases;
2> go

四、新建数据库和表,向表中输入内容
4.1 新建数据库
1> CREATE DATABASE 个人信息库;
2> go
4.2 向数据库添加表
1> use 个人信息库;
2> CREATE TABLE 基本信息表 ( 编号 INT PRIMARY KEY, 姓名 VARCHAR(50) NOT NULL, 年龄 INT );
3> go
Changed database context to '个人信息库'.
4.3 向数据库中的表内添加数据
1> INSERT INTO 基本信息表 (编号, 姓名, 年龄)
2> VALUES (1, '张三', 25)
3> go
(1 row affected)
1> INSERT INTO 基本信息表 (编号, 姓名, 年龄)
2> VALUES (2, '李四', 30)
3> go
(1 row affected)
五、查看某一数据库内包含哪些表,表的表头是什么
5.1 查看一个数据库中的表
1> use 个人信息库
2> go
Changed database context to '个人信息库'.
1> SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE';
2> go
TABLE_NAME
--------------------------------------------------------------------------------------------------------------------------------
基本信息表(1 row affected)
1>
5.2 查看表的字段有哪些,以及具体位置的数值,修改特定位置的数值
## 查看 基本信息表 有哪些字段
1> SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '基本信息表';
2> go
COLUMN_NAME
--------------------------------------------------------------------------------------------------------------------------------
编号
姓名
年龄(3 rows affected)## 知道了有哪些字段,查看 姓名 这一列的所有数值
1>USE 个人信息库;
2>SELECT 姓名 FROM 基本信息表;
3>GO## 知道了具体的 姓名 例如 李四,查看 李四 这一行的全部信息
1>USE 个人信息库;
2>SELECT * FROM 基本信息表 WHERE 姓名 = '李四';
3>GO## 查看 李四 的 年龄 字段的 数据
1>USE 个人信息库;
2>SELECT 年龄 FROM 基本信息表 WHERE 姓名 = '李四';
3>GO## 修改 李四 的 年龄 字段的 数据
USE database_name;
UPDATE 基本信息表 SET 年龄 = 27 WHERE 姓名 = '李四';## 注意:因为姓名的数据是 字符串,所以用 '' ,如果要查的字段是数字,则不需要!!!
注意:没有为数据库设置文字编码,可能会无法显示中文字段名称,需要进行配置
5.3 查看数据库的默认字符编码
1> SELECT SERVERPROPERTY('Collation');
2> go## 显示的最后一行
SQL_Latin1_General_CP1_CI_AS
5.4 设置一个数据库的文字编码
1>ALTER DATABASE 个人信息库 COLLATE Chinese_PRC_CI_AS
2>go
5.5 再次查看“基本信息表”中的字段

六、新建用户和删除用户
sql server中的用户有两种:1. 登录用户(Login user);2.一般用户(user)
6.0 查看当前系统上的用户名
1>USE master;
2>SELECT name FROM sys.sql_logins;
3>GO
6.1 创建登录用户
1>CREATE LOGIN AdminUserB WITH PASSWORD = 'Passw0rd!';
2>GO
6.2 更改密码
1>ALTER LOGIN AdminUserB WITH PASSWORD = 'new_password';
2>GO
注意:一般新建立的登录用户,没有权限对数据库进行操作,而是需要为其配置一般用户,并赋予一个数据库相关的权限后,才能进行数据库操作。也就是说,登录用户是管理 sql server 本身的, 一般用户,是对应着数据库的。
6.3 为登录用户创建一般用户
1>CREATE USER UserB FOR LOGIN AdminUserB;
2>GO
注意:当前是以sa用户登录的,且没有进入任何的具体数据库,所以生成的用户 UserB 是针对当前环境的;如果要为AdminUserB 配置可以管理 个人信息库 这个数据库的用户,需要先 “user 个人信息库” 进入数据库,再创建一般用户。
6.4 更改一般用户的密码
1>ALTER USER UserB WITH PASSWORD = 'New Password'
2>GO
6.5 查看一般用户有哪些
1>SELECT * FROM sys.database_principals WHERE Type = 'S'
2>GO
6.6 用户的删除
1>DROP LOGIN AdminUserB
2>DROP USER UserB
3>GO
七、用户权限的配置
7.0 基本权限介绍
sql server 通过一些内置的角色,来给用户配置权限。 对于Login,也就是登录用户,可以拥有一些服务器级别的权限角色,比如:“sysadmin“, “securityadmin“, “dbcreator“, “processadmin”。 可以授予用户访问数据库对象(如表、视图、存储过程和函数)的权限,也就是向用户授予数据库级的角色,例如“db_owner”、“db_datareader”、“db_datawriter”、“db_ddladmin”。
7.1 登录用户的权限(需要进入 master 数据库,然后进行配置)
SysAdmin:此角色对 MSSQL 实例具有完全管理访问权限,可以在服务器上执行任何操作。
DbCreator:此角色可以创建、更改和删除数据库。
SecurityAdmin:此角色允许用户管理登录名、用户和角色。
BackupOperator:此角色允许用户备份和还原数据库。
BulkAdmin:此角色允许用户执行批量导入和导出操作。
DDLAdmin:此角色允许用户创建、更改和删除数据库对象,例如表、视图和存储过程。
7.2 一般用户的常用权限
DbOwner:此角色对特定数据库具有完全管理访问权限,可以对该数据库执行任何操作。
DataReader:此角色允许用户从数据库中的所有用户表中读取所有数据。
DataWriter:此角色允许用户在数据库的所有用户表中插入、更新和删除数据。
注意: 上述角色权限的配置要使用 sp_addrolemember 命令来完成!!
7.3 登录用户的角色权限配置示例
## 1.配置数据库的创建角色
1>USE master
2>GO
1>EXEC sp_addsrvrolemember 'dbcreator', 'AdminUserB';
2>GO## 2.配置服务器管理员角色
1>USE master
2>GO
1>EXEC sp_addsrvrolemember 'sysadmin', 'AdminUserB';
2>GO
7.4 一般用户的角色权限配置示例
## 配置针对特定数据库的数据写入角色权限
1>USE 个人信息库
2>GO
1>EXEC sp_addrolemember 'db_datawriter', 'UserB'
2>GO## 配置针对特定数据库的读取角色权限
1>USE 个人信息库
2>GO
1>EXEC sp_addrolemember 'db_datareader', 'UserB'
2>GO
7.5 查看某一用户的角色权限
1> EXEC sp_helpuser 'UserB';
2> GO
八、用户角色权限的取消
8.1 删除login 用户的角色权限
ALTER SERVER ROLE [role] DROP MEMBER [login];1>ALTER SERVER ROLE sysadmin DROP MEMBER AdminUserB;
2>GO
8.2 删除一般用户的角色权限
REVOKE db_datawriter FROM UserB;
GO
相关文章:
MSSQL 命令行操作说明 sql server 2022 命令行下进行配置管理
说明:本文的内容是因为我在导入Access2019的 *.accdb 格式的数据时,总是出错的背景下,不得已搜索和整理了一下,如何用命令行进行sql server 数据库和用户管理的方法,作为从Access2019 直接导出数据到sql server 数据库…...
【系统分析师】系统安全分析与设计
文章目录 1、安全基础技术1.1 密码相关1.1.1对称加密1.1.2非对称加密1.1.3信息摘要1.1.4数字签名1.1.5数字信封 1.2 PKI公钥体系 2、信息系统安全2.1 保障层次2.2 网络安全2.2.1WIFI2.2.2 网络威胁与攻击2.2.3 安全保护等级 2.3计算机病毒与木马2.4安全防范体系 1、安全基础技术…...
ActiveMQ 07 集群配置
Active MQ 07 集群配置 官方文档 http://activemq.apache.org/clustering 主备集群 http://activemq.apache.org/masterslave.html Master Slave TypeRequirementsProsConsShared File System Master SlaveA shared file system such as a SANRun as many slaves as requ…...
Redis(哨兵模式)
什么是哨兵机制 问题: redis 主从复制模式下, 一旦主节点由于故障不能提供服务, 需要人工进行主从切换, 同时大量客户端需要被通知切换到新的主节点上, 对于有一定规模的应用来说, 对于人力的资源消耗会很大.解决: 通过哨兵对主从结构进行监控, 一旦出现主节点挂了的情况, 自动…...
一种基于镜像指示位办法的RingBuffer实现,解决Mirror和2的幂个数限制
简介 在嵌入式开发中,经常有需要用到RingBuffer的概念,在RingBuffer中经常遇到一个Buffer满和Buffer空的判断的问题,一般的做法是留一个单位的buffer不用,这样做最省事,但是当RingBuffer单位是一个结构体时࿰…...
【Java开发指南 | 第十一篇】Java运算符
读者可订阅专栏:Java开发指南 |【CSDN秋说】 文章目录 算术运算符关系运算符位运算符逻辑运算符赋值运算符条件运算符(?:)instanceof 运算符Java运算符优先级 Java运算符包括:算术运算符、关系运算符、位运算符、逻辑运算符、赋值…...
【IC前端虚拟项目】验证环境方案思路和文档组织
【IC前端虚拟项目】数据搬运指令处理模块前端实现虚拟项目说明-CSDN博客 对于mvu的验证环境,从功能角度就可以分析出需要搭建哪些部分,再看一下mvu的周围环境哈: 很明显验证环境必然要包括几个部分: 1.模拟idu发送指令; 2.模拟ram/ddr读写数据; 3.rm模拟mvu的行为; …...
程序设计|C语言教学——C语言基础1:C语言的引入和入门
一、程序的执行 1.定义 解释:借助一个程序,那个程序能够试图理解你的程序,然后按照你的要求执行。下次执行的时候还需要从零开始解释。 编译:借助一个程序,能够像翻译官一样,把你的程序翻译成机器语言&a…...
初学python记录:力扣928. 尽量减少恶意软件的传播 II
题目: 给定一个由 n 个节点组成的网络,用 n x n 个邻接矩阵 graph 表示。在节点网络中,只有当 graph[i][j] 1 时,节点 i 能够直接连接到另一个节点 j。 一些节点 initial 最初被恶意软件感染。只要两个节点直接连接,…...
LlamaIndex 组件 - Storing
文章目录 一、储存概览1、概念2、使用模式3、模块 二、Vector Stores1、简单向量存储2、矢量存储选项和功能支持3、Example Notebooks 三、文件存储1、简单文档存储2、MongoDB 文档存储3、Redis 文档存储4、Firestore 文档存储 四、索引存储1、简单索引存储2、MongoDB 索引存储…...
在Linux系统中设定延迟任务
一、在系统中设定延迟任务要求如下: 要求: 在系统中建立easylee用户,设定其密码为easylee 延迟任务由root用户建立 要求在5小时后备份系统中的用户信息文件到/backup中 确保延迟任务是使用非交互模式建立 确保系统中只有root用户和easylee用户…...
JVM之方法区的详细解析
方法区 方法区:是各个线程共享的内存区域,用于存储已被虚拟机加载的类信息、常量、即时编译器编译后的代码等数据,虽然 Java 虚拟机规范把方法区描述为堆的一个逻辑部分,但是也叫 Non-Heap(非堆) 设置方法…...
Go 使用ObjectID
ObjectID介绍 MongoDB中的ObjectId是一种特殊的12字节 BSON 类型数据,用于为主文档提供唯一的标识符,默认情况下作为 _id 字段的默认值出现在每一个MongoDB集合中的文档中。以下是ObjectId的具体组成: 1. 时间戳(Timestamp&…...
基于SpringBoot+Vue的疾病防控系统设计与实现(源码+文档+包运行)
一.系统概述 在如今社会上,关于信息上面的处理,没有任何一个企业或者个人会忽视,如何让信息急速传递,并且归档储存查询,采用之前的纸张记录模式已经不符合当前使用要求了。所以,对疾病防控信息管理的提升&a…...
2024年阿里云4核8G配置云服务器价格低性能高!
阿里云4核8G服务器租用优惠价格700元1年,配置为ECS通用算力型u1实例(ecs.u1-c1m2.xlarge)4核8G配置、1M到3M带宽可选、ESSD Entry系统盘20G到40G可选,CPU采用Intel(R) Xeon(R) Platinum处理器,阿里云优惠 aliyunfuwuqi…...
关于ContentProvider这一遍就够了
ContentProvider是什么? ContentProvider是Android四大组件之一,主要用于不同应用程序之间或者同一个应用程序的不同部分之间共享数据。它是Android系统中用于存储和检索数据的抽象层,允许不同的应用程序通过统一的接口访问数据,…...
《1w实盘and大盘基金预测 day23》
这几天预测错麻了,哈哈哈,完全和技术没关系,全是消息面。 昨日预测: 2958-2984-3010 证券继续下跌,昨天诱多把我诱惑进去了(看2-3天的反弹也没了),今天直接出掉昨天买的。 整体操作…...
向量数据库与图数据库:理解它们的区别
作者:Elastic Platform Team 大数据管理不仅仅是尽可能存储更多的数据。它关乎能够识别有意义的见解、发现隐藏的模式,并做出明智的决策。这种对高级分析的追求一直是数据建模和存储解决方案创新的驱动力,远远超出了传统关系数据库。 这些创…...
WIN7用上最新版Chrome
1.下载WIN10最新版Chrome的离线安装包 谷歌浏览器 Chrome 最新版离线安装包下载地址 v123.0.6312.123 - 每日自动更新 | 异次元软件 文件名称:123.0.6312.123_chrome_installer.exe。 123.0.6312.123_chrome_installer.exe 文件右键解压缩得到 chrome.7z&#x…...
node.jd版本降级/升级
第一步.先清空本地安装的node.js版本 按健winR弹出窗口,键盘输入cmd,然后敲回车(或者鼠标直接点击电脑桌面最左下角的win窗口图标弹出,输入cmd再点击回车键) 进入命令控制行窗口,输入where node,查看本地…...
深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...
Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...
并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...
Git常用命令完全指南:从入门到精通
Git常用命令完全指南:从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...
基于江科大stm32屏幕驱动,实现OLED多级菜单(动画效果),结构体链表实现(独创源码)
引言 在嵌入式系统中,用户界面的设计往往直接影响到用户体验。本文将以STM32微控制器和OLED显示屏为例,介绍如何实现一个多级菜单系统。该系统支持用户通过按键导航菜单,执行相应操作,并提供平滑的滚动动画效果。 本文设计了一个…...
深入浅出WebGL:在浏览器中解锁3D世界的魔法钥匙
WebGL:在浏览器中解锁3D世界的魔法钥匙 引言:网页的边界正在消失 在数字化浪潮的推动下,网页早已不再是静态信息的展示窗口。如今,我们可以在浏览器中体验逼真的3D游戏、交互式数据可视化、虚拟实验室,甚至沉浸式的V…...
