问题标签 [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.
sql-server - 对所有数据库中的所有表运行操作
我正在尝试创建一个 SQL Server 脚本,该脚本将一些操作应用于所有数据库中的所有表。如果遵守某些条件,我需要重命名一些表,否则截断表。
这是我的脚本
我遇到了一些错误,但我是 SQL Server 的新手,我不知道如何修复这个脚本。
有什么建议么?
非常感谢
sql-server-2008 - 使用 sp_MSforeachdb 在数据库中“循环”并返回 1 个数据集
所以,我一直在努力解决我在好友网站上找到的代码:
我想在一个输出中生成数据库级别安全性、角色和显式权限语句,这样我就不会一遍又一遍地复制和粘贴,以便它们为服务器上的所有数据库运行(当然要减去 tempdb)。
如何使用表变量、临时表等修改我所拥有的,按原样工作但不方便,以便所有语句都在一个数据集中?
sql-server - 如何省略系统数据库并允许 SQL Server 2008 代理作业超过 ERROR_NUMBER 208?
我创建了一个针对服务器上所有数据库运行的 SQL Server 2008 代理作业。我正在使用未记录的 MS 程序,sp_MSforEachDB
. 我只指定要处理的某些数据库,当找到这些数据库时,如果ERROR_NUMBER = 208
,我想创建一个表并处理以继续到下一个数据库。我还想省略系统数据库,这样表格就不会在系统数据库中创建。我虽然通过指定要处理的数据库的名称,但可以创建一个不存在的表。如果在特定数据库上设置了“焦点”,我在下面显示的代码有效。此外,当我运行它时,我在主数据库中创建了一个表,我不想这样做。我试图用我创建的代码做的是: 1. 选择 SQL 服务器上名称为“xyz_%”的所有数据库 2. 如果表“SESSIONS”存在,则删除所有早于 5 分钟的记录 3. 如果表“SESSIONS”不存在,然后创建它并继续处理 - 这就是我得到的地方208 error - invalid object because this table does not exist
当作业发现没有 Sessions 表时,作业停止并且不处理其他数据库。我需要处理 1 中的所有命名数据库。如果 SESSIONS 表不存在,我会收到一个 208 错误,提示“无效的对象名称'master.SchemaName.sessions'。如果我将'焦点'设置为没有会话表的数据库,我的代码将运行并创建表但我仍然收到错误 208 - Invalid object name 'master.SchemaName.sessions'。没有显示其他错误。
如果有人可以查看我的代码以了解我的问题出在哪里,那就太好了。
我已通过使用下面的 Try Catch 验证我收到了 208 错误。我在第二次尝试 Catch 时也收到错误 2760,表示指定的架构不存在或我无权访问。我是这台服务器的管理员。
我已经使用 SQL 几年了,我不认为自己是专家。我已经在 Google 上对此进行了研究,以得出下面的代码。任何帮助,将不胜感激。
java - 在 Java 应用程序中执行“sp_msforeachdb”
嗨 StackOverflow 社区 :)
我来找你分享我的一个问题......
我必须提取SQL Server 实例的每个数据库中每个表的列表,我发现了这个查询:
它在 Microsoft SQL Server Management Studio 上完美运行,但是当我尝试在我的 Java 程序(包括 SQL Server 的 JDBC 驱动程序)中执行它时,它说它不返回任何结果。
我的 Java 代码如下:
感谢任何愿意帮助我的人, 祝你有美好的一天:)
编辑 1:
我不确定 SQL Server 的 JDBC 驱动程序是否支持我的查询,所以我将尝试以另一种方式实现我的目标。
我想要得到的是SQL Server 实例上每个数据库的所有表的列表,输出格式如下:
所以现在我问有人可以帮助我通过 Java 的 JDBC for SQL Server driver 使用 SQL 查询来获得该解决方案。
我还要感谢Tim Lehner和Mark Rotteveel给我的快速答复。
powershell - 数据集中的 sp_msforeachdb
有人能告诉我为什么下面的代码只从 DataSet(用于主数据库)返回一行,而不是为服务器上的每个数据库返回一行吗?
sql-server - 如何在 sp_MSforeachdb 中指定 TABLE_SCHEMA 名称以使数据库脱机
我需要搜索具有特定前缀的某些数据库。找到这些数据库后,我需要检查某个模式是否存在以及是否不存在 - 使数据库脱机。我一直在尝试在 Google 上找到的各种建议,但没有任何效果。我有一个无法克服的错误。错误是“XYZ”不是一个公认的选项。如果我分离出代码,它运行良好,但是当我添加 sp_MSforeachdb 时,错误返回。
此代码工作正常:
sql - 使用 sp_MSforeachdb 在所有数据库上使用 sp_helprotect
任何人都可以使用 sp_MSforeachdb 转换以下 SQL 查询吗?我正在使用 SQL Server 2005 SP4。谢谢!
sql - Running a Stored Procedure on All Databases, and Saving All Results Into A Table
I'm trying to create a query in which I cycle through all the databases in a server, run a stored procedure on it, and save it to a results table.
This is what I have thus far:
What I'm hoping to accomplish from this code is to run the IC_PURCHASEORDER stored procedure over all of the databases in the server, and record the result of that into the created results table. After that, I would be able to e-mail those results off to a supervisor, and then drop the table, but that's a job for another day. I know there exists a syntax error in the IF statement, that results in the following error
Would it be possible to get some insight to what I'm trying to accomplish? Thanks!
sql - SQL 遍历所有表
我正在运行以下代码以从具有特定列的所有表中提取所有相关行。外部IF
应该检查该列是否存在于该迭代的表中。如果不是,它应该完成该迭代并移动到下一个表。如果表有该GCRecord
列,那么它应该检查该表是否会返回任何记录。如果没有要返回的记录,它应该结束该迭代并移动到下一个表。如果有记录,它应该在 SSMS 中显示它们。
它似乎有效,因为 SSMS 只返回具有有效条目的网格。我不明白的是:为什么我仍然收到这些错误?
编辑
使用建议后,我有这个:
返回此错误:
指的是这条线
更新
EXEC
我尝试了不起作用的嵌套语句,但使用选定的答案我得到了我正在寻找的结果而没有错误。
sql-server - 如何在同一个查询中同时使用 sp_msforeachtable 和 sp_msforeachdb?
有没有办法引用在“sp_msforeachdb”循环内运行的“sp_MSforeachtable”循环内的表?
例如,在以下查询中,“?” 总是引用数据库:
导致:
我想要类似的东西:
我应该改变什么?
解决了。按照 Sean 的建议,我使用了我的 ow 光标。但是 Ben Thul 建议的 @replacechar 解决方案正是我想要的。