这套老项目的数据库脚本,我是真的用过很多次。每次重搭环境、迁移服务器,都要跟它打交道。很多人拿到压缩包,看见一堆
*.sql和一键安装.bat,其实心里是没底的:到底执行顺序怎样,哪些脚本是通用的,哪些是可删可改的?
网狐通用数据库脚本压缩包界面
下面就把我自己反复实测之后的用法写一下,当成一个简单的笔记。
脚本大致结构
常见的压缩包里,一般会有几类东西:
- 数据库结构脚本:创建库、表、索引、存储过程
- 初始化数据脚本:基础配置、测试账号、示例房间数据
- 一键安装批处理:顺序执行上述脚本
典型的结构类似:
数据库脚本\
01_create_database.sql
02_create_tables.sql
03_init_config.sql
04_init_demo_data.sql
有的版本把这些合并到一个大脚本里,用 GO 分段;有的版本拆得比较细,需要自己看顺序。
实测:本地还原一套完整库
我自己的做法是完全不用“一键安装”,而是手动跑一遍,主要是方便看报错。
- 在 SQL Server 里新建一个空库,比如
WHPlatform:CREATE DATABASE [WHPlatform] ON PRIMARY ( NAME = N'WHPlatform', FILENAME = N'D:\MSSQL\WHPlatform.mdf' ) LOG ON ( NAME = N'WHPlatform_log', FILENAME = N'D:\MSSQL\WHPlatform_log.ldf' ); - 打开
02_create_tables.sql,把首行的USE WHPlatform确认好,然后执行。
这一步会创建帐号表、配置表、日志表等等。 - 再执行
03_init_config.sql,初始化一些平台级配置,比如站点名称、默认参数。 - 最后再看
04_init_demo_data.sql,如果只是本地测试,可以保留里面的测试账号;如果准备给别人用,我一般会先删掉演示数据,只留结构和基础配置。
实测结果:
只要脚本是同一套版本,对应的程序配置好连接串,网站和服务端可以直接连通。
账号相关表的常见改法
用得最多的肯定是账号表,一般名字类似 AccountsInfo。常见字段大概是:
CREATE TABLE [dbo].[AccountsInfo](
[UserID] INT IDENTITY(1,1) NOT NULL,
[Account] NVARCHAR(32) NOT NULL,
[NickName] NVARCHAR(32) NOT NULL,
[LogonPass] NVARCHAR(32) NOT NULL,
[Score] BIGINT NOT NULL DEFAULT 0,
[RegisterDate] DATETIME NOT NULL DEFAULT GETDATE()
);
实际项目里,我经常会做两类改动:
- 增加一些业务字段,比如绑定手机、备注、推广来源等:
ALTER TABLE [dbo].[AccountsInfo] ADD [Mobile] NVARCHAR(20) NULL, [Remark] NVARCHAR(128) NULL, [Channel] NVARCHAR(32) NULL; - 调整默认值,比如把初始虚拟点数设低一点,方便本地测试:
ALTER TABLE [dbo].[AccountsInfo] ADD CONSTRAINT DF_AccountsInfo_Score DEFAULT(1000) FOR [Score];
建议的做法是:
不要直接改原始脚本,另写一个 99_custom_patch.sql,放到最后执行,这样以后换版本时也好比对。
实测:一键脚本常见问题
很多压缩包里带一个 一键安装.bat,内容大概是:
sqlcmd -S .\SQLEXPRESS -U sa -P 123456 -i 01_create_database.sql
sqlcmd -S .\SQLEXPRESS -U sa -P 123456 -i 02_create_tables.sql
sqlcmd -S .\SQLEXPRESS -U sa -P 123456 -i 03_init_config.sql
实测下来,最容易踩的坑有两个:
- 实例名不一致
你的 SQL 装的是默认实例.,脚本却写成了.\SQLEXPRESS,必挂。
解决办法:打开 bat 文件,把-S后面的实例名改成你自己的。 - 账号密码不一致
很多脚本写死了sa/123456,现在服务器基本不会这么配。
解决办法:要么同样改 bat 文件,要么直接用 SSMS 手动执行脚本。
我的习惯是:只参考一键脚本的“执行顺序”,具体执行都在 SSMS 里手动跑,这样报错能一眼看到。
性能和安全的简单建议
这套通用脚本本身主要解决的是结构问题,性能和安全还得自己补:
- 给常用查询字段补上索引,比如帐号、时间、状态等字段。
- 默认管理员账号要改密码,有些脚本甚至写死了后台账号密码,必须手动改。
- 对外环境最好单独给数据库开一个只读帐号,用在报表或外部工具里。
这些东西脚本不会帮你做好,只能自己根据项目情况调整。
仅限交流,拒绝商用!
下载地址:
隐藏内容,解锁需 付费 50元
付费解锁













![[源码分享] 创胜系列定制版本嘉年华房卡源代码【开发引擎Cocos Creator2.4.3】-](https://www.264rose.com/wp-content/uploads/2024/10/c4ca4238a0b9238-10.jpg)




