04 powershell读写数据库操作

一、模式1:通过平台update进行数据库操作

1、PS语法:

$Cmd="D:\JenkinsWS\Tools\build\build\UpdateMAP.exe"   #平台的sql执行命令
echo "********************* Start:创建数据库 ******************************* " 
echo ">>>> 创建数据库"
&"$Cmd" -r $ENV:PackagePath\CreateDbSQL_ALL\sql -db $ENV:sqlCmd -env "2" 
 -p "false" -exesql "true"      #平台执行sql命令,参数格式;
If (!$?){
 "ERROR!SQL执行存在错误!";
 exit 1;
 break;
};
"SQL执行成功!"
  echo "********************** END  ************************************************ "

2、SQL

use master   
go    
--杀掉数据库进程
declare @dbname sysname   
set @dbname = '730Core_CB' --这个是要删除的数据库库名   
      
declare @s nvarchar(1000)   
declare tb cursor local  
for 
    select s = 'kill   ' + cast(spid as varchar) 
    from   master.dbo.sysprocesses 
    where  dbid = DB_ID(@dbname)   
      
open   tb     
fetch   next   from   tb   into   @s   
while @@fetch_status = 0 
begin 
    exec (@s)  
    fetch next from tb into @s 
end   
close   tb   
deallocate   tb   

if db_id('730Core_CB') Is Not NULL
	Drop database [730Core_CB]
Go
create database [730Core_CB]
on  primary -- 默认就属于primary文件组,可省略
(
/*--数据文件的具体描述--*/
 name='730Core_CB',-- 主数据文件的逻辑名称
 filename='D:\Test\730Core_CB.mdf',-- 主数据文件的物理名称
 size=5mb, --主数据文件的初始大小
 filegrowth=300mb--主数据文件的增长率
)
log on
(
/*--日志文件的具体描述,各参数含义同上--*/
 name='730Core_CB_log',
 filename='D:\Test\730Core_CB_log.ldf',
 size=2mb,
 filegrowth=300mb
)

二、模式2:PS直接执行SQL

0、执行Invoke-Sqlcmd之前要先注册,执行如下语句:不同的SQLServer版本后面的命令不同,下面是SQLServer2008R2版本

1  Add-PSSnapin SqlServerCmdletSnapin100
2  Add-PSSnapin SqlServerProviderSnapin100

1、语法:

Invoke-Sqlcmd -ServerInstance "实例名" -Database "数据库名" -Query "SQL"
-Username "用户名" -Password "密码" -Verbose 

2、实例:

#查询所有子系统
$ListApp = Invoke-Sqlcmd -ServerInstance "WIN-624RF20AQJM\SQL2008R22" 
-Database "dotnet_erp60" 
-Query "SELECT Application FROM dbo.myApplication WHERE ApplicationName
 NOT IN('ERP600','数据服务中心','电子签章','工程量清单集成系统') ORDER BY 
 Application" -Username "sa" -Password "95938" -Verbose 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值