使用批处理命令,删除、分离指定SQL数据库的方法。

使用批处理命令,删除、分离指定SQL数据库的方法。
想用批处理命令将数据库删除,而且不单是删除,还是分离。就是数据库内不再有这个数据库的信息。
这个操作用SQL的企业管理器可以做到,但是SQL的桌面版MDSE数据库是没有企业管理器的。想在MDSE中分离数据库就很麻烦了。

最好能达到这样的效果:
运行批处理文件,弹出个输入数据库名的提示,然后分离并删除D:\Program Files\Microsoft SQL Server\MSSQL\Data这个文件夹里的指定数据库的mdf文件和ldf文件。
我知道这个可以实现,但是不知道方法。用批处理不是很熟练。
注意,我不仅仅是删除数据库文件。因为删除文件,数据库内还是会有删除文件的信息,在有企业管理器的,就会在里面显示‘质疑’。我的意思是完全分离这个数据库并删除。

使用逆向思维来解决这个问题:
感觉你的这个问题可以使用sql中的变量来实现,
drop database @dataname
然后就是声明这个dataname了
declare @dataname varchar(10)
但是现在问题就是如何给变量@dataname赋值,你的意思是想象从控制台接收一个参数吧,然后实现删除数据库的效果吧
但是感觉数据库好像没有这样的功能,如果你有变成语言的基础,可以把数据库和变成语言结合起来的话,要实现这个效果的话,就非常的简单啦
我会java、c#不知道这两个语言你会不 如果你同意我的建议 你还是不会的话 你可以再联系我
但愿可以帮助你 谢谢
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-02
直接在批处理里面drop database DBNAME不就可以了么?追问

呃,具体怎么操作?

追答

sqlcmd
use master
go
drop database 你要删除的DB!

如何使用sqlcmd在批处理脚本中执行SQL?
使用sqlcmd可以在批处理脚本中执行SQL。虽然这个命令的参数很多,但幸运的是,我们不需要全部理解,在这里简要介绍以下几个:\\x0d\\x0a{ -U login_id [ -P password ] } | _E trusted connection }] 如果指定了-E就不需要指定用户名密码,当然指定了用户名密码就不用-E了;\\x0d\\x0a-S se...

请教批处理高手:怎么用批处理清空ACCESS数据库中的一个表?
使用 delete from 表名 sql语句可以删除指定表内的所有内容 也可以这样,使用 select * from 表名 然后执行 rs.execute("select * from 表名")rs.delete 这样也可以删除所有内容

sql数据库 通过批处理.bat来处理执行sql文件
应该还是在双击运行的时候缺少路径所致(python2.7好像也有这个问题)你试试在批处理中添加一下path变量:set path=%path%;x:\\xxx\\osql.exe或者使用osql.exe的时候直接使用全路径:"x:\\xxx\\osql.exe" -h -s xxxxxxx

sql数据库 通过批处理.bat来处理执行sql文件
应该还是在双击运行的时候缺少路径所致(python2.7好像也有这个问题)你试试在批处理中添加一下path变量:set path=%path%;x:\\xxx\\osql.exe或者使用osql.exe的时候直接使用全路径:"x:\\xxx\\osql.exe" -h -s xxxxxxx

批处理文件中如何运行当前目录下的sql
这是因为对于sqlplus这个命令来说,传入的文件名必须是全路径的,要不然无法识别。所以只需要用%~dp0取得当前批处理所在的路径,然后再加上文件名就可以了。以下是修改完的代码,你试试吧。如果还有问题,再问吧。sqlplus "budget\/budget" @"%~dp0run.sql"echo 数据库清理完毕!pause exit ...

SQL数据库 基本的操作语句(增、删、改、查)
delete from useInfo where useName = '大明' --根据姓名删除表里的信息。truncate table useInfo --把表里的所有信息都删了,而且把标志列的数清零。如果用delete删除表里的信息 则不会把标识列清零。select * from useInfo --查询useInfo表里的所有信息 * 表示所有 select 1 from useInfo ...

用批处理执行SQL文件的脚本应该怎么写
步骤:(1) 创建一个批处理文件:打开记事本,创建数据库连接信息(例如,server name,username,password,databasename等)以及要执行的*.sql脚本名称。具体语法参考下文"osql 实用工具" 。 将文件的扩展名改为.bat 并保存。示例1: 指定待执行sql 文件的相对路径 osql -S admin\\admin -U sa -P ...

迷你sql2000小型数据库v1.29绿色版
修正win10下查询分析器缺少动态库和语法高亮未激活的问题 增加了大容量数据的存取支持,增加bcp命令,允许在SQL中使用bcp命令进行大数据的导入导出 增加BULK INSERT、OPENROWSET这些数据批处理SQL命令的支持 修正查看我的表中编辑、删除用户视图、存储过程、用户函数时列表为空时的报错 在查看我的表中增加导出...

bat批处理命令 遍历 当前文件夹下(子文件夹的不管) 所有后缀名为sql的...
建议您所有.sql文件的最后都加上quit命令,要不然不在cmd环境下,批处理就不执行了。您把下面的批处理存为runsql.bat,放在的最上层文件夹中,双击运行即可。echo off for \/f "delims=" %%i in ('dir *.sql \/s \/b') do (sqlplus 账号\/密码@数据库名 @"%%i")您先试试看。

请教写过批处理文件的高手,怎么用bat文件调用另一台机器上的存储过程...
针对MSSQL数据库的存储过程,编写 .sql 文件,里面写上调用命令:exec 存储过程名字。然后bat文件 里面, 调用 sqlcmd 传入数据库服务器名(或IP地址)\/用户名\/密码\/ 需要执行的 sql 脚本文件名之类的信息。

相似回答