保护 LocalDB 免受用户访问

2023-12-04

我正在考虑使用 SQL LocalDB 作为客户端数据库,它将取代 .net 4 中开发的内部应用程序中当前的 SQL CE 3.5 数据库。

我遇到了一个问题,我不确定如何解决,这与 LocalDB 实例的安全设置有关。

如果我在 .net 内设置一个脚本来创建私有 LocalDB 实例,例如(localdb)\T1,然后在该实例中创建一个新数据库并添加一个SQL用户帐户+密码(非域帐户),如何阻止具有管理员级别权限的本地Windows用户(例如我自己的AD帐户)访问使用 SSMS 的“T1”实例 + 数据库?

我可以看到一个场景,我们部署应用程序,然后我们有一些精通 IT 的用户四处窥探并决定安装 SSMS 并使用他们的 Windows 帐户连接到 (localdb)\T1,这将给予他/她完全访问权限到数据库,这正是我试图阻止发生的事情。

我们的一些员工在没有连接到域的情况下远程工作,因此我们为他们的电脑提供本地管理员权限,以便他们可以安装软件,因此即使我可以阻止他们指定的 Windows 登录名,也没有什么可以阻止他们设置新的本地管理员帐户并使用该帐户登录,打开 SSMS 然后访问数据库。

对此的任何指示将不胜感激!


事实上,它不应该那么难。使用本地管理员帐户在客户端计算机上安装 SQL Server。为了让您的生活更轻松,请使用混合身份验证。

安装实例后,本地管理员帐户应该分配有 sysadmin 服务器角色(这是正常的安全设置)。现在,使用以下命令:

  1. 创建新的 SQL Server 用户并将 sysadmin 服务器角色分配给该帐户。关闭 SSMS 并使用新凭据登录。或者简单地使用 sa 帐户(不是很好的做法,但在这种情况下没关系)。

  2. 转到“安全 - 登录”并从本地管理员中删除系统管理员角色。另外,检查用户映射并从本地管理员“夺走”所有权限。

作为测试,尝试以本地管理员身份登录,我想您将无法登录服务器,因为该用户没有“主”数据库。但即使可以登录,也只有“公共”角色。

由您来安装数据库并保护它 - 向您选择的用户分配权限。

关于您担心本地管理员可以再次安装 MSSQL:他/她可以安装它,但这将是另一个实例。该实例对您实例中的用户一无所知,因此您应该是安全的。

您还可以考虑使用应用程序角色在 SQL 服务器中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

保护 LocalDB 免受用户访问 的相关文章

  • PHP - hash_pbkdf2 函数

    我正在尝试使用此 php 函数执行一个函数来哈希密码 http be php net manual en function hash pbkdf2 php http be php net manual en function hash pb
  • 如何连续添加起始行和下一行的值

    我只想创建一个 sql 查询 结果就像图片上的那样 类似于 SQL 中的斐波那契数列 Ex Column 1 10 则 Result 列的值为 Result 10 因为这是第一行 然后假设column1第二行的值为50 那么Result第二
  • 没有为 1 个或多个必需参数给出值。更新SQL

    我正在编写一个程序 当用户在列表视图上选择记录时 该程序会更新密码或积分 我收到错误 没有为 1 个或多个必需参数给出值 我不知道如何纠正 我是否遗漏了一些明显的东西 Dim sql As String UPDATE Users SET P
  • 分组和切换列和行

    我不知道这是否会被正式称为枢轴 但我想要的结果是这样的 Alex Charley Liza 213 345 1 23 111 5 42 52 2 323 5 23 1 324 5 我的输入数据采用这种形式 Apt Name
  • 根据由另一列分组的不同列的最大值获取值[重复]

    这个问题在这里已经有答案了 我想根据由另一列分组的不同列的最大值来获取列的值 我有这张表 KEY NUM VAL A 1 AB B 1 CD B 2 EF C 2 GH C 3 HI D 1 JK D 3 LM 并想要这样的结果 KEY V
  • 以编程方式插入行(父行和子行)

    我正在使用 Spring 和 JDBCTemplate 该场景是 CUSTOMER 表和 ORDERS 表的父子关系 我想做一个插入 例如 1 个客户和 5 个订单 但我不确定如何以编程方式在 CUSTOMER 表中插入一行 如何获取 Or
  • 当从属文本框中没有输入文本时,如何让 gridview 显示所有表格行?

    下面的代码可以正常工作 并根据文本框中输入的文本过滤我的网格视图 当我的文本框中没有输入任何文本时 我没有得到任何结果 并且无法理解为什么 我的问题 如何让gridview显示all当文本框中没有输入文本时表行 MSSQL Search n
  • 包含列和行总计的 SQL 数据透视表

    我正在尝试将行和列总计添加到该数据透视表中 create table test4 city nvarchar 10 race nvarchar 30 sex nvarchar 10 age int insert into test4 val
  • 带有可变 WHERE 子句的批量 UPDATE 表

    我有一堆值对 foo1 bar1 foo2 bar2 我想做一堆更新 将 foo 列设置为 foo1 其中 bar 列为 bar1 我正在使用 psycopg2 在 Python 中执行此操作 我可以executemany与查询UPDATE
  • 如何将SQL数据加载到Hortonworks中?

    我已在我的电脑中安装了 Hortonworks SandBox 还尝试使用 CSV 文件 并以表结构的方式获取它 这是可以的 Hive Hadoop nw 我想将当前的 SQL 数据库迁移到沙箱 MS SQL 2008 r2 中 我将如何做
  • 获取在任何日期创建的表的列表?

    我遇到了这样的情况 我想查找我在 2012 年 9 月 14 日 2012 年 9 月 14 日 在 sql server 上创建的表 是否有任何查询会列出在此日期创建的这些表 SELECT FROM sys tables WHERE cr
  • 如何用约束标记一大组“传递群”?

    在 NealB解决方案之后进行编辑 与以下解决方案相比 NealB的解决方案非常非常快任何另一个 https stackoverflow com q 18033115 answers and 提出了关于 添加约束以提高性能 的新问题 Nea
  • IIF(...) 不是公认的内置函数

    我正在尝试在 Microsoft SQL Server 2008 R2 中使用它 SET SomeVar SomeOtherVar IIF SomeBool value when true value when false 但我收到一个错误
  • 从 call_log 中获取最大并发通话数

    我需要帮助在 MySQL 5 0 77 中编写一个查询 根据下面所示的数据 办公室一天的通话量 返回并发电话呼叫的峰值数量 我只是想知道一天中任何特定时间同时打电话的人数最多是多少 首先 这是 MySQL 表 CREATE TABLE ca
  • ORA-12728: 正则表达式中的范围无效

    我想检查表中是否插入了有效的电话号码 所以我的触发代码在这里 select start index into mob index from gmarg mobile operators where START INDEX substr ne
  • SQL Server使用in关键字传递字符串数组查询

    我认为 IN 子句不能接受具有多个值的绑定参数 Oracle 不能 需要几分钟 查询是 declare setting varchar max set setting Sales Entry Grid Cursor Customer Man
  • 解析错误:语法错误,意外的 T_RETURN [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 遇到这个问
  • 可以有一个带有可变列的表吗?

    这可能是一个愚蠢的问题 但这里是 是否可以创建一个能够包含具有可变列数和自定义列名称的行的动态表 我浏览过 EAV 建模 但看起来很沉重 现实生活中的例子可能是这样的 假设我有一个客户登记册 但每个客户可能需要输入不同的信息 根据您要输入的
  • 如果 Oracle SQL 中存在视图,则删除视图[重复]

    这个问题在这里已经有答案了 我是 Oracle 数据库系统的新手 Oracle 12c 中以下 SQL 语句的等效项是什么 DROP VIEW IF EXIST
  • ALTER TABLE 语句与 FOREIGN KEY 约束冲突

    为什么要添加外键tblDomare表导致此错误 ALTER TABLE 语句与 FOREIGN KEY 约束 FK tblDomare PersN 5F7E2DAC 冲突 冲突发生在数据库 almu0004 表 dbo tblBana 列

随机推荐

  • 在 JPanel 之间切换

    我正在尝试制作一款游戏 游戏中有几个不同的屏幕 例如主菜单和实际的游戏屏幕 其中每一个都是一个单独的 jpanel 扩展 我已将它们中的每一个添加到我的 JFrame 中 这是一个名为 Game 的类 在我的游戏类中 我有以下方法 publ
  • 无法使用 FQL 获取 Facebook 群组中的所有用户

    我正在尝试使用以下 FQL 查询获取 Facebook 群组中每个用户的姓名 从 uid 所在的用户中选择名字 姓氏 从以下位置选择 uid group member 其中 gid 123 然而 该小组的 7000 名成员中 这只得到了大约
  • 如何计算 SQL Server 列中某个值连续出现的次数

    我有一张桌子Attendance在我的数据库中 Date Present 20 11 2013 Y 21 11 2013 Y 22 11 2013 N 23 11 2013 Y 24 11 2013 Y 25 11 2013 Y 26 11
  • 并行化 Numpy 向量运算

    让我们使用 例如 numpy sin 以下代码将返回数组中每个值的正弦值a import numpy a numpy arange 1000000 result numpy sin a 但我的机器有 32 个核心 所以我想利用它们 对于类似
  • 在鼠标下滚动窗口

    如果您查看一下 Visual Studio 2012 您会注意到 如果您使用鼠标滚轮 则鼠标下方的窗口将滚动 而不是焦点窗口 也就是说 如果将光标放在代码编辑器中 并将鼠标移到解决方案资源管理器窗口上并滚动 则解决方案资源管理器将滚动 而不
  • 为什么 python 中会缓存字符串对象

    这是示例 gt gt gt first string str This is some how cached gt gt gt second string str This is some how cached gt gt gt id fi
  • 在 Windows/Linux 上使用 python3 脚本检查可执行文件是 32 位还是 64 位

    我正在用 Python3 编写软件 更具体地说 Python 3 8 1 在某些时候 软件需要检查某个任意可执行文件是 64 位还是 32 位 经过一番研究 我发现了以下帖子 检查 exe 是 32 位还是 64 位 在这篇文章中 提供了以
  • 将 CPanel 中的所有 Google JDBC 服务 IP 地址列入白名单

    我正在尝试通过 JDBC 服务将 Google Docs 扩展连接到 MySQL 数据库 MySQL 数据库运行在需要使用 CPanel 的共享服务器上 CPanel 一次只能添加一个白名单规则 并且只能使用 通配符 与 0 个或多个任何类
  • EditorTemplate 中的 DropDownListFor 未选择值

    我有一个自定义对象的编辑器模板 在该编辑器模板中 我使用了几个 DropDownListFor 帮助程序 在每个模型中 我指定一个唯一的模型属性 带有预先选择的值 和包含所有选择选项的选择列表 Example 我知道正在填充选项值 从查看源
  • 如何防止jsoup转换特殊字符? [复制]

    这个问题在这里已经有答案了 请看下面的简化示例 public static void main String args String html n n n div n p 2 lt X p n div n n
  • Symfony2/Doctrine 2 - 转义密码中的特殊字符

    如何通过 Doctrine 转义用于数据库连接的密码 我的密码中有一个 Symfony2 会给我这个错误 SQLSTATE 28000 1045 Access denied for user user server using passwo
  • R 中向量的最大长度

    根据 R Memory limits 文档 不可能分配长度超过 2 31 1 的向量 这是因为用作索引的整数只能使用 31 位 符号位为 1 位 但在 64 位系统上 我应该能够分配更长的向量 为什么 R 在 64 位系统上施加相同的最大长
  • 如何在Java中将毫秒转换为“X分钟,x秒”?

    我想用记录时间System currentTimeMillis 当用户在我的程序中开始某些操作时 当他完成时 我将减去当前的System currentTimeMillis 来自start变量 我想使用人类可读的格式向他们显示经过的时间 例
  • AngularJS 发出模拟 httpGET 请求的问题

    所以我对 angularjs 及其模拟库很陌生 我正在尝试测试是否发出了特定的 GET 请求 但我总是在第二个断言中收到此错误 并且无法弄清楚原因 Error Unsatisfied requests GET 1 json 我下面的代码有什
  • 如何根据名称检测成员变量是否存在及其类型?

    我知道如何编写一个类 该类可以在编译时检测给定的类 T 是否具有具有给定名称和给定类型 Type 的成员 例如 include
  • 使用 MatMenuTrigger 上的 ViewChild 以编程方式打开 Angular 材质菜单

    如何使用按钮触发器上的模板引用变量以编程方式打开 Angular Material 菜单 使用 ViewChild 在组件中访问该变量 单击时菜单通常会打开 但我想在鼠标悬停时以编程方式打开它 鼠标悬停 事件处理程序给出错误 无法读取未定义
  • C# - 从任何字符串中查找 unicode 代码点的代理对的正则表达式?

    我正在尝试解析其中可能包含表情符号的消息 可以接收的示例消息如下所示 type chat msg UserName u00a0 ud83d ude0b n 应该匹配的是 u00a0 作为单个字符 ud83d ude0b 作为一对 我有正则表
  • 即使客户端断开连接,Grpc Server 也会继续处理数据

    我有一个服务器 它为给定的请求传输数据 下面是执行该功能的方法 Override public void getChangeFeed ChangeFeedRequest request StreamObserver
  • 符合 MSSCCI 的 Mercurial 客户端

    您好 我正在寻找兼容 Microsoft 源代码控制接口 MSSCCI 的 Mercurial 客户端 以便将 Mercurial 集成到我的 IDE 中 LabVIEW 我想HgSCC已经很接近了 因为它声称它使用 MSSCC 接口与 V
  • 保护 LocalDB 免受用户访问

    我正在考虑使用 SQL LocalDB 作为客户端数据库 它将取代 net 4 中开发的内部应用程序中当前的 SQL CE 3 5 数据库 我遇到了一个问题 我不确定如何解决 这与 LocalDB 实例的安全设置有关 如果我在 net 内设