Sqlserver 如何创建全局只读账号?

由于SQL Server不支持全局数据库权限,因此需要在每个数据库中创建用户并授予其只读权限。可以使用动态SQL脚本来为所有现有数据库设置权限,具体脚本如下

##创建登陆账号CREATE LOGIN user01 WITH PASSWORD = 'password';
##除了系统库外给user01 db_datareader权限DECLARE @db_name NVARCHAR(128)DECLARE @sql NVARCHAR(MAX)
DECLARE db_cursor CURSOR FORSELECT nameFROM sys.databasesWHERE state_desc = 'ONLINE' AND name NOT IN ('master', 'tempdb', 'model', 'msdb','distribution')##遍历所有在线的数据库(排除系统数据库) OPEN db_cursorFETCH NEXT FROM db_cursor INTO @db_name
WHILE @@FETCH_STATUS = 0BEGIN    SET @sql = 'USE [' + @db_name + '];' + CHAR(13) +               'CREATE USER user01 FOR LOGIN user01;' + CHAR(13) +               'EXEC sp_addrolemember N''db_datareader'', N''user01'';'        EXEC sp_executesql @sql## 给user01赋予db_datareader权限    FETCH NEXT FROM db_cursor INTO @db_nameEND
CLOSE db_cursorDEALLOCATE db_cursor

当然也可以使用SSMS通过界面来创建登陆名和设置权限,但是不如脚本方便。仅供参考。

其他sqlserver常用sql

查看阻塞持续时间超过5000ms的会话

SELECT W.session_id AS waiting_session_id, W.waiting_task_address, W.wait_duration_ms, W.wait_type, W.blocking_session_id, W.resource_descriptionFROM   sys.dm_os_waiting_tasks AS WWHERE W.wait_duration_ms >5000 AND W.blocking_session_id  IS NOT NULL;

查看库内所有在wait状态的锁

SELECT L1.resource_type , DB_NAME(L1.resource_database_id) AS DatabaseName, CASE L1.resource_type WHEN 'OBJECT' THENOBJECT_NAME(L1.resource_associated_entity_id,L1.resource_database_id) WHEN 'DATABASE' THEN 'DATABASE' ELSE CASE WHEN L1.resource_database_id =DB_ID() THEN (SELECT OBJECT_NAME(object_id,L1.resource_database_id) FROM  sys.partitions WHERE hobt_id =L1.resource_associated_entity_id) ELSE NULL END END AS ObjectName, L1.resource_description , L1.request_session_id , L1.request_mode , L1.request_statusFROM   sys.dm_tran_locks AS L1JOIN   sys.dm_tran_locks AS L2 ON L1.resource_associated_entity_id=L2.resource_associated_entity_idWHERE  L1.request_status<>L2.request_status AND (L1.resource_description=L2.resource_description OR (L1.resource_description IS NULL  AND L2.resource_description IS NULL ) )ORDER BY L1.resource_database_id , L1.resource_associated_entity_id , L1.request_status ASC;

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

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

相关文章

FactoryBean原理及用法

它的作用是用制造创建过程较为复杂的产品, 如 SqlSessionFactory, 但 Bean 已具备等价功能 使用 被 FactoryBean 创建的产品 会认为创建、依赖注入、Aware 接口回调、前初始化这些都是 FactoryBean 的职责, 这些流程都不会走 唯有后初始化的流程会走, 也就是产品可以被代理增…

学习aurora64/66b.20240703

简介 The AMD LogiCORE™IP Aurora 64B/66B core是一种可扩展的轻量级高数据速率链路层协议&#xff0c;用于高速串行通信。该协议是开放的&#xff0c;可以使用AMD设备技术实现。 Aurora 64B/66B是一种轻量级的串行通信协议&#xff0c;适用于多千兆位链路 (如下图所示)。它…

【MATLAB源码-第139期】基于matlab的OFDM信号识别与相关参数的估计,高阶累量/小波算法调制识别,循环谱估计,带宽估计,载波数目估计等等。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 在现代无线通信系统中&#xff0c;正交频分复用&#xff08;OFDM&#xff09;因其高效的频谱利用率、强大的抗多径衰落能力以及灵活的带宽分配等优势&#xff0c;成为了一种非常重要的调制技术。然而&#xff0c;随着无线通信…

采沙船智能监测识别摄像机

对于现代河流管理来说&#xff0c;采沙船智能监测识别摄像机正逐渐成为解决非法采砂和保护河流生态环境的重要工具。这类摄像机通过先进的视觉识别和数据分析技术&#xff0c;有效监控和管理河道上的采沙行为&#xff0c;对保护水域资源和改善生态环境具有显著的意义。 采沙船智…

Linux容器篇-使用kubeadm搭建一个kubernetes集群

kubernetes集群架构和组件 master节点组件 kube-apiserver&#xff1a;Kubernetes API&#xff0c;集群的统一入口&#xff0c;各组件的协调者&#xff0c;以RESTful API提供接口服务&#xff0c;所有对象资源的增删改查和监听操作都交给APIserver处理后再交给Etcd存储。 kube…

学习Mybatis

Mybatis 第一节 引言 1. 什么是框架 框架是一个半成品&#xff0c;解决了软件开发过程中的普遍性问题&#xff0c;简化了开发步骤&#xff0c;提高了开发效率。 2. 什么是ORM ORM全称为Object Relational Mapping&#xff0c;意为对象关系映射&#xff0c;主要实现了将程序…

usecallback()与usememo()

简单的说 都是用来监听数据变化 来进行控制渲染、减少不必要的渲染 、优化性能 usecallback()是用来监听数据变化从而调用方法 usememo()是用来监听数据变化从而改变数据 使用return返回变化的数据 当然return 也可以返回方法 所以usememo()可以代替usecallback() 下面详解 …

常见的编码技术简介

常见的编码技术简介 文章目录 常见的编码技术简介1. 字符编码1.1 ASCII1.2 Unicode 2. 数据传输编码2.1 Base系列编码2.1.1 Base642.1.2 Base162.1.3 Base322.1.4 Base852.1.5 其他Base编码 2.2 URL编码2.3 JSON2.4 XML2.5 Protobuf (Protocol Buffers) 1. 字符编码 1.1 ASCII…

AI是在帮助开发者还是取代他们?——探讨AI在软件开发中的角色与未来

引言 随着人工智能技术的迅猛发展&#xff0c;AI工具在软件开发中的应用越来越广泛。有人认为AI可以显著提升开发者的效率&#xff0c;而也有人担心AI会取代开发者的工作。本文将从三个方面探讨AI在软件开发中的角色&#xff1a;AI工具现状、AI对开发者的影响以及AI开发的未来…

学习springAOP

第三章 Spring AOP 第一节 AOP 简介 1. 概念 AOP全称为Aspect Oriented Programming&#xff0c;表示面向切面编程。何为切面呢&#xff1f; 由此可以得出&#xff0c;切面是一种将那些与业务无关&#xff0c;但业务模块都需要使用的功能封装起来的技术。这样便于减少系统的…

昇思25天学习打卡营第4天|应用实践

昇思25天学习打卡营第4天 文章目录 昇思25天学习打卡营第4天基于 MindSpore 实现 BERT 对话情绪识别模型简介环境配置数据集数据加载和数据预处理input_idsattention_mask 模型构建模型验证模型推理自定义推理数据集 打卡记录 基于 MindSpore 实现 BERT 对话情绪识别 模型简介…

奥比中光astra_pro相机使用记录

一、信息获取 1、官网 用于了解产品信息 http://www.orbbec.com.cn/sys/37.html 2、开发者社区 咨询问题下载开发部https://developer.orbbec.com.cn/ 二 、windowvs19 1、相机型号 orbbec_astro_pro 根据对应的型号找到需要的包工具 踩坑1&#xff0c;因为这个相机型号…

第20章 Mac+VSCode配置C++环境

1. 下载VSCode VSCode下载地址在mac终端里输入xcode- select --install命令&#xff0c;根据提示安装xcode工具。 2. 安装插件&#xff08;4个&#xff09; 打开VScode&#xff0c;点击应用右侧菜单栏 C/C&#xff08;必装&#xff09; Code Runner&#xff08;必装&#xf…

UCOS-III 任务调度与就绪列表管理

01. 就绪优先级位图 在实时操作系统中&#xff0c;任务调度的效率至关重要。UCOS-III通过就绪优先级位图来快速查找最高优先级的就绪任务&#xff0c;从而实现高效调度。就绪优先级位图是一个按位表示的结构&#xff0c;每个位代表一个优先级&#xff0c;当某个优先级上有任务就…

高效管理 TensorFlow 2 GPU 显存的实用指南

前言 在使用 TensorFlow 2 进行训练或预测时&#xff0c;合理管理 GPU 显存至关重要。未能有效管理和释放 GPU 显存可能导致显存泄漏&#xff0c;进而影响后续的计算任务。在这篇文章中&#xff0c;我们将探讨几种方法来有效释放 GPU 显存&#xff0c;包括常规方法和强制终止任…

【FFmpeg】avcodec_open2函数

目录 1. avcodec_open21.1 编解码器的预初始化&#xff08;ff_encode_preinit & ff_decode_preinit&#xff09;1.2 编解码器的初始化&#xff08;init&#xff09;1.3 释放编解码器&#xff08;ff_codec_close&#xff09; FFmpeg相关记录&#xff1a; 示例工程&#xff…

Windows编程之多线程事件对象(Event Object)用法详解

目录 一、前言 二、基础用法 三、API详解 1.创建事件对象 2控制事件状态 3.等待事件对象&#xff1a; 四、实战案例 1.案例描述 2.代码设计 3.总设计代码 4.运行结果 一、前言 事件对象&#xff08;Event Object&#xff09;是我们在大型项目中&#xff0c;进行多线…

竞赛选题 医学大数据分析 - 心血管疾病分析

文章目录 1 前言1 课题背景2 数据处理3 数据可视化4 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于大数据的心血管疾病分析 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f9…

AI绘画Stable Diffusion 解锁精美壁纸创作:利用SD与LLM定制你的专属壁纸,AI副业变现指南!

大家好&#xff0c;我是画画的小强 今天给大家分享一下用AI绘画Stable Diffusion 制作精美手机壁纸&#xff0c;这也可能是当前最快AIGC变现的一种途径。虽然本文的主题为手机壁纸&#xff0c;当调整不同的比例的分辨率宽高比例&#xff0c;就可以直接复用到手机、电脑和平板、…

旋转和镜像的关系

旋转矩阵行列式与 在E(3)三维空间中&#xff0c;旋转矩阵的行列式可以用来判断该旋转是否包含镜像变换。 行列式为正&#xff1a; 表示纯旋转&#xff0c;不包含镜像。 旋转矩阵保持向量的长度和角度不变&#xff0c;只是改变向量的方向。 行列式为负&#xff1a; 表示旋转…