Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 安全表访问日志记录_Sql_Sql Server 2008_Logging - Fatal编程技术网

Sql 安全表访问日志记录

Sql 安全表访问日志记录,sql,sql-server-2008,logging,Sql,Sql Server 2008,Logging,我是SQL Server 2008标准版的新手。我需要在给定的表上记录select访问。我需要记录请求的数据和执行select语句的用户。或记录用户和select语句 我试着在网上查找,但似乎很难找到任何涉及select语句的内容 请给我指出正确的方向。这里您讨论的是监控或审核SELECT语句。用这些术语搜索会给你很多开始的机会 关于该主题的一般信息:,作者Brad M McGehee 更多信息请访问MSSQLTips.com,一些使用tSQL的示例:。此外,您还有一些其他信息,请搜索审核,查看

我是SQL Server 2008标准版的新手。我需要在给定的表上记录select访问。我需要记录请求的数据和执行select语句的用户。或记录用户和select语句

我试着在网上查找,但似乎很难找到任何涉及select语句的内容


请给我指出正确的方向。

这里您讨论的是监控或审核SELECT语句。用这些术语搜索会给你很多开始的机会

关于该主题的一般信息:,作者Brad M McGehee

更多信息请访问MSSQLTips.com,一些使用tSQL的示例:。此外,您还有一些其他信息,请搜索
审核
,查看每个版本允许执行的操作。你有一个非常详细的信息

编辑:

对于SQL Server 2008和2008R2标准版,没有审核功能,对于SQL Server 2012标准版,我们有审核功能,请查看更多详细信息。因此,对于SQL2008,您必须依靠它来审计CRUD操作。对于
选择
语句,必须手动执行。检查

Edit2 SQL Server 2012 Express edition在审计方面涵盖了哪些内容?通过在谷歌上快速搜索,

拒绝用户
选择表上的
权限


创建存储过程,通过存储过程可以运行需要运行的查询。在存储过程主体中添加任何必要的审核。

仅在SQL Server 2008企业版中允许对Select语句进行审核。在SQL Server标准版中,是否有另一种方法在给定表上进行og loggin选择?它只在我需要记录的Select上进行,而不是在CRUD上。我知道select没有触发器,也没有选择使用SP。现在我尝试使用事件会话,但我记录了所有select查询,而不是记录在特定的表上。SQL Server 2012中的基本审核包括哪些内容?很难看出MSI必须使用SQL Server 2008,并且没有存储过程,也没有SQL Server 2012的区别。我认为正确的解决方案是使用扩展事件和listenon sqlserver.sql_语句开始进行日志记录。它就像一个解决方案,在日志记录方面有开销,但可以完成这项工作。如果/当更改为SQL Server时,我将使用审核2012@HansClausen-与您的用户可以在您的服务器上运行任意查询这一事实相比,日志记录的开销很小,这可能会使服务器崩溃。不可能,用户可以访问所有数据库表,以生成他们想要的查询。