问题标签 [system-tables]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - sys.filegroups 中的表属性“名称”在不需要时列为“主要”
我正在创建一个脚本来创建一个表。当表格有大对象列如varchar(max)
表格需要文字时TEXTIMAGE_ON [PRIMARY]
。
要确定文件组的名称,我使用系统表sys.filegroups
和列name
. 这将返回文件组的名称。在上面的例子中是PRIMARY
.
但是,我正在编写脚本的其中一个表具有以下值:PRIMARY
当表中没有 text、ntext、varchar(max) 等列时。因此,当脚本到达此表时,它会失败,因为TEXTIMAGE_ON
不允许除非你有一个大的对象列。
为什么系统表中sys.filegroups
的name
不是NULL
因为不应该设置TEXTIMAGE_ON?
这是我用来获取 TextImageOnFileGroup 属性的查询:
这返回
表ProviderState没有任何具有大对象的列,因此 TextImage_On 为 NULL。这是意料之中的。
表ProviderAttribute有一个varchar(max)
列,因此应该设置 TextImage_on 属性:
表ProviderSpecialty是问题所在。它设置了 TextImage_on 属性,但没有列可以保证这一点。
我正在使用系统表来创建创建这些表的脚本。如果表中的属性name
设置sys.filegroups
为PRIMARY
我添加到表脚本'TEXTIMAGE_ON [PRIMARY]`。
当我为此表运行脚本时,它会出错,因为除非有文本列、varchar(max) 等,否则不允许使用 TEXTIMAGE_ON 属性。
如果不需要,为什么要在系统表中设置属性?
sql - 查找存在特定用户及其角色的所有数据库
我有一个包含 1000 多个数据库的巨大实例。我需要找到一种方法来查询整个实例并找到包含特定用户以及该用户具有什么角色的数据库。我对用户是否是孤儿不感兴趣。我只想知道哪些数据库有这个用户,哪些没有。
假设我的用户称为 TestUser。不包含此用户的数据库应返回 NULL。
我想要以下格式的结果:
database - 访问 sys.dba_systems 需要授予哪些权限
我正在开发适用于 Oracle 的应用程序。对于某种逻辑,我需要从具有指定模式的给定 db 用户获取表列表。就我而言,我有一个用户已授予对给定架构的访问权限。因此,当我的代码使用给定的凭据创建连接并尝试从以下查询中获取表时,它的返回表列表。
SELECT * FROM dba_objects where owner ='schema' and object_type = 'TABLE'
上面的查询与授予所有权限的用户一起使用, 但是当我尝试使用有限权限时,它会抛出错误消息。
对于辅助用户,我们的代码从中创建连接已通过以下查询授予权限
我应该授予用户哪些权限以访问以下系统表...?
- dba_objects
- 用户约束
- user_cons_columns
- USER_TABLES
- all_tab_cols 并且还允许访问 dbms_metadata.get_dependent_ddl() 方法
mysql - 在 mysql 中重新创建一个 `mysql.user` 表
我发现我的mysql.user
表被弄乱了并drop table if exists mysql.user
用来删除它,我怎样才能手动创建这个特殊的表并将我的新帐户添加到它。
oracle - oracle 是否捕获为在表上运行的 SELECT 语句返回的行的 ROWID?
我们在由 PK(比如 id)标识的 Oracle(Exadata)表中有数据。我必须弄清楚哪些用户正在访问这个 Oracle 表中的哪些行。
- 我知道有办法让 Oracle 捕获有关“哪些用户访问了表”的信息。
- 在 v$segment_statistics 中还有 Oracle 捕获的段信息,但这并没有告诉我哪个用户正在访问哪些行。
- 但我正在寻找 Oracle 是否有办法捕获“哪些用户通过 SELECT 查询访问了哪个 rowid”。
我的管理员暗示 Oracle 无法捕获此信息。
logging - 如何在 Sybase 中查找表上次截断的时间?包含该信息的任何系统表
您好所有 Sybase 专家和编码员,
我有一个奇怪的要求,要找出我的数据库中的表上次被截断的时间?有没有办法找出使用sybase中的任何系统表。
如果上面的答案是否定的,那么有什么解决方案来实现这个吗?由于我们在 DML 语句级别有触发器,因此不确定在 Truncate 记录此执行时间的情况下这些触发器是否会派上用场。
我使用的是 Sybase 15.7 版本。
任何帮助都受到高度赞赏。
干杯,普拉尚特
sql - DB2 表的 UNIQUE INDEX 未显示在 TABCONST 和 CONSTDEP 表中
我正在尝试SYSCAT
使用下面的查询从表中查询某些用户表的唯一索引,该查询使用 4 个目录表(INDEXES
、、、、INDEXCOLUSE
)。我意识到所有索引都在and表中,但其中许多索引在 and 表中丢失。TABCONST
CONSTDEP
INDEXES
INDEXCOLUSE
TABCONST
CONSTDEP
是否有任何理由在TABCONST
和CONSTDEP
表中丢失数据?是否有一些程序可以刷新这些目录表中的数据?
笔记
编辑问题的标题:忘了说这完全是关于 UNIQUE 索引而不仅仅是索引!
sql-server - “INFORMATION_SCHEMA.TABLES”的脚本
我正在寻找 SQL Server 中名为“INFORMATION_SCHEMA.Tables”的系统视图的创建脚本。
我希望它能帮助我深入了解 SQL Server 的内部表结构,并确定 SQL Server 如何存储其内部数据。
sql - SQL Server 检查数据库视图中的所有列是否有特定的字符串值
我的雇主有一个第三方应用程序,它有一组非常复杂的斜命名视图。我正在尝试查找包含在应用程序 UI 中输入的特定数据的视图。
我有 SQL 来构建一个包含所有视图名称和列名称的 CTE ...
我想不通的是如何在每个视图中测试每个列(可以保存一个字符串值)以获取特定的字符串值。
这是我所做的开始,它不起作用,但会说明我正在尝试做的事情。请注意,它还缺少对要根据可以保存字符串值的内容进行检查的列的约束。
下面的另一个明显问题是我想评估列的值而不是值的列名。
sql-server - 以编程方式为用户定义的数据类型 (UDDT) 生成 DDL 语句
我正在尝试为tSQLt添加指向远程对象支持(PR)的伪造同义词。
为了能够模拟/伪造在表定义中具有用户定义系统类型的表,我需要生成用户定义数据类型 (UDDT) DDL 语句。
我对 UDDT 没有太多经验,如果 UDDT 与 UDDT 一样简单,我能想到的非常简单的场景是什么CREATE TYPE dbo.SomeType FROM INT
,但我知道它可能要复杂得多。
所以,问题是是否有人已经有了一些可行的解决方案,最好是通过系统对象使用 T-SQL 实现。在最坏的情况下,SQLCLR 将是唯一的其他选择。