sqlCmd下的备份还原执行sql脚本和事务等处理

SqlCmd -S ./SqlExpress

//备份等命令

 

      //控制单用户访问和多用户访问

      //USE [master]

      //GO

      //ALTER DATABASE [BidFileSell] SET  SINGLE_USER WITH ROLLBACK IMMEDIATE

      //ALTER DATABASE [BidFileSell] SET  MULTI_USER WITH NO_WAIT

      //GO

 

//备份恢复数据库

 

'说明,备份恢复数据库

SQLCMD -S ./sqlexpress -U sa -P 000000 -d master -Q"BACKUP DATABASE test to disk='c:

 

/aa/aaa.bak'"

SQLCMD -S ./sqlexpress -U sa -P 000000 -d master -Q"RESTORE DATABASE test from 

 

disk='c:/aa/aaa.bak'"

'说明 ,在D:下database文件夹,在database下建立data

sqlcmd -S ./sqlexpress -i c:/createtable.sql

'重复几次,5次

sqlcmd -S ./sqlexpress -i c:/createdata.sql

 

//运行sql

//存储过程

sp_help

sp_helptext

 

//列出字段

 SELECT Name FROM SysColumns WHERE id=Object_Id('TableName')

 

//切换数据库

  use databasename;

  go

//查看表

  select name from sys.tables;

 

 

create table bbb(id integer);

//测试事务

declare @v_c as integer;

set @v_c=1;

begin tran

while @v_c<50000

begin

insert into bbb(id) values(@v_c);

set @v_c=@v_c+1;

end

if @@error>0 

rollback tran

else

commit tran

go

 

 

 

//测试事务2

 

create table fff(id integer primary key);

 

declare @v_c as integer;

declare @e_c as integer;

set @e_c=0;

set @v_c=1;

begin tran

while @v_c<8

begin

insert into fff(id) values(1);

if @@error<>0 

 set @e_c=@e_c+1

set @v_c=@v_c+1;

end

if @e_c>0 

rollback tran

else

commit tran

go

 

//或者加return返回,这样写

 

declare @v_c as integer;

set @v_c=1;

begin tran

while @v_c<8

begin

insert into fff(id) values(1);

if @@error<>0 

begin

 rollback tran

 return 

end

set @v_c=@v_c+1;

end

commit tran

go

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值