如何访问SQL Server Management Studio中的所有数据库?

本文关键字:Studio 数据库 Management Server 何访问 访问 SQL | 更新日期: 2023-09-27 17:54:30

我正在研究一个查询编辑器,其中用户输入SQL查询,并在代码后面将此查询传递给SqlCommand并执行它并将结果显示给用户。

但是有一个问题:我如何访问用户创建的SQL Server中的所有数据库?如何设置initial catalog=访问SQL Server中的所有数据库,以便用户输入任何查询,然后它将对所有这些数据库执行。

例如:

use db_compiler 
select * from std
use student 
select * from student

如何访问SQL Server Management Studio中的所有数据库?

所以我要说的是——你要求做的事情根本就是个坏主意。SQL注入是许多其他事情中值得关注的问题。

然而,如果你想要一个数据库列表来设置初始目录,看看这个问题的答案:SQL Server查询所有当前数据库名称

您不需要设置initial catalog以便能够访问其他数据库。

访问其他数据库的能力取决于登录者的权限。如果登录者能够具有访问其他数据库的权限,则可以使用3部分命名约定对其进行访问。

例如,即使初始目录是DB1,它也将访问DB2 中的TABLE3。
SELECT *
FROM   [DB2].[SCHEMA].[TABLE3]

例如,不用

use db_compiler 
select * from std

你可以

select * 
from   db_compiler.dbo.std