网站搜索

如何在 SQL Server 中实现行级和列级安全性

SQL Server 包含一系列安全功能。其中最有价值的两个是列级安全性和行级安全性,它们使您能够精细地授予用户对表中行和列的访问权限。本文介绍如何在您的环境中实现这些功能。

担保物、委托人和权限

在深入研究行和列安全性之前,我们需要回顾一些 SQL Server 安全基础知识。基本上,数据库安全涉及允许某人访问数据库中存储的数据并对其执行操作。 “某人”是主体,他们被允许采取的操作是他们的权限,并且执行操作的数据是安全的 - 安全对象的示例包括数据库、表、模式、行和列。

让我们看一下可应用于安全对象的权限:

  • SELECT — 委托人需要此权限才能从表中获取或读取数据。
  • INSERT — 委托人需要此权限才能向表中添加新行。
  • 更新 - 委托人需要此权限才能修改表中的数据。
  • DELETE — 委托人需要此权限才能从表中删除行。
  • 引用 — 如果委托人对表没有其他权限,则他们需要此权限才能创建表的外键。
  • 阅读更多 →

具有高性能和强大安全性的 SQL Server 监控工具

您组织的 SQL Server 是一项重要资产,它为您的宝贵数据提供存储并充当许多企业应用程序和网站的后端数据库。本文解释了确保高性能所涉及的内容,并探讨了市场上四种顶级的 SQL Server 性能监控工具。然后详细说明了为什么通过强大的安全审核来补充性能监控解决方案至关重要,并提供了一个可以提供帮助的工具。

SQL Server 监控以获得强大的性能

如果 SQL Server 性能问题得不到控制,组织可能会因时间和收入损失而付出巨大代价。对数据库操作持续且保持警惕的可见性对于确保您能够在问题导致用户沮丧甚至导致系统故障之前快速发现和诊断问题至关重要。

要全面了解 SQL 数据库性能,您需要在三个不同级别上监控 SQL 性能:硬件(或虚拟化主机资源)、操作系统软件和数据库服务器软件。特别是,跟踪底层服务器主机上的以下组件非常重要:

  • CPU 使用:考虑到当前以数据库查询形式来回传递的数据量,处理器工作负载应在可接受的范围内。
  • 内存使用情况:服务器的可用 RAM 是其所承受负载的关键指标。如果 RAM 使用率

    阅读更多 →

SQL Server 权限指南

对于管理 SQL Server 数据库的任何人来说,了解权限对于确保只有授权用户才能查看和修改数据至关重要。

本文介绍不同类型的 SQL Server 权限,包括服务器级和数据库级用户权限,并提供有关如何管理它们的指南。

SQL Server 安全性的关键组件

Microsoft SQL Server 是一种关系数据库管理系统 (DBMS),支持企业 IT 环境中的各种事务处理、商业智能和分析应用程序。 Microsoft SQL Server 是市场领先的三大数据库技术之一。

SQL Server 具有三个主要安全组件,使 DBA 和系统管理员能够控制哪些用户可以登录服务器、他们可以访问哪些数据以及允许他们对这些数据执行哪些操作。这些组件是:

  • 安全主体 - 被授权访问特定 SQL Server 实例的人员或进程
  • 安全对象 - 访问受到监管的服务器和数据库资源
  • 权限 - 主体对特定安全对象拥有的访问类型

安全负责人

安

阅读更多 →

SQL Server 中的公共角色

数据库角色与 Windows 组类似 - 管理员不是单独撤销或授予每个用户访问权限,而是通过授予或撤销角色权限以及更改角色成员身份来管理访问权限。使用角色可以更轻松地准确地授予和撤销数据库用户的权限。由于多个用户可以是 SQL 数据库角色的成员,因此您可以轻松地同时管理整组用户的权限。

在这篇文章中,我们将解释 Microsoft SQL Server 中的公共角色以及与其相关的一些最佳实践。 (我们在这里故意使用小写字母,因为这是公共角色在 SQL Server 世界中的拼写方式,与 Oracle 世界不同。)

SQL Server 中的角色类型

Microsoft SQL Server 提供多种类型的预构建角色:

  • 固定服务器角色——它们被称为“固定”服务器角色,因为除了公共角色之外,它们不能被修改或删除
  • 固定数据库角色
  • 应用程序角色 - 数据库主体,应用程序可以使用它以自己的一组权限运行(默认情况下禁用)
  • 用户定义的角色(从 SQL Ser

    阅读更多 →

使用 PowerUpSQL 进行 SQL 系统攻击

如果您需要一个工具包来从头到尾拥有 Microsoft SQL Server,那么您需要的是 PowerUpSQL。 PowerUpSQL 在 PowerShell 中实现并且非常完整,拥有用于发现、破坏和拥有几乎任何 SQL 系统的工具。这是一个工具中的整个杀伤链。本文详细介绍了如何使用 PowerUpSQL 执行关键攻击步骤。

请注意,我们使用的系统(MS SQL 2012 的一个非常普通的版本)得到了非常复杂的结果。我们一定会强调我们的结果在有和没有系统管理员权限的情况下有所不同。如果您需要有关如何获取系统级管理员权限的提示,请参阅我们用于攻击核心 AD 基础设施的技术目录以及有关 AD 服务帐户攻击、利用错误配置权限的攻击以及我们的 Mimikatz 攻击系列文章。

发现

要查找域中的所有 SQL 服务器,您可以使用 Get-SQLInstanceDomain cmdlet:

PS C:PowerUpSQL-master> Get-SQLInstanceDomain -Verbose
VERBOSE: Grabbing SPNs from the domai

阅读更多 →

修复无法在 Windows 11 上安装 SQL Server

Microsoft SQL Server 是许多企业级公司使用的关系数据库管理系统(RDBMS)。它为存储、管理和检索数据提供了安全且可扩展的环境。然而,当一些用户尝试安装 SQL Server 为其项目提供数据库时,他们失败了。在这篇文章中,我们将了解如果您无法在 Windows 计算机上安装 SQL Server,您可以采取哪些措施。

SQL服务器

快捷版

无法安装 SQL Server (setup.exe)。

退出代码(十进制):-2061893606错误描述:等待数据库引擎恢复句柄失败。检查 SQL Server 错误日志以了解潜在原因

注意:您可能会在 SQL Server

阅读更多 →

使用 PowerShell 生成 SQL 数据库报告

为了使其工作,您需要 SQLPS 模块。或者您应该能够通过 Invoke-Command 使用 PowerShell 远程处理。在我的 Windows 8.1 桌面上,我有免费的 SQL 2012 Express 版本,主要是为了我可以访问 PowerShell 模块,特别是 Invoke-SQLCMD cmdlet,它允许我从桌面运行 T-SQL 命令到任何 SQL 服务器。但这不是今天的任务。

相反,我们将利用 SQL Server 提供程序。当您导入 SQLPS 模块时,您将获得一个名为 SQLSERVER: 的新 PSDrive。

阅读更多 →

SQL 数据库报告已修订

去年我写了一篇文章,解释了如何使用 SQLSERVER PSDrive 创建 HTML 报告,突出显示一些服务器和数据库信息。如果您想复习一下,可以在这里找到该文章。简而言之,您可以在客户端桌面上安装 SQL Server PowerShell 模块并使用它来管理远程服务器。 在我本周教授的 PowerShell 课程中,我添加了一些有关 SQL cmdlet 的内容,并有机会重新访问原始脚本。尽管原始版本旨在与远程服务器一起使用,但我有一些错误阻止了这种情况的发生。我还决定添加一些附加信息以及更多条件格式。例如,根据剩余的可用空间量,报告可能会将值格式化为黄色以指示警告,或以红色格式化以指示更严重的情况。

在 SQLSERVER PSdrive 中,数据库目录默认不显示任何系统数据库,除非您使用 -Force。

这是修改后的脚本:

#requires -version 4.0 #requires -module SQ

阅读更多 →

使用 T-SQL 脚本快速重新索引 WSUS 数据库

在本文中,我将向您展示如何使用 T-SQL 脚本重新索引 WSUS 数据库。重新索引 WSUS 数据库可提高 WSUS 和 WSUS 部署的性能。

当您拥有用于部署更新的独立 WSUS 服务器时,随着时间的推移,数据库的性能会下降。这是 WSUS 管理员的一个已知问题。

为了提高 WSUS 数据库的性能,您可以运行一个简单的 T-SQL 脚本,该脚本是一个 WSUSDBMaintenance 脚本,用于重新索引 WSUS 数据库并对其进行碎片整理。

如果 WSUS 数据库维护不当,大型 WSUS 部署的性能将随着时间的推移而降低。因此,您必须付出额外的努力来维护和重建WSUS数据库。

有两种方法可以重新索引 WSUS 数据库,具体取决于其安装方式。

  • 如果您使用的是 Windows 内部数据库,则需要使用 sqlcmd 实用程序,该实用程序可以从 docs.microsoft.com SQLCMD 页面下载。
  • 如果 WSUS DB 位于 SQL Server 上,则可以使用 SQL Server Management Studio 针对数据库运行 WSUSDBMaintenance 脚本(T-SQL 脚本)。

注意:您不应在 WSUS

阅读更多 →

SCCM 2012 安装 SQL Server 综合指南

本文介绍了为 SCCM 2012 安装 SQL Server 的步骤。Configuration Manager 站点数据库是一个 SQL Server 数据库,其中包含有关 SCCM 基础结构和对象的数据。它还包含有关您管理的客户端系统以及其他已发现资源的信息。在安装 SQL Server 之前,请在此处查找 SCCM 2012 支持的 SQL Server 版本。

这篇文章是 SCCM 2012 安装指南的一部分。如果您需要了解安装 SQL 之前还需要什么,请查看以下有用的帖子。

  • 为 SCCM 2012 安装 Active Directory - 链接
  • SCCM 2012 先决条件 - 链接
  • 创建系统管理容器并扩展 AD 架构 - 链接

注意 - 大多数管理员最常见的问题是,我应该在哪里安装 SQL Server?应该在本地安装还是远程安装?大多数 SCCM 管理员认为 SQL 应该安装在本地。在同一台服务器上运行 SCCM 和 SQL Server 将为您带来良好的性能。远程 SQL 安装的性能通常也好不到哪里去。最重要的是,使用远程数据库,您将在项目中添加额外的服务器和额外的复杂性。

阅读更多 →