SQL Server 基表

meh*_*tfi 4 sql sql-server sql-server-2012

我使用 SQL Server 2012。

如何从sql server系统基表中进行选择,如下表。

  • sys.sysschobjs
  • sys.sysbinobjs
  • sys.sysclsobjs

当我从基本系统表获取查询时,例如下面的查询。得到以下错误。

select * from sys.sysschobjs


Msg 208, Level 16, State 1, Line 1
Invalid object name 'sys.sysschobjs'.
Run Code Online (Sandbox Code Playgroud)

Rah*_*hul 5

要查询该系统基表需要Dedicated Administrator Console (DAC).

首先,使用 DAC 连接到您的数据库。要从 SQL Server Management Studio 执行此操作,请转至文件 -> 新建 -> 数据库引擎查询。将 ADMIN: 放在您的实例名称前面,然后单击连接。

使用以下命令更改您的数据库USE [mydb]

现在您可以查询

select * from sys.sysschobjs
Run Code Online (Sandbox Code Playgroud)

有关此内容的更多信息,请参阅这篇文章:

http://www.hackingsqlserver.com/

https://sqlblog.org/2011/11/08/t-sql-tuesday-24-dude-wheres-the-rest-of-my-procedure


小智 5

如果您使用“数据库引擎查询”​​和管理员用户,这是可行的。为此,在打开 SQL Management Studio 后:单击“文件”菜单、“新建”子菜单,然后选择“数据库引擎查询”​​。在服务器名称中,在服务器名称之前写入“ Admin: ”(例如,如果您的服务器名称是“ localhost ”,则要写入的完整服务器名称是“ admin:localhost ”),然后写入您的凭据(用于管理帐户)。

注意:确保除了您之外没有其他管理员登录到数据库引擎查询(我相信它是单个访问点)

了解更多信息:

http://technet.microsoft.com/en-us/library/ms178068(v=sql.105).aspx

http://zarez.net/?p=774