当前位置: 代码迷 >> Sql Server >> sql server 20005 dos 备份操作等命令解决思路
  详细解决方案

sql server 20005 dos 备份操作等命令解决思路

热度:400   发布时间:2016-04-27 14:27:38.0
sql server 20005 dos 备份操作等命令
sql server 20005 dos 备份操作等命令 就资料详细点

------解决方案--------------------
exec sp_addumpdevice‘设备类型’,‘指定备份设备的逻辑名称,‘指定备份设备的物理名称’例:exec sp_addumpdevice 'disk','含笑工作室','J:\ databasebak\含笑工作室.bak'
------解决方案--------------------
进入安全模式或dos后(建议安全模式,因为路径名称太长)找到sqlserver安装是指定的数据目录,如果你没又修改过一般是在c:或d:即c:\Program Files\Microsoft SQL Server\MSSQL\Data 或 D:\Program Files\Microsoft SQL Server\MSSQL\Data(没有的话自己加油去别的地找找)。对于每一个数据库都对应两个文件,.mdf为数据文件.ldf为日志文件,把你想备份的数据库文件(两个都要哦)考走就ok了。把操作系统ok了之后,将文件考回,然后在sql的企业管理器中用那条“附加数据库”选项就能将数据回复了。

------解决方案--------------------
SQL code
1 制作批处理文件将下面的源代码保存为(文件名.bat),标注为蓝色的需要根据个人环境来改变::文件名:SQLServer2000数据库自动备份.bat ::作者:Feng   创建日期:2008-11-27 ::功能:将数据库备份导出到以当前日期和时间命名的文件中,并保存到该月的文件夹下。 ::注意:脚本在windows 2003中文版操作系统下测试可用,其他环境下请先测试是否可用。 ::测试:在运行前,请先在DOS命令行中键入echo %date%%time%,查看日期格式,如果是“yyyy-mm-dd 星期N 时:分:秒.厘秒”,例如“2008-11-26 星期三08:30:43.90”,则可用 ::--------------------------设置变量 ::服务器名 @set ServerName=. ::登陆用户名 @set LoginUser=sa ::登陆密码 @set LoginPwd=sa ::数据库名 @set DataBaseName=backupBasedata ::ISQL的路径,这个需要配置到系统环境变量中去(我的电脑属性-高级-环境变量-系统环境变量-path值后面添加sql工具的路径,如C:\Program Files\Microsoft SQL Server\80\Tools\BINN) ::@set ISQLPath=C:\Program Files\Microsoft SQL Server\80\Tools\Binn ::设置保存的绝对路径 @set SavePath=G:\11 ::根据当前的日期时间,生成备份的文件名。格式可以自己改 @set FileName=bak-[%date:~0,10%-%time:~0,2%-%time:~3,2%-%time:~6,2%.%time:~9,2%]-bak.bak ::生成当月的文件夹名 @set DirName=%date:~0,7% ::备份数据库语句 @set ExecSQL="backup database %DataBaseName% to disk='%SavePath%\%DirName%\%FileName%'" ::-------------------------创建文件夹 ::每月1号创建新的文件夹 @if %date:~8,2%==01 (md %SavePath%\%DirName%) ::如果没有本月文件夹(初次运行时如果不是1号),则创建本月文件夹 @if not exist %SavePath%\%DirName% (md %SavePath%\%DirName%) ::-------------------------备份数据 ::开始执行导出 @echo 开始备份数据 isql -U %LoginUser% -P %LoginPwd% -S %ServerName% -d %DataBaseName% -Q %ExecSQL% ::-------------------------完成备份 @echo 数据备份成功 ::如果需要让客户确认,请去掉下面代码前面的::注释符。 ::@pause 2  添加windows计划任务控制面板--任务计划--添加任务计划定期执行这个批处理文件或者手动双击执行该批处理文件,来实现数据库的备份
------解决方案--------------------
我承认我是被标题骗进来的
顺便说明一下 别把dos和命令行方式混淆,其实从2000开始就不存在dos了严格的说
如果脱离windows什么也别谈了,就copy xcopy等,参考楼上的
命令行下的操作方式就多了
------解决方案--------------------
为何不用sql job或维护计划进行备份呢,
一定要dos方式吗?

可以把备份命令写成存储过程, 
然后再dos下用sqlcmd连进sql server,
然后执行 exec [存储过程名]
------解决方案--------------------
dos 方式那是 7.0以前的事情了,现在很少直接用命令行方式去运行这些东西,除非你是入侵者.

其实备份最好还是通过界面进行,当然也可以写语句由服务器处理或创建作业定时运行,但这与命令行方式可不是一回事.
------解决方案--------------------
我回去给你找 我有现成的代码 是成功的 不过今天忘带了
------解决方案--------------------
你直接在数据库里面写有时候会挂掉的 放在后台 有个专门的类的
------解决方案--------------------
还有还原的是吗
  相关解决方案