安装数据库

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。
2022-09-16T08:12:02.png
32位下载sqlservr32.rar,64位下载sqlservr64.rar。(见最后链接)
2022-09-16T08:11:25.png
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
2022-09-16T08:53:58.png
5.安装完SP4补丁,SQL Server的安装就完成了。

必须开放防火墙数据库端口 1433
SQL Server 配置管理器 修改
2022-09-16T11:02:04.png
2022-09-16T10:58:41.png
2022-09-16T10:59:25.png
2022-09-16T11:00:17.png
2022-09-16T11:00:53.png

备份数据库

  • 备份数据库并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
    
最后修改:2022 年 10 月 26 日
如果觉得我的文章对你有用,请随意赞赏