SQLServer,MSSQL 批量执行数据库脚本、批量执行SQL 多个数据库同时执行脚本、同步执行SQL 同步数据库表结构、

解决分库多租户系统同步表创建修改

多租户系统,一样的库要执行同一个脚本

1.打开数据库管理工具选择【视图】--【已注册的服务】

2.新建一个服务器组 如下图

3.选择新建的服务组,右击选中新建服务器注册

4.在连接属性输入数据库名称,测试保存就OK了 

5.选择新增的服务组新建查询执行脚本就可以同步执行了

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Linux 上批量导出 SqlServer 数据库中的存储过程,可以通过以下步骤实现: 1. 安装 mssql-tools,它包含了 sqlcmd 工具,可以用于执行 T-SQL 命令。可以通过以下命令安装 mssql-tools: ``` curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/msprod.repo sudo yum update sudo yum install mssql-tools unixODBC-devel ``` 2. 创建一个包含所有存储过程名称的脚本(例如,sp_list.sql),内容如下: ``` SELECT name FROM sys.objects WHERE type = 'P' ORDER BY name ``` 3. 导出存储过程,可以使用以下命令: ``` cat sp_list.sql | sqlcmd -S <server_name> -U <user_name> -P <password> -d <database_name> -h-1 -s"," -W -k1 > procedures.csv ``` 其中,<server_name> 是 SqlServer 服务器名称;<user_name> 和 <password> 是连接 SqlServer 的用户名和密码;<database_name> 是要导出存储过程的数据库名称。 该命令将执行 sp_list.sql 脚本,获取存储过程名称列,并将结果输出到 procedures.csv 文件中,每个存储过程名称占一行。 4. 执行以下命令,批量导出存储过程: ``` while read line; do sqlcmd -S <server_name> -U <user_name> -P <password> -d <database_name> -Q "sp_helptext '$line'" | iconv -t utf-8 | sed "s/^CREATE PROCEDURE/USE <database_name> GO CREATE PROCEDURE/g" >> procedures.sql; done < procedures.csv ``` 该命令将逐行读取 procedures.csv 文件中的存储过程名称,并使用 sqlcmd 命令获取每个存储过程的定义。然后,将每个存储过程的定义输出到 procedures.sql 文件中。 注意:该命令假设存储过程名称中不包含特殊字符。如果存储过程名称中包含特殊字符(例如空格、括号等),需要在脚本中进行处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值