问题标签 [sp-msforeachdb]

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.

0 投票
1 回答
463 浏览

sql - SQL Server 2012 - 使用 sp_msforeachdb

我只想SELECT在某些特定数据库上运行语句。此查询返回数据库列表:

现在在所有这些返回的数据库上,我想运行一个简单的查询:

我怎么做?我在“IN(SELECT DISTINCT ...)”行中使用如下内容出现错误:

0 投票
1 回答
50 浏览

sql - TSQL - Averaging a result from sp_MSforeachdb

I have hundreds of databases on the same SQL server (SQL2012), they all have the same basic structure and I'm trying to get the average number of 'Contacts' our databases.

I can run a sp_MSforeachdb query that presents a list of how many contacts are in the contacts table, but I need to then average out the result. Any guidance on doing this.

This is the query I've got so far:

I appreciate it's likely fairly basic stuff, but I'm new here and I've googled the crap out of it and tried a lot of different suggestions from here and other places with no joy.

Any help would be appreciated.

0 投票
2 回答
1066 浏览

tsql - sp_MSForeachdb 插入声明的虚拟表问题

我在获取要插入@TBL2 表的信息时遇到问题。

我究竟做错了什么?

0 投票
1 回答
2342 浏览

sql-server - SQL Server Sp_msforeachdb 查询字符限制

最近我写了一个比我通常写的更大的查询,并且使用Sp_msforeachdb. 此查询针对 SQL Server 实例中的每个数据库运行。此外,如果我把它变小,查询就可以工作,而且我注意到它的Sp_msforeachdb字符限制为 2000 个字符。

我试图将它首先放在变量 nvarchar、varchar 中,但没有任何运气。

那么有没有办法增加这个限制并执行我的完整查询?

0 投票
1 回答
415 浏览

sql-server - 使用 Temp Table 合并来自不同数据库的查询结果

我需要将不同数据库中的数据提取到一个表中。这些数据库都在同一个服务器和实例中,并且它们具有相同的结构。其中一列是数据库名称,其他列来自同一个表。

我可以编写一个查询,使用每个数据库的表来提取这些数据,但我想将所有结果合并到一个表中。

我尝试使用临时表来保存单个结果,但结果是一个空表。似乎每次查询后都会清空表#tmpTable。我在这里发布我的尝试:

实际的查询更复杂,它使用 PIVOT 和其他命令,但我认为如果有人知道如何获得想要的结果,这个例子就足够了。

0 投票
1 回答
407 浏览

sql-server-2008 - 我应该如何正确使用 sp_msforeachDB 创建和删除备份

我正在设置一种在内部环境中创建和删除备份的新方法。服务器上的空间是一个大问题,所以我真的必须找到一种方法来进行备份并从程序上删除每个数据库的旧版本。

我想出了使用 sp_MSforeachdb 的想法并简单地进行备份。成功后,它将删除前一天完成的旧备份。(我们每晚进行 1 次备份)。

我期待做Select @Command实际上会向我展示一些东西,但它是无效的。当我运行它时,它只是写“命令已成功完成”。一秒钟之内,这没有任何意义。

0 投票
1 回答
83 浏览

sql-server - 如何从 sp_MSforeachdb 中排除 tempdb?

下面我有一个代码来获取有关服务器中每个数据库的 t-log 备份的信息。我想从这个列表中排除 tempdb。

我试着写 'IF ''?'' NOT IN (''tempdb'') SELECT.......' 但只有一个数据库的所有结果都是相同的。然后我尝试编写 AND sysdb.name <> ''tempdb'''' 但它给出了一个错误:

0 投票
1 回答
10 浏览

sql-server - 服务端所有数据库中表的引用

我想在特定服务器的所有数据库中找到特定表的引用。示例:我的查询窗口为DB1数据库打开并执行查询为:
exec sp_depends 'dbo.table1'它只返回数据库对象(如数据库DB1的(过程、函数、触发器))中表table1
的所有引用,但我想知道同一服务器上所有其他数据库中表的引用,而无需每次都进入特定的数据库查询窗口并运行查询。

exec sp_depends 'dbo.table1'
我为所有数据库尝试了以下语句,但没有成功:

声明@command varchar(1000)

选择@command = '使用?exec sp_depends ''dbo.table1'''

执行 sp_MSforeachdb @command

0 投票
2 回答
404 浏览

sql - 在 SQL Server 2016 中使用 sp_MSForEachDB 的列名无效

我正在尝试使用 sp_MSForEachDB 查询位于同一 SQL Server 实例上的多个数据库。

有 8 个数据库具有表 man_days 和名为 servicetype 的列。我已经手动验证了所有 8 个表都是相同的。

运行以下查询时,我收到错误消息Invalid column name 'servicetype'

结果集符合预期,但错误不断出现。我究竟做错了什么?

编辑...如果我更改代码以查询所有列,如下面的代码所示,它可以正常工作。或者,如果我将其更改为查询该表中的其他单列,则它可以正常工作。只有当我尝试选择那一列时它才会失败

[ 结果集] [1]错误信息

0 投票
0 回答
9 浏览

sp-msforeachdb - 使用 sp_MSForEachDB 更新所有数据库中的一个表

我查看了有关使用 sp_MSForEachDB 的所有线程,但没有发现任何有关更新的信息。我的问题是我正在运行 sp_MSForEachDB 以根据某些条件将信息拉入 Temp 表中。现在我想使用相同的命令根据我的临时表中的数据更新服务器上所有数据库中的一个表。我不断收到相同的错误无效的对象名称'UserAccount'。尽管所有数据库都具有相同的确切格式和相同的表。我使用我的 Select 语句从同一个表中提取数据,但它不允许我更新。有什么建议么。TIA