当前位置: 首页 > 知识库问答 >
问题:

将T-SQL过程发布到多个数据库

呼延聪
2023-03-14

我有一组SQL Server批处理过程,所有这些过程都需要安装并定期执行,它们都具有以下结构:

使用

如果存在(SELECT*Fromsys.objectsWHEREobject_id=OBJECT_ID(N")AND type in(N'P', N'PC'))DROP PROCEDURE[dbo].[]GO

创建过程

作为

开始

结束

我正在寻找一种方法来运行每个.sql文件一次,以便在所有数据库上安装它。这些过程很长,因此用单独的使用语句多次重新复制它们是不实际的,也很难维护。

我尝试在sys上使用光标。数据库使用@DB_Name,但这不起作用,因为USE不接受参数,并且创建过程需要是块中的第一条语句。

任何帮助或指导将不胜感激。

因此,为了每个人的利益,我最终使用了WrathOfKhan的解决方案。

  1. 已创建空白结果.log文件。
  2. 创建创建过程.蝙蝠文件,如下所示:

@echo off

REM第一个文件包含创建相关表的DDL等。REM所有后续文件都是我的程序。省略U和P开关,REM因为此文件从许可帐户运行。

sqlcmd -b -S %1 -d %2 -i 文件1.sql

  1. 创造PublishAll.bat

CreateProcs DBServerName Database1
CreateProcs DBServerName Database2
CreateProcs DBServerName Database3

希望这有帮助。


共有1个答案

宇文兴言
2023-03-14

只需编写不使用的脚本,然后使用SqlCmd运行它,并使用-d标志指定数据库。(http://msdn.microsoft.com/en-us/library/ms162773.aspx)

sqlcmd -U username -P password -d db1 -i myscript.sql
sqlcmd -U username -P password -d db2 -i myscript.sql
sqlcmd -U username -P password -d db3 -i myscript.sql
sqlcmd -U username -P password -d db4 -i myscript.sql
 类似资料:
  • 问题内容: 我们正在将其中一台服务器从SQL Server 2005迁移到SQL Server2008。该服务器上大约有50个小型数据库。 我们采用的迁移路径如下: 使用SQL 2008创建新服务器 关闭旧服务器上的SQL Services并将数据库复制到新服务器 关闭旧服务器,然后将新服务器重命名为与旧服务器相同的名称。 附加50个数据库 有没有使用t-sql将50个数据库附加到新服务器的快速方

  • 问题内容: 是否可以将数据发布到JsonP?还是所有数据都必须作为GET请求传递到查询字符串中? 我有很多数据需要跨域发送到服务,并且太大,无法通过查询字符串发送 解决这个问题有哪些选择? 问题答案: 由于同一个原始策略的(相当明智的)限制,因此无法与另一个域上的服务进行异步。JSON- P之所以起作用,是因为允许您将标签插入DOM,并且它们可以指向任何地方。 当然,您可以使用常规形式的POST来

  • 我正在尝试将数据发布到 GA 中,但我收到索引错误 连接正在工作,因为我得到响应 200,但 for 循环似乎有问题,它从我的数据帧中发布所有行。有人可以帮助我吗?谢谢! 错误: IndexingError Traceback(最近的调用最后)在4'pa':"购买",5'tid':"xxx", ---- ~\路径\lib\site-packages\pandas\core\indexing.py

  • 主要内容:示例Transact SQL 中的存储过程用于一次又一次地节省编写代码的时间。它通过将过程存储在数据库中并通过传递参数来获得所需的输出来实现这一点。 语法: 下面是存储过程创建的语法 - 参数可选:当我们创建一个过程时,一个或多个参数被传递到过程中。存储过程中有3种类型的参数: IN - 过程可以引用参数。该过程将覆盖参数的值。 OUT- 过程不能引用参数,但过程会覆盖参数值。 IN OUT- 参数被

  • 嘿, 我无法通过querystring将数据发布到action方法,action方法位于我的代码下面的控制器类中。 我键入一个url“http://localhost:53459/api/esb/post/test“发布价值,什么都不会发生 任何帮助都将不胜感激。

  • 我有一个简单的形式,我想转换成一个PHP后端系统。 现在,此表单有一个提交到URL的操作—URL仅在提交了名为的数据以及正确的信息(已编码的xml)时才接受邀请。 作品:-请注意,输入名称被称为和值包含的已经和它完美的工作。 但是,我希望通过在PHP中移动元素来实现以下目标,因为大量信息都是通过这种方式传递的。 请注意:链接是https,但它在本地不起作用,所以我不得不在CURL中禁用它。 我一直