SQL Server Audit (データベース エンジン)SQL Server Audit (Database Engine)

適用対象: yesSQL Server yesAzure SQL Database (Managed Instance のみ) noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database (Managed Instance only) noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

SQL Server データベース エンジンSQL Server Database Engine のインスタンスや個々のデータベースの 監査 を行うためには、 データベース エンジンDatabase Engineで発生するイベントの追跡およびログ記録が必要です。Auditing an instance of the SQL Server データベース エンジンSQL Server Database Engine or an individual database involves tracking and logging events that occur on the データベース エンジンDatabase Engine. SQL ServerSQL Server 監査では、サーバー レベルのイベントのためのサーバー監査仕様とデータベース レベルのイベントのためのデータベース監査仕様を含めることができる、サーバー監査を作成できます。audit lets you create server audits, which can contain server audit specifications for server level events, and database audit specifications for database level events. 監査イベントは、イベント ログまたは監査ファイルへ書き込むことができます。Audited events can be written to the event logs or to audit files.

重要

Azure SQL Database Managed Instance では、この T-SQL 機能の特定の動作が変更されています。On Azure SQL Database Managed Instance, this T-SQL feature has certain behavior changes. すべての T-SQL の動作変更の詳細については、「Azure SQL Database Managed Instance と SQL Server の T-SQL の相違点」を参照してください。See Azure SQL Database Managed Instance T-SQL differences from SQL Server for details for all T-SQL behavior changes.

SQL ServerSQL Serverでは、個々のインストール環境についての政府や標準による要件に応じて、複数のレベルの監査を使用できます。There are several levels of auditing for SQL ServerSQL Server, depending on government or standards requirements for your installation. SQL ServerSQL Server 監査には、サーバーおよびデータベースのさまざまなオブジェクトの監査を有効化、保存、および表示するためのツールとプロセスが用意されています。Audit provides the tools and processes you must have to enable, store, and view audits on various server and database objects.

サーバー監査アクション グループをインスタンスごとに、データベース監査アクション グループまたはデータベース監査アクションをデータベースごとに、それぞれ記録できます。You can record server audit action groups per-instance, and either database audit action groups or database audit actions per database. 監査可能なアクションが検出されるたびに監査イベントが発生します。The audit event will occur every time that the auditable action is encountered.

SQL ServerSQL Server のすべてのエディションでサーバー レベルの監査がサポートされます。All editions of SQL ServerSQL Server support server level audits. SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP1 以降のすべてのエディションで、データベース レベルの監査がサポートされます。All editions support database level audits beginning with SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP1. これより前のデータベース レベルの監査は、Enterprise、Developer、および Evaluation Edition に限定されています。Prior to that, database level auditing was limited to Enterprise, Developer, and Evaluation editions. 詳細については、「 SQL Server 2016 の各エディションがサポートする機能」を参照してください。For more information, see Features Supported by the Editions of SQL Server 2016.

注意

このトピックの対象は、 SQL ServerSQL Serverです。This topic applies to SQL ServerSQL Server. SQL DatabaseSQL Databaseについては、「 SQL Database 監査の使用」を参照してください。For SQL DatabaseSQL Database, see Get started with SQL database auditing.

SQL Server 監査のコンポーネントSQL Server Audit Components

監査 では、複数の要素が、サーバー アクションやデータベース アクションの特定のグループのための 1 つのパッケージに組み合わされています。An audit is the combination of several elements into a single package for a specific group of server actions or database actions. レポート定義がグラフィックやデータ要素と組み合わされてレポートが生成されるように、 SQL ServerSQL Server 監査の複数のコンポーネントが組み合わされて、監査と呼ばれる出力が生成されます。The components of SQL ServerSQL Server audit combine to produce an output that is called an audit, just as a report definition combined with graphics and data elements produces a report.

SQL ServerSQL Server 監査では、 拡張イベント を使用して監査を作成できます。audit uses Extended Events to help create an audit. 拡張イベントの詳細については、「 拡張イベント」を参照してください。For more information about Extended Events, see Extended Events.

SQL Server AuditSQL Server Audit

SQL Server 監査 オブジェクトは、監視するサーバー レベルまたはデータベース レベルのアクションおよびアクションのグループの 1 つのインスタンスを収集します。The SQL Server Audit object collects a single instance of server or database-level actions and groups of actions to monitor. 監査は SQL ServerSQL Server インスタンス レベルで行われます。The audit is at the SQL ServerSQL Server instance level. SQL ServerSQL Server のインスタンスごとに複数の監査を使用できます。You can have multiple audits per SQL ServerSQL Server instance.

監査を定義する場合、結果を出力する場所を指定します。When you define an audit, you specify the location for the output of the results. これが監査の出力先です。This is the audit destination. 監査は 無効 な状態で作成されるため、アクションの監査は自動的には行われません。The audit is created in a disabled state, and does not automatically audit any actions. 監査を有効にすると、監査の出力先が監査からデータを受け取るようになります。After the audit is enabled, the audit destination receives data from the audit.

サーバー監査の仕様Server Audit Specification

サーバー監査の仕様 オブジェクトは監査に属しています。The Server Audit Specification object belongs to an audit. サーバー監査の仕様は監査ごとに 1 つ作成できます。これは、サーバー監査の仕様も監査も SQL ServerSQL Server インスタンスのスコープで作成されるためです。You can create one server audit specification per audit, because both are created at the SQL ServerSQL Server instance scope.

サーバー監査の仕様は、拡張イベント機能によって発生するさまざまなサーバー レベルのアクション グループを収集します。The server audit specification collects many server-level action groups raised by the Extended Events feature. サーバー監査の仕様には、 監査アクション グループ を含めることができます。You can include audit action groups in a server audit specification. 監査アクション グループとは、 データベース エンジンDatabase Engineで発生するアトミック イベントであるアクションの定義済みのグループです。Audit action groups are predefined groups of actions, which are atomic events occurring in the データベース エンジンDatabase Engine. これらのアクションは監査に送信されて、ターゲットに記録されます。These actions are sent to the audit, which records them in the target.

データベース レベルの監査アクション グループと監査アクションの詳細については、「 SQL Server 監査のアクション グループとアクション」を参照してください。Server-level audit action groups are described in the topic SQL Server Audit Action Groups and Actions.

データベース監査の仕様Database Audit Specification

Database Audit Specification オブジェクトも、 SQL ServerSQL Server 監査に属しています。The Database Audit Specification object also belongs to a SQL ServerSQL Server audit. 各監査では SQL ServerSQL Server データベースごとに 1 つのデータベース監査の仕様を作成できます。You can create one database audit specification per SQL ServerSQL Server database per audit.

データベース監査の仕様は、拡張イベント機能によって発生するデータベース レベルの監査アクションを収集します。The database audit specification collects database-level audit actions raised by the Extended Events feature. データベース監査の仕様には、監査アクション グループまたは監査イベントを追加できます。You can add either audit action groups or audit events to a database audit specification. 監査イベント とは、 SQL ServerSQL Server エンジンで監査できるアトミックなアクションです。Audit events are the atomic actions that can be audited by the SQL ServerSQL Server engine. 監査アクション グループ とは、アクションの定義済みのグループです。Audit action groups are predefined groups of actions. これらはいずれも、 SQL ServerSQL Server データベースのスコープにあります。Both are at the SQL ServerSQL Server database scope. これらのアクションは監査に送信されて、ターゲットに記録されます。These actions are sent to the audit, which records them in the target. ユーザーのデータベース監査の仕様に、システム ビューなどのサーバー スコープ オブジェクトは含めないでください。Do not include server-scoped objects, such as the system views, in a user database audit specification.

データベース レベルの監査アクション グループと監査アクションの詳細については、「 SQL Server 監査のアクション グループとアクション」を参照してください。Database-level audit action groups and audit actions are described in the topic SQL Server Audit Action Groups and Actions.

移行先Target

監査の結果はターゲットに送信されます。ターゲットには、ファイル、Windows セキュリティ イベント ログ、または Windows アプリケーション イベント ログを使用できます。The results of an audit are sent to a target, which can be a file, the Windows Security event log, or the Windows Application event log. 定期的にログをレビューおよびアーカイブして、ターゲットに追加のレコードを書き込むための十分なスペースを確保しておく必要があります。Logs must be reviewed and archived periodically to make sure that the target has sufficient space to write additional records.

重要

Windows アプリケーション イベント ログの読み取りおよび書き込みは、認証されているユーザーならば、だれでも行うことができます。Any authenticated user can read and write to the Windows Application event log. アプリケーション イベント ログでは、Windows セキュリティ イベント ログほど高いアクセス許可は要求されません。したがって、Windows セキュリティ イベント ログに比べてセキュリティが低くなります。The Application event log requires lower permissions than the Windows Security event log and is less secure than the Windows Security event log.

Windows セキュリティ ログへの書き込みを行うには、"セキュリティ監査の生成 SQL ServerSQL Server " ポリシーに サービス アカウントを追加する必要があります。Writing to the Windows Security log requires the SQL ServerSQL Server service account to be added to the Generate security audits policy. 既定では、ローカル システム、ローカル サービス、およびネットワーク サービスがこのポリシーに追加されています。By default, the Local System, Local Service, and Network Service are part of this policy. この設定は、セキュリティ ポリシー スナップイン (secpol.msc) を使用して構成できます。This setting can be configured by using the security policy snap-in (secpol.msc). さらに、 オブジェクト アクセスの監査 セキュリティ ポリシーを、 成功失敗の両方について有効にする必要があります。Additionally, the Audit object access security policy must be enabled for both Success and Failure. この設定は、セキュリティ ポリシー スナップイン (secpol.msc) を使用して構成できます。This setting can be configured by using the security policy snap-in (secpol.msc). Windows VistaWindows Vista または Windows Server 2008 では、コマンド ラインから監査ポリシー プログラム ( AuditPol.exe ) を使用して、より細かいapplication generatedポリシーを設定できます。In Windows VistaWindows Vista or Windows Server 2008, you can set the more granular application generated policy from the command line by using the audit policy program (AuditPol.exe). Windows セキュリティ ログへの書き込みを有効にする手順の詳細については、「 セキュリティ ログへの SQL サーバー監査イベントの書き込み」を参照してください。For more information about the steps to enable writing to the Windows Security log, see Write SQL Server Audit Events to the Security Log. Auditpol.exe プログラムの詳細については、 グループ ポリシーを使用して詳細なセキュリティの監査を構成する方法に関するサポート技術情報の記事 921469 を参照してください。For more information about the Auditpol.exe program, see Knowledge Base article 921469, How to use Group Policy to configure detailed security auditing. Windows イベント ログは、すべての Windows オペレーティング システムで使用できます。The Windows event logs are global to the Windows operating system. Windows イベント ログの詳細については、「 イベント ビューアーの概要」を参照してください。For more information about the Windows event logs, see Event Viewer Overview. 監査でより厳密なアクセス許可が必要な場合は、バイナリ ファイル ターゲットを使用します。If you need more precise permissions on the audit, use the binary file target.

改ざんを防止するために監査情報をファイルに保存している場合、次の方法でそのファイルの場所へのアクセスを制限できます。When you are saving audit information to a file, to help prevent tampering, you can restrict access to the file location in the following ways:

  • SQL ServerSQL Server サービス アカウントには、読み取り権限と書き込み権限の両方が必要です。The SQL ServerSQL Server Service Account must have both Read and Write permission.

  • 通常、監査管理者には、読み取り権限と書き込み権限が必要です。Audit Administrators typically require Read and Write permission. これは、監査管理者が監査ファイルを管理 (他の共有への監査ファイルのコピー、監査ファイルのバックアップなど) するための Windows アカウントであることを前提としています。This assumes that the Audit Administrators are Windows accounts for administration of audit files, such as: copying them to different shares, backing them up, and so on.

  • 監査ファイルの読み取りが許可されている監査リーダーには、読み取り権限が必要です。Audit Readers that are authorized to read audit files must have Read permission.

データベース エンジンDatabase Engine がファイルへの書き込みを行っているときでも、他の Windows ユーザーは、権限を持っていれば、監査ファイルを読み取ることができます。Even when the データベース エンジンDatabase Engine is writing to a file, other Windows users can read the audit file if they have permission. 排他ロックを取得すると読み取り操作が行われないようになりますが、 データベース エンジンDatabase Engine では排他ロックを取得しません。The データベース エンジンDatabase Engine does not take an exclusive lock that prevents read operations.

データベース エンジンDatabase Engine は監査ファイルにアクセスできるため、CONTROL SERVER 権限を持っている SQL ServerSQL Server ログインは、 データベース エンジンDatabase Engine を利用して監査ファイルにアクセスできます。Because the データベース エンジンDatabase Engine can access the file, SQL ServerSQL Server logins that have CONTROL SERVER permission can use the データベース エンジンDatabase Engine to access the audit files. 監査ファイルの読み取りを行っているユーザーを記録するには、master.sys.fn_get_audit_file に監査を定義します。To record any user that is reading the audit file, define an audit on master.sys.fn_get_audit_file. これにより、 SQL ServerSQL Serverを介して監査ファイルにアクセスした、CONTROL SERVER 権限を持つログインが記録されます。This records the logins with CONTROL SERVER permission that have accessed the audit file through SQL ServerSQL Server.

監査管理者が別の場所に監査ファイルをコピーする場合 (アーカイブ用など)、新しい場所に対する ACL は、次の権限に限定する必要があります。If an Audit Administrator copies the file to a different location (for archive purposes, and so on), the ACLs on the new location should be reduced to the following permissions:

  • 監査管理者 - 読み取り/書き込みAudit Administrator - Read / Write

  • 監査リーダー - 読み取りAudit Reader - Read

監査管理者または監査リーダーしかアクセスしない、別の SQL ServerSQL Serverインスタンス ( SQL Server ExpressSQL Server Expressのインスタンスなど) から監査レポートを作成することをお勧めします。We recommend that you generate audit reports from a separate instance of SQL ServerSQL Server, such as an instance of SQL Server ExpressSQL Server Express, to which only Audit Administrators or Audit Readers have access. レポート作成用に別の データベース エンジンDatabase Engine のインスタンスを使用することで、許可されていないユーザーによる監査レコードへのアクセスを防ぐことができます。By using a separate instance of the データベース エンジンDatabase Engine for reporting, you can help prevent unauthorized users from obtaining access to the audit record.

Windows BitLocker ドライブ暗号化または Windows 暗号化ファイル システムを使用して監査ファイルが格納されているフォルダーを暗号化することにより、許可されていないアクセスに対する保護を強化することができます。You can offer additional protection against unauthorized access by encrypting the folder in which the audit file is stored by using Windows BitLocker Drive Encryption or Windows Encrypting File System.

ターゲットに書き込まれる監査レコードの詳細については、「 SQL Server Audit Records」を参照してください。For more information about the audit records that are written to the target, see SQL Server Audit Records.

SQL Server 監査の使用の概要Overview of Using SQL Server Audit

監査は、 SQL Server Management StudioSQL Server Management Studio または Transact-SQLTransact-SQL を使用して定義することができます。You can use SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL to define an audit. 監査を作成して有効にすると、ターゲットがエントリを受け取るようになります。After the audit is created and enabled, the target will receive entries.

Windows イベント ログを閲覧するには、Windows の イベント ビューアー ユーティリティを使用します。You can read the Windows event logs by using the Event Viewer utility in Windows. ファイル ターゲットの場合は、 [ログ ファイルの表示] SQL Server Management StudioSQL Server Management Studio か、 fn_get_audit_file 関数を使用して、対象のファイルを閲覧できます。For file targets, you can use either the Log File Viewer in SQL Server Management StudioSQL Server Management Studio or the fn_get_audit_file function to read the target file.

監査の作成および使用の一般的な手順は次のとおりです。The general process for creating and using an audit is as follows.

  1. 監査を作成し、ターゲットを定義します。Create an audit and define the target.

  2. 監査にマップするサーバー監査の仕様またはデータベース監査の仕様を作成します。Create either a server audit specification or database audit specification that maps to the audit. その監査の仕様を有効にします。Enable the audit specification.

  3. 監査を有効にします。Enable the audit.

  4. Windows イベント ビューアー[ログ ファイルの表示] 、または fn_get_audit_file 関数を使用して、監査イベントを閲覧します。Read the audit events by using the Windows Event Viewer, Log File Viewer, or the fn_get_audit_file function.

詳細については、「 サーバー監査およびサーバー監査の仕様を作成する 」および「 サーバー監査およびデータベース監査の仕様を作成する」を参照してください。For more information, see Create a Server Audit and Server Audit Specification and Create a Server Audit and Database Audit Specification.

考慮事項Considerations

監査の開始時にエラーが発生すると、サーバーが起動しなくなります。In the case of a failure during audit initiation, the server will not start. その場合にサーバーを起動するには、コマンド ラインで -f オプションを使用します。In this case, the server can be started by using the -f option at the command line.

監査に対して ON_FAILURE=SHUTDOWN が指定されているために監査エラーによってサーバーがシャットダウンしたり起動しなくなったりすると、MSG_AUDIT_FORCED_SHUTDOWN イベントがログに書き込まれます。When an audit failure causes the server to shut down or not to start because ON_FAILURE=SHUTDOWN is specified for the audit, the MSG_AUDIT_FORCED_SHUTDOWN event will be written to the log. シャットダウンはこの設定が初めて検出されたときに生じるため、このイベントが書き込まれるのは 1 回だけです。Because the shutdown will occur on the first encounter of this setting, the event will be written one time. このイベントは、シャットダウンを引き起こした監査のエラー メッセージの後に書き込まれます。This event is written after the failure message for the audit causing the shutdown. 管理者は、 -m フラグを使用して SQL ServerSQL Server をシングル ユーザー モードで起動することで、監査に伴うシャットダウンを回避することができます。An administrator can bypass audit-induced shutdowns by starting SQL ServerSQL Server in Single User mode using the -m flag. シングル ユーザー モードで起動すると、ON_FAILURE=SHUTDOWN が指定されているすべての監査がダウングレードされて、そのセッションでは ON_FAILURE=CONTINUE として実行されます。If you start in Single User mode, you will downgrade any audit where ON_FAILURE=SHUTDOWN is specified to run in that session as ON_FAILURE=CONTINUE. -m フラグを使用して SQL ServerSQL Server を起動すると、エラー ログに MSG_AUDIT_SHUTDOWN_BYPASSED メッセージが書き込まれます。When SQL ServerSQL Server is started by using the -m flag, the MSG_AUDIT_SHUTDOWN_BYPASSED message will be written to the error log.

スタートアップ オプションの詳細については、「 データベース エンジン サービスのスタートアップ オプション」を参照してください。For more information about service startup options, see Database Engine Service Startup Options.

定義済みの監査を含むデータベースのインポートAttaching a Database with an Audit Defined

監査の仕様が含まれていて、サーバーに存在しない GUID が指定されているデータベースをアタッチすると、 孤立した 監査の仕様が発生します。Attaching a database that has an audit specification and specifies a GUID that does not exist on the server will cause an orphaned audit specification. この場合は、一致する GUID を持つ監査がサーバー インスタンスに存在しないため、監査イベントは記録されません。Because an audit with a matching GUID does not exist on the server instance, no audit events will be recorded. この状況を修正するには、ALTER DATABASE AUDIT SPECIFICATION コマンドを使用して、孤立した監査の仕様を既存のサーバー監査に関連付けます。To correct this situation, use the ALTER DATABASE AUDIT SPECIFICATION command to connect the orphaned audit specification to an existing server audit. または、CREATE SERVER AUDIT コマンドを使用して、指定されている GUID を持つ新しい Server 監査を作成します。Or, use the CREATE SERVER AUDIT command to create a new server audit with the specified GUID.

監査の仕様が定義されているデータベースを、 SQL ServerSQL Server 監査をサポートしていない別のエディションの SQL ServerSQL Server ( SQL Server ExpressSQL Server Express など) にアタッチすることもできますが、監査イベントは記録されません。You can attach a database that has an audit specification defined on it to another edition of SQL ServerSQL Server that does not support SQL ServerSQL Server audit, such as SQL Server ExpressSQL Server Express but it will not record audit events.

データベース ミラーリングと SQL Server 監査Database Mirroring and SQL Server Audit

データベース監査の仕様が定義されていて、データベース ミラーリングを使用するデータベースには、そのデータベース監査の仕様が含まれます。A database that has a database audit specification defined and that uses database mirroring will include the database audit specification. ミラー化された SQL インスタンスでも正しく機能するようにするには、以下の項目を構成する必要があります。To work correctly on the mirrored SQL instance, the following items must be configured:

  • データベース監査の仕様が監査レコードを書き込めるようにするには、同じ GUID を持つ監査をミラー サーバーに作成する必要があります。The mirror server must have an audit with the same GUID to enable the database audit specification to write audit records. これは、CREATE AUDIT WITH GUID = <ソース Server Audit の GUID> コマンドを使用して構成できます。This can be configured by using the command CREATE AUDIT WITH GUID =<GUID from source Server Audit>.

  • バイナリ ファイル ターゲットの場合は、監査記録が書き込まれる場所に対する適切なアクセス許可がミラー サーバーのサービス アカウントに必要です。For binary file targets, the mirror server service account must have appropriate permissions to the location where the audit trail is being written.

  • Windows イベント ログ ターゲットの場合は、ミラー サーバーが配置されているコンピューターのセキュリティ ポリシーで、セキュリティ イベント ログまたはアプリケーション イベント ログへのサービス アカウントのアクセスが許可されている必要があります。For Windows event log targets, the security policy on the computer where the mirror server is located must allow for service account access to the security or application event log.

監査管理者Auditing Administrators

sysadmin 固定サーバー ロールのメンバーは、各データベースで dbo ユーザーとして認識されます。Members of the sysadmin fixed server role are identified as the dbo user in each database. 管理者のアクションを監査するには、 dbo ユーザーのアクションを監査します。To audit actions of the administrators, audit the actions of the dbo user.

Transact-SQL を使用した監査の作成と管理Creating and Managing Audits with Transact-SQL

DDL ステートメント、動的管理ビューと関数、およびカタログ ビューを使用して、 SQL ServerSQL Server 監査のすべての機能を実装できます。You can use DDL statements, dynamic management views and functions, and catalog views to implement all aspects of SQL ServerSQL Server Audit.

データ定義言語ステートメントData Definition Language Statements

以下の DDL ステートメントを使用して、監査の仕様を作成、変更、および削除することができます。You can use the following DDL statements to create, alter, and drop audit specifications:

DDL ステートメントDDL statements [説明]Description
ALTER AUTHORIZATIONALTER AUTHORIZATION セキュリティ保護可能なエンティティの所有権を変更します。Changes the ownership of a securable.
ALTER DATABASE AUDIT SPECIFICATIONALTER DATABASE AUDIT SPECIFICATION SQL Server Audit 機能を使用して、データベース監査仕様オブジェクトを変更します。Alters a database audit specification object using the SQL Server Audit feature.
ALTER SERVER AUDITALTER SERVER AUDIT SQL Server Audit 機能を使用して、サーバー監査オブジェクトを変更します。Alters a server audit object using the SQL Server Audit feature.
ALTER SERVER AUDIT SPECIFICATIONALTER SERVER AUDIT SPECIFICATION SQL Server Audit 機能を使用して、サーバー監査仕様オブジェクトを変更します。Alters a server audit specification object using the SQL Server Audit feature.
CREATE DATABASE AUDIT SPECIFICATIONCREATE DATABASE AUDIT SPECIFICATION SQL Server Audit 機能を使用して、データベース監査仕様オブジェクトを作成します。Creates a database audit specification object using the SQL Server audit feature.
CREATE SERVER AUDITCREATE SERVER AUDIT SQL Server Audit を使用して、サーバー監査オブジェクトを作成します。Creates a server audit object using SQL Server Audit.
CREATE SERVER AUDIT SPECIFICATIONCREATE SERVER AUDIT SPECIFICATION SQL Server Audit 機能を使用して、サーバー監査仕様オブジェクトを作成します。Creates a server audit specification object using the SQL Server Audit feature.
DROP DATABASE AUDIT SPECIFICATIONDROP DATABASE AUDIT SPECIFICATION SQL Server Audit 機能を使用して、データベース監査仕様オブジェクトを削除します。Drops a database audit specification object using the SQL Server Audit feature.
DROP SERVER AUDITDROP SERVER AUDIT SQL Server の監査機能を使用して、サーバー監査オブジェクトを削除します。Drops a Server Audit Object using the SQL Server Audit feature.
DROP SERVER AUDIT SPECIFICATIONDROP SERVER AUDIT SPECIFICATION SQL Server Audit 機能を使用して、サーバー監査仕様オブジェクトを削除します。Drops a server audit specification object using the SQL Server Audit feature.

動的ビューと関数Dynamic Views and Functions

次の表に、 SQL ServerSQL Server 監査に使用できる動的ビューと関数の一覧を示します。The following table lists the dynamic views and function that you can use for SQL ServerSQL Server Auditing.

動的ビューと関数Dynamic views and functions [説明]Description
sys.dm_audit_actionssys.dm_audit_actions 監査ログで報告される可能性のあるすべての監査アクション、および SQL ServerSQL Server Audit の一部として構成できるすべての監査アクション グループに対して 1 つの行を返します。Returns a row for every audit action that can be reported in the audit log and every audit action group that can be configured as part of SQL ServerSQL Server Audit.
sys.dm_server_audit_statussys.dm_server_audit_status 監査の現在の状態に関する情報を提供します。Provides information about the current state of the audit.
sys.dm_audit_class_type_mapsys.dm_audit_class_type_map 監査ログ内の class_type フィールドを、sys.dm_audit_actions 内の class_desc フィールドにマップするテーブルを返します。Returns a table that maps the class_type field in the audit log to the class_desc field in sys.dm_audit_actions.
fn_get_audit_filefn_get_audit_file サーバー監査で作成された監査ファイルからの情報を返します。Returns information from an audit file created by a server audit.

カタログ ビューCatalog Views

次の表に、 SQL ServerSQL Server 監査に使用できるカタログ ビューの一覧を示します。The following table lists the catalog views that you can use for SQL ServerSQL Server auditing.

カタログ ビューCatalog views [説明]Description
sys.database_audit_specificationssys.database_audit_specifications サーバー インスタンス上の SQL ServerSQL Server 監査に含まれるデータベース監査仕様に関する情報を含みます。Contains information about the database audit specifications in a SQL ServerSQL Server audit on a server instance.
sys.database_audit_specification_detailssys.database_audit_specification_details すべてのデータベースについてサーバー インスタンス上の SQL ServerSQL Server 監査に含まれる、データベース監査仕様に関する情報を含みます。Contains information about the database audit specifications in a SQL ServerSQL Server audit on a server instance for all databases.
sys.server_auditssys.server_audits サーバー インスタンス内の各 SQL ServerSQL Server 監査について行を 1 つずつ含みます。Contains one row for each SQL ServerSQL Server audit in a server instance.
sys.server_audit_specificationssys.server_audit_specifications サーバー インスタンス上の SQL ServerSQL Server 監査に含まれるサーバー監査仕様に関する情報を含みます。Contains information about the server audit specifications in a SQL ServerSQL Server audit on a server instance.
sys.server_audit_specifications_detailssys.server_audit_specifications_details サーバー インスタンス上の SQL ServerSQL Server 監査に含まれるサーバー監査仕様の詳細 (アクション) に関する情報を含みます。Contains information about the server audit specification details (actions) in a SQL ServerSQL Server audit on a server instance.
sys.server_file_auditssys.server_file_audits サーバー インスタンス上の SQL ServerSQL Server 監査に含まれるファイル監査の種類に関する拡張情報を含みます。Contains stores extended information about the file audit type in a SQL ServerSQL Server audit on a server instance.

アクセス許可Permissions

SQL ServerSQL Server 監査の各機能とコマンドには、個別の権限要件があります。Each feature and command for SQL ServerSQL Server Audit has individual permission requirements.

サーバー監査またはサーバー監査の仕様を作成、変更、削除する場合、サーバー プリンシパルには、ALTER ANY SERVER AUDIT または CONTROL SERVER の権限が必要です。To create, alter, or drop a Server Audit or Server Audit Specification, server principals require the ALTER ANY SERVER AUDIT or the CONTROL SERVER permission. データベース監査の仕様を作成、変更、削除する場合、データベース プリンシパルには、ALTER ANY DATABASE AUDIT 権限、またはデータベースに対する ALTER 権限か CONTROL 権限が必要です。To create, alter, or drop a Database Audit Specification, database principals require the ALTER ANY DATABASE AUDIT permission or the ALTER or CONTROL permission on the database. さらに、プリンシパルには、データベースに接続する権限、または ALTER ANY SERVER AUDIT 権限か CONTROL SERVER 権限が必要です。In addition, principals must have permission to connect to the database, or ALTER ANY SERVER AUDIT or CONTROL SERVER permissions.

VIEW ANY DEFINITION 権限では、サーバー レベルの監査ビューを表示できます。また、VIEW DEFINITION 権限では、データベース レベルの監査ビューを表示できます。The VIEW ANY DEFINITION permission provides access to view the server level audit views and VIEW DEFINITION provides access to view the database level audit views. これらの権限を拒否すると、プリンシパルが ALTER ANY SERVER AUDIT 権限または ALTER ANY DATABASE AUDIT 権限を付与されている場合でも、カタログ ビューを表示する機能がオーバーライドされます。Denial of these permissions, overrides the ability to view the catalog views, even if the principal has the ALTER ANY SERVER AUDIT or ALTER ANY DATABASE AUDIT permissions.

アクセス権および権限を付与する方法の詳細については、「GRANT (Transact-SQL)」を参照してください。For more information about how to grant rights and permissions, see GRANT (Transact-SQL).

注意事項

sysadmin ロールのプリンシパルによって監査コンポーネントが勝手に書き換えられることも、db_owner ロールのプリンシパルによってデータベース内の監査の仕様が勝手に書き換えられることもないとはいえません。Principals in the sysadmin role can tamper with any audit component and those in the db_owner role can tamper with audit specifications in a database. SQL ServerSQL Server 監査では、監査の仕様を作成または変更するログオンが、ALTER ANY DATABASE AUDIT 以上の権限を持っているかどうかが検証されます。Audit will validate that a logon that creates or alters an audit specification has at least the ALTER ANY DATABASE AUDIT permission. ただし、データベースにアタッチするときには検証は行われません。However, it does no validation when you attach a database. すべてのデータベース監査の仕様は、sysadmin ロールまたは db_owner ロールのプリンシパルと同等の信頼性しかないと見なす必要があります。You should assume all Database Audit Specifications are only as trustworthy as those principals in the sysadmin or db_owner role.

サーバー監査およびサーバー監査の仕様を作成するCreate a Server Audit and Server Audit Specification

サーバー監査およびデータベース監査の仕様を作成するCreate a Server Audit and Database Audit Specification

SQL Server 監査ログを表示するView a SQL Server Audit Log

セキュリティ ログへの SQL Server 監査イベントの書き込みWrite SQL Server Audit Events to the Security Log

[サーバーのプロパティ] ([セキュリティ] ページ)Server Properties (Security Page)
SQL ServerSQL Server のログインの監査をオンにする方法について説明します。Explains how to turn on login auditing for SQL ServerSQL Server. 監査レコードは Windows アプリケーション ログに格納されます。The audit records are stored in the Windows application log.

c2 audit mode サーバー構成オプションc2 audit mode Server Configuration Option
SQL ServerSQL Serverの C2 セキュリティ準拠の監査モードについて説明します。Explains the C2 security compliance auditing mode in SQL ServerSQL Server.

Security Audit イベント カテゴリ (SQL Server Profiler)Security Audit Event Category (SQL Server Profiler)
SQL Server プロファイラーSQL Server Profilerで使用できる監査イベントについて説明します。Explains the audit events you can use in SQL Server プロファイラーSQL Server Profiler. 詳細については、「 SQL Server Profiler」を参照してください。For more information, see SQL Server Profiler.

SQL トレースSQL Trace
SQL トレースを使用して、 SQL ServerSQL Server Profiler からではなく、ユーザー独自のアプリケーションからトレースを手動で作成する方法について説明します。Explains how SQL Trace can be used from within your own applications to create traces manually, instead of using SQL ServerSQL Server Profiler.

DDL トリガーDDL Triggers
データ定義言語 (DDL) トリガーを使用してデータベースの変更を追跡する方法について説明します。Explains how you can use Data Definition Language (DDL) triggers to track changes to your databases.

Microsoft TechNet:SQL Server TechCenter:SQL Server 2005 - セキュリティと保護Microsoft TechNet: SQL Server TechCenter: SQL Server 2005 Security and Protection
SQL ServerSQL Server セキュリティに関する最新の情報を提供します。Provides up-to-date information about SQL ServerSQL Server security.

参照See Also

SQL Server 監査のアクション グループとアクション SQL Server Audit Action Groups and Actions
SQL Server 監査レコードSQL Server Audit Records