安装数据库
sql2005 express的数据库 虽然免费对于数据库大小有限制 不建议生产环境使用
由于数据库还需要安装2005 在2012下安装比较麻烦,首先要安装.net framework3.5 这个需要在服务器管理器中添加角色功能,4个下一步,然后勾选.net 3.5
安装sql 2005 ,建议全勾选了,如果不选Notification Services
,无法自动备份。其他安装方法就不赘述了,可自行百度。
1。安装到SqlServer服务的时候提示启动服务失败。此时,不要取消安装!!什么都不要动!!下载这两个附件,里面是SP4(2005.90.5000.0)版本的sqlservr.exe和sqlos.dll。
32位下载sqlservr32.rar,64位下载sqlservr64.rar。(见最后链接)
2.<数据库路径>\binn,先备份下sqlservr.exe,然后把解压后的 sqlservr.exe和sqlos.dll复制到里面覆盖原文件,例如“C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn”。 也可能是MSSQL.2下面,自己找一下。
3.点击“重试”,会安装继续到完成。
4.装完之后,停止SQL Server服务。把所有关于sql server的服务全部停止,把备份的sqlservr.exe文件还原回去(否则SP4安装程序以为你已经应用过SP4),然后立即打上SP4。(在此之前不要运行SQL任何软件)
两个补丁链接:http://pan.baidu.com/s/1gfd0cvD 密码:m70m
5.安装完SP4补丁,SQL Server的安装就完成了。
必须开放防火墙数据库端口 1433
SQL Server 配置管理器 修改
备份数据库
备份数据库并Rar压缩
@ECHO ON set d=%date:~0,10% set d=%d:-=% set t=%time:~0,8% set t=%t::=% set stamp=%p%%d%%t% set bakupfolder=D:\backup\ rem 1按子目录保存备份文件;0不按 set lay_in_subfolder=1 call :backupone foo call :backupone foo2 call :backupone foo3 call :backupone foo4 goto :EOF @ECHO OFF :backupone setlocal echo %1 set dbname=%1 if not exist %bakupfolder%%dbname% mkdir %bakupfolder%%dbname% if %lay_in_subfolder%==1 ( set subfolder=%dbname%\ )else set subfolder= rem echo %bakupfolder%%subfolder%%dbname%%stamp%.bak sqlcmd -U sa -P "sa" -S localhost -Q "backup database %dbname% to disk='%bakupfolder%%subfolder%%dbname%%stamp%.bak'" "C:\Program Files\WinRAR\RAR.exe" a -ep1 -r -o+ -m5 -s -df "%bakupfolder%%subfolder%%dbname%%stamp%".rar "%bakupfolder%%subfolder%%dbname%%stamp%.bak" forfiles /p "%bakupfolder%%dbname%" /s /m *.* /d -100 /c "cmd /c del @path" endlocal&goto :EOF
备份数据库(不需要密码)
1.创建一个sql文件,在里面写入以下代码:USE Master GO declare @str varchar(100) set @str='D:\sqlserver14backup\CDB\'+replace(replace(replace(convert(varchar,getdate(),20),'-',''),' ',''),':','')+'.bak' BACKUP DATABASE [CDB] TO DISK=@str WITH RETAINDAYS=15,NOFORMAT,NOINIT, NAME=N'完整备份',SKIP,NOREWIND, NOUNLOAD,STATS=10 GO
2.写bat文件调用sql文件,创建一个bat文件,在里面加入以下代码:
@echo off @sqlcmd -i d:\backupsql\CDBbackup.sql rem:删除七天前的备份文件 forfiles /p "D:\sqlserver14backup\CDB" /s /m *.* /d -7 /c "cmd /c del @path" @pause
复制压缩备份
::文件不存在.要先建立,防止被误删除.导致备份失败 @echo off SET SourceFile=C:\inetpub\wwwroot\Runtime\mysql_bak_rar\ if not exist %SourceFile% ( md %SourceFile% ) ::因为有些数据库文件在运行中,没法直接打包.所以需要先复制副本从upload复制到upload1中 copy D:\phpstudy_pro\upload\*.* D:\phpstudy_pro\upload1\ ::打包副本 ibck 表示文件名用当日的时间命名 "C:\Program Files\WinRAR\WinRAR.exe" a -ag -ibck "D:\phpstudy_pro\upload2\bak.rar" "D:\phpstudy_pro\upload1" ::pause ::删除复制过来的副本 del /f /s /q D:\phpstudy_pro\upload1\*.* ::删除超过7天的备份,注意,\mysql_bak_rar这个表示文件夹,后面不要加斜线, forfiles /p "C:\mysql_bak_rar" /s /m *.* /d -7 /c "cmd /c del @path" ::pause