Netwrix 1Secure 提供跨数据和身份的统一可见性——免费试用14天,享有完全访问权限。开始免费试用

资源中心操作指南

如何查看 SQL Server 数据库属性

如何查看 SQL Server 数据库属性

原生审计 vs. Netwrix Auditor for SQL Server

Netwrix Auditor for SQL Server

  • 打开 Netwrix Auditor,然后依次导航到 Reports -> Predefined -> SQL Server — State-in-Time -> SQL Server Databases。
  • 单击 查看 以查看您的报表:
Image

原生审计

  • 启动 Microsoft SQL Server Management Studio (MSSMS)
  • 文件 菜单中,单击 连接对象资源管理器。填写 连接到服务器 对话框:
    • 服务器类型 下拉列表中选择 Database Engine
    • 服务器名称 文本框中,输入 SQL 群集服务器的名称。
    • 身份验证 下拉列表中选择 SQL Server Authentication 方法 并指定你的凭据。如果你不想每次连接到服务器时都重新输入密码,请勾选 Remember password
  • 点击 Connect
  • 连接成功后,点击 New Query,并将以下脚本粘贴到查询字段中:
      SELECT

       sys.databases.name as 'Database Name',

       sys.databases.user_access_desc as "Restrict Access",

       sys.databases.state_desc as 'State', 

       sys.databases.is_read_only as 'Read Only',

       sys.databases.is_auto_shrink_on 'Auto Shrink Enabled', 

       sys.databases.is_encrypted as 'Encrypted', 

       bckup.last_backup as 'Last Database Backup',

       files.data_file as 'Database File Path', 

       files.log_file as 'Log File Path', 

       files.db_size as 'Database Size MB',

       files.log_size as 'Log File Size MB',

       sys.databases.database_id as 'Database ID'

FROM sys.databases

LEFT JOIN (

       SELECT msdb.dbo.backupset.database_name, MAX(msdb.dbo.backupset.backup_finish_date) AS last_backup 

       FROM msdb.dbo.backupmediafamily 

       INNER JOIN msdb.dbo.backupset ON msdb.dbo.backupmediafamily.media_set_id = msdb.dbo.backupset.media_set_id 

       WHERE  msdb..backupset.type = 'D' 

       GROUP BY msdb.dbo.backupset.database_name 

       ) bckup on bckup.database_name = sys.databases.name

LEFT JOIN (   

              SELECT

                      mdf.database_id,

                      mdf.name,

                      mdf.physical_name as data_file, 

                      ldf.physical_name as log_file, 

                      db_size = CAST((mdf.size * 8.0)/1024 AS DECIMAL(8,2)), 

                      log_size = CAST((ldf.size * 8.0 / 1024) AS DECIMAL(8,2))

              FROM (SELECT * FROM sys.master_files WHERE type_desc = 'ROWS' ) mdf

              JOIN (SELECT * FROM sys.master_files WHERE type_desc = 'LOG' ) ldf

              ON mdf.database_id = ldf.database_id

       ) files

ON files.database_id = sys.databases.database_id

ORDER BY 'Database Name'
      
  • 点击 Execute(或按下 F5 键)。
  • 查看查询结果中的数据库列表及其属性:
Image
了解有关 Netwrix Auditor for SQL Server 的更多信息

只需单击即可查看 SQL Server 数据库属性。

收集数据库属性(也称为数据库选项)是常规的数据库管理任务。它对于确保数据库始终符合默认基线设置至关重要,同时也需要监测其关键“生命体征”,以保障良好的性能和可用性。

使用 SQL Server Management Studio,您可以通过图形界面或自定义查询来获取有关 SQL Server 数据库属性的信息。然而,无论您选择哪种方式,整个流程并不总是像您可能希望的那样易用。例如,使用 GUI 工具时,您无法轻松获取您真正需要的那部分信息,并且一次只能查看一个数据库。通过诸如 sp_helpdb 之类的 Transact-SQL 命令时,所有 SQL 数据库参数彼此关联,而不是单独列出。当查询系统表时,您通常需要联接多个表才能得到所需的结果,然后对结果进行转换(将不同的数据类型转换为所需格式)以便理解它们。此外,您可以通过查询 sys.databases 来获取各种数据库选项(例如恢复模型、自动关闭、自动收缩、兼容性级别、排序规则名称以及快照隔离),但如果数据库处于 OFFLINE 状态且您拥有的权限有限,就不会看到任何数据——用户至少必须具备 ALTER ANY DATABASE 的服务器级权限,或在 master 数据库中具备 CREATE DATABASE 权限。

SQL Server 确实内置了 DATABASEPROPERTYEX 函数,可为一个或全部数据库返回特定信息,但要获取数据库文件的物理大小,您必须分别查询每一个数据库。简而言之,使用原生工具理解 SQL Server 数据库属性的配置可能相当耗时,并且需要较高的专业知识。

使用 Netwrix Auditor for SQL Server,您可以一键获取数据库选项的清晰摘要。此外,您还可以订阅报告,并按照您选择的计划将其自动发送到您的收件箱。您甚至可以轻松设置配置变更提醒,这样当需要采取措施以防止停机或其他可能影响业务的问题时,您会第一时间知道。

分享到