这个的话,原理很简单,只是工作处理比较烦琐:
主要步骤:将fat32格式上的整个数据库备份成bak备份文件,然后拿这个bak文件到NTFS格式的服务器上恢复。
恢复完后,然后用下面命令将一个文件中的所有数据从指定文件中迁移到同一文件组中的其它文件中,接着使用
ALTER
DATABASE
语句除去文件(若要清掉多个数据文件,则重复这步操作即可---先移除文件里面的数据,再删除该文件)。
以下操作在查询分析器上执行即可:
--转到要处理的数据库:
use
库名
go
--查看该库所有的文件:
select
[name],[filename]
from
sysfiles
go
--对指定的文件进行数据移除:
dbcc
shrinkfile
(上面查询得到的“逻辑文件名”(即Name那列),
EMPTYFILE)
go
--将一定移除了数据的指定文件删除:
ALTER
DATABASE
库名
REMOVE
FILE
上面查询得到的“逻辑文件名”
go
‘贰’ 数据库的多个文件合并到两个数据库文件,该怎么处理
实现的方法很多,如倒入、导出、运行SQL查询、编写表合并程序等。可以在本数据库从外部数据库导入数据表,也可以从本数据库导出到外部目标数据库表。实现的方法多种多样,不一而足,但是不要指望有一种方法可以很简便地实现多数据库多表合并。它需要根据表结构,约束以及具体的合并要求等因素综合考虑来确定具体的合并方案。
‘叁’ 两个mysql数据库合成一个
数据库的合并是非常简单的,麻烦的是数据表的合并。
如果这两个数据库的表都不同,那么随便合并就是了,没有任何技术,既可以使用SQL语句合并,也可以直接拷贝数据库文件(data文件夹下)。
如果有相同结构的表数据合并,那关键是要控制主键重复的文件。方法是先把同名的表更名,拷贝到一个数据库文件夹下面,然后使用SQL修改一个表的主键,直到不重复之后,使用SQL把另外一个表的数据追加过来既可。
INSERT INTO 表1 SELECT * FROM 表2
补充:
可能你对MYSQL不熟悉吧,MYSQL有一个DATA文件夹,里面一个数据库一个文件夹,每个数据库文件夹里面,一个表有两三个文件。
把另外机器的数据库,或者你本地机器的数据库,拷贝到服务器的时候,只需要把相关文件、文件夹拷贝进去既可。
数据库的更名、数据库表从一个数据库移动到另外一个数据库,这些都是相关文件操作,你应该会吧。