您的位置:首页 > 数据库

T_sql语句断开指定数据库的所有链接

2010-12-22 14:20 330 查看
use master

go

create proc KillSpByDbName(@dbname
varchar(20))

as

begin

declare @sql
nvarchar(500),@temp varchar(1000)

declare @spid int

set
@sql='declare getspid cursor for

select spid from
sysprocesses where dbid=db_id('''+@dbname+''')'

exec (@sql)

open
getspid

fetch next from getspid into @spid

while
@@fetch_status <>-1

begin

set @temp='kill
'+rtrim(@spid)

exec(@temp)

fetch next from getspid into
@spid

end

close getspid

deallocate getspid

end

--举例使用,关闭数据库下的所有连接操作

Use master

Exec
KillSpByDbName '数据库名称'

关闭数据库,Kill所有连接

另外一个方法就是:自己
设计一个连接池 Connection Pool

关闭整个Pool就OK了

转自:http://zhidao.baidu.com
/question/102688192.html

private void button1_Click(object sender, EventArgs e)

{

string path = "d://database//students.bak";

string strsql = "backup database students to disk='" + path + "'";

SqlConnection conn = new
SqlConnection("server=.;database=students;integrated security=true");

SqlCommand cmd = new SqlCommand(strsql,conn);

conn.Open();

cmd.ExecuteNonQuery();

conn.Close();

MessageBox.Show("备份成功!");

}

private void button2_Click(object sender, EventArgs e)

{

//在这里添加断开数据连接的代码

string path =
"d://database//students.bak";

string strsql = "restore
database students from disk='" + path + "'";

SqlConnection conn = new SqlConnection("server=.;database=aaa;integrated
security=true");

SqlCommand cmd = new
SqlCommand(strsql, conn);

conn.Open();

cmd.ExecuteNonQuery();

conn.Close();

MessageBox.Show("恢复成功!");

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: