【问题标题】:Azure SQL TempDB Temporary Table ownerAzure SQL TempDB 临时表所有者
【发布时间】:2022-01-07 15:41:10
【问题描述】:

在 Azure SQL 中,我可以使用查询来查询当前存在的临时表 -

从 tempdb.sys.tables 中选择 *;

但是,我无法找到创建这些的人。当然必须有一种简单的方法来找出是谁创建了这些临时表!有一些链接可以提供建议,但所有这些都适用于 SQL Server,而不是 Azure SQL。

【问题讨论】:

    标签: azure azure-sql-database tempdb


    【解决方案1】:

    权限

    任何用户都可以在 tempdb 中创建临时对象。用户可以 只能访问他们自己的对象,除非他们收到额外的 权限。可以撤销对 tempdb 的连接权限 防止用户使用 tempdb。我们不推荐它,因为 一些日常操作需要使用 tempdb。

    tempdb 系统数据库是一个全局资源,可供连接到 SQL Server 实例或连接到 Azure SQL 数据库的所有用户使用。

    默认情况下,服务器管理员、数据库所有者或具有所需权限的用户可以访问 tempdb 的表。

    tempdb database 上的这篇官方文章与 Azure SQL 数据库有关。请仔细阅读以获取更多详细信息和更好的理解。

    【讨论】:

    • 我的问题是如何找到创建了以#和##开头的本地和全局临时表的人,这些临时表在上述查询中可见,但所有者列不存在。
    • 没有 tempdb 的所有者名称。 tempdb 都是关于数据库元数据的,与所有者/用户没有关系。每次启动 SQL Server 时都会重新创建tempdb,以便系统始终以干净的数据库副本启动。临时表和存储过程在断开连接时会自动删除,并且在系统关闭时没有任何连接处于活动状态。
    • UtkarshPal-MT 谢谢。但是您没有正确阅读我的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-16
    • 1970-01-01
    • 1970-01-01
    • 2011-04-10
    • 1970-01-01
    相关资源
    最近更新 更多