数据库数据如何跨服务器迁移

数据库数据如何跨服务器迁移,第1张

开始菜单--->程序,打开SQL Server Management Studio(即我们的SQL 2005)

连接服务器后,找到我们需要迁移的数据,右键点击属性

数据库属性里面,点击文件,可查看数据库文件和数据库日志文件的存放路径

确定没有任何其它用户连接到此数据库后,点击该数据库-->任务-->分离

我们可以看到分离以后,刚刚那个数据库,已经不在此列表

进入刚刚我们第3步属性里面看到的数据库文件路径如下图把我们的ZNLCRMmdf数据库文件和ZNLCRM_LogLdf数据库日志文件拷贝到另外一台服务器

在另外台服务器上打开SQL数据库与第1步一样点击数据库--->附加

在附加数据库里面,点击添加,如下图所示

找到刚刚拷贝过来的ZNLCRMmdf文件选中该文件,依次点击确定(注意日志文件会自动一起加载过来)

然后我们就可以看到,一个完整的数据库就直接被迁移过来如下图

DNS备份:
1 停止DNS服务。
2 打开Regedit程序,找到键HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\DNS。
3 右键单击DNS文件夹并且选择“导出”。把文件命名为dns1然后按Enter键。
4 现在找到键HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DNS Server。
5 右键单击DNS Server文件夹,并且选择“导出”命令。把文件命名为dns2然后按Enter键。
在前面的步骤中我们创建了两个注表文件,分别叫dns1reg和dns2reg。把它们存入到移动存储或者保存在不在此服务器上的其他媒体中。
打开文件夹\Windows\System32\DNS并且把其中所有后缀为dns的文件都复制出来。也保存到你存储reg文件的媒体中。现在你已经完成了备份,接下来重新启动DNS服务。
DNS恢复:
如果你的DNS服务器出现了故障,那么你可以迅速找到另一台机器代替它,设置步骤如下:
1建立一个Server2003系统。给它取与所代替机器相同的名字,使用相同的DNS后缀和IP地址。
2在其系统中安装DNS服务。
3停用DNS服务。
4把所有后缀为dns的文件复制到这台机器的\windows\system32\dns文件夹下。
5找到那两个后缀为reg的文件。双击它们,一次一个,并且确认自己想把它们安装到注册表中。
6重新启动DNS服务。
现在你就拥有了原DNS服务器的一个替代系统。要记住,如果你只想把一个区域的主服务器角色从一台机器转移到另一台机器,那么只需要把dns文件复制到目标计算机上就行了,然后再运行“新建区域”向导程序,告诉它你已经有了一个区域文件。
7在目标 DNS 服务器上,启动 DNS 服务器服务。要开始注册服务器的 A 和 PTR 资源记录,请在命令提示符下运行以下命令:
ipconfig /registerdns
8如果此服务器同时还是域控制器,请停止并重新启动 Net Logon 服务来注册服务 (SRV) 记录,或在命令提示符下运行以下命令:
netdiag /fix
9 如果替换 DNS 服务器是域控制器,则可将其上以前是 Active Directory 集成区域的标准区域转换回 Active Directory 集成区域。
10确认每个区域上的 SOA 资源记录包含正确的主服务器名,并且区域的 NS 资源记录正确无误。
脚本内容如下:

@echo off
rem 提取日期和时间,增强原来的P处理
@set year=%date:~0,4%
@set month=%date:~5,2%
@set day=%date:~8,2%
rem 创建文件夹
rem 进入到e盘
E:
rem 进入到 backup目录
cd backup
rem 如果以当前日期的目录不存在,则创建以当前日期为名称的目录
if not exist %year%%month%%day% mkdir %year%%month%%day%
rem 将dns 注册表中的选项导出到当前的工作目录下面
regedit /e \%year%%month%%day%\dnsserverreg "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DNS Server\"
rem 将dns注册表中的选项导出到当前的工作目录下面
regedit /e \%year%%month%%day%\dnsreg "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\"
rem 拷贝dns 数据文件到当前目录下面
copy C:\WINDOWS\system32\dns\ \%year%%month%%day%

将相关目录修改成自己所需要的即可。
然后将以上内容存为b
DNS备份当你的DNS服务器正常运行起来后,大家可以按照下列步骤对自己的服务器配置进行备份:1 停止DNS服务。2 打开Regedit程序,找到键HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\DNS。3 右键单击DNS文件夹并且选择“导出”。把文件命名为dns1然后按Enter键。4 现在找到键HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DNS Server。5 右键单击DNS Server文件夹,并且选择“导出”命令。把文件命名为dns2然后按Enter键。在前面的步骤中我们创建了两个注表文件,分别叫dns1reg和dns2reg。把它们存入到移动存储或者保存在不在此服务器上的其他媒体中。打开文件夹\Windows\System32\DNS并且把其中所有后缀为dns的文件都复制出来。也保存到你存储reg文件的媒体中。现在你已经完成了备份,接下来重新启动DNS服务。 DNS的恢复如果你的DNS服务器出现了故障,那么你可以迅速找到另一台机器代替它,设置步骤如下:1建立一个Server2003系统。给它取与所代替机器相同的名字,使用相同的DNS后缀和IP地址。2在其系统中安装DNS服务。3停用DNS服务。4把所有后缀为dns的文件复制到这台机器的\windows\system32\dns文件夹下。5找到那两个后缀为reg的文件。双击它们,一次一个,并且确认自己想把它们安装到注册表中。6重新启动DNS服务。现在你就拥有了原DNS服务器的一个替代系统。要记住,如果你只想把一个区域的主服务器角色从一台机器转移到另一台机器,那么只需要把dns文件复制到目标计算机上就行了,然后再运行“新建区域”向导程序,告诉它你已经有了一个区域文件。 7在目标 DNS 服务器上,启动 DNS 服务器服务。要开始注册服务器的 A 和 PTR 资源记录,请在命令提示符下运行以下命令:ipconfig /registerdns8如果此服务器同时还是域控制器,请停止并重新启动 Net Logon 服务来注册服务 (SRV) 记录,或在命令提示符下运行以下命令:netdiag /fix 9 如果替换 DNS 服务器是域控制器,则可将其上以前是 Active Directory 集成区域的标准区域转换回 Active Directory 集成区域。10确认每个区域上的 SOA 资源记录包含正确的主服务器名,并且区域的 NS 资源记录正确无误。 脚本内容如下: @echo offrem 提取日期和时间,增强原来的P处理@set year=%date:~0,4%@set month=%date:~5,2%@set day=%date:~8,2% rem 创建文件夹rem 进入到e盘E:rem 进入到 backup目录cd backuprem 如果以当前日期的目录不存在,则创建以当前日期为名称的目录if not exist %year%%month%%day% mkdir %year%%month%%day% rem 将dns 注册表中的选项导出到当前的工作目录下面regedit /e \%year%%month%%day%\dnsserverreg "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DNS Server\" rem 将dns注册表中的选项导出到当前的工作目录下面regedit /e \%year%%month%%day%\dnsreg "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\" rem 拷贝dns 数据文件到当前目录下面copy C:\WINDOWS\system32\dns\ \%year%%month%%day% 将相关目录修改成自己所需要的即可。然后将以上内容存为bat 文件,运行即可备份如果要自动备份,将其加到计划任务中即可。

你好!
你可以通过第三方软件来实现更详细的服务器日志:
网络执法官推荐给你
>

1、开始菜单--->程序,打开SQL Server Management Studio。

2、连接服务器后,找到我们需要迁移的数据,右键点击属性。

3、在数据库属性里面,点击文件,可查看数据库文件和数据库日志文件的存放路径。

4、确定没有任何其它用户连接到此数据库后,点击该数据库-->任务-->分离。

5、我们可以看到分离以后,刚刚那个数据库,已经不在此列表。

6、进入刚刚我们第3步属性里面看到的数据库文件路径如下图把我们的ZNLCRMmdf数据库文件和ZNLCRM_LogLdf数据库日志文件拷贝到另外一台服务器。

7、在另外台服务器上打开SQL数据库与第1步一样点击数据库--->附加。

8、在附加数据库里面,点击添加。

9、找到刚刚拷贝过来的ZNLCRMmdf文件选中该文件,依次点击确定。

10、然后我们就可以看到,一个完整的数据库就直接被迁移过来。

插入u盘到电脑或者服务器之后呢,看下 *** 作系统怎么识别u盘的。命令(最好有root权限,看发行版了) dmesg 

识别出来的也许是/dev/sdb1, 找个空目录,如/mnt 挂载这个磁盘分区: mount -v /dev/sdb1 /mnt

进入cd /mnt

然后运行tar打包命令,如下

日志目录路径:

刷系统写u盘缓存 sync

然后umount /mnt

然后d出u盘 eject /dev/sdx

通过工具DTS的设计器进行导入或导出

DTS的设计器功能强大 支持多任务 也是可视化界面 容易 *** 作 但知道的人一般不多 如果只是进行SQL Server数据库中部分表的移动 用这种方法最好 当然 也可以进行全部表的移动 在SQL Server Enterprise Manager中 展开服务器左边的+ 选择数据库 右击 选择All tasks/Import Data (或All tasks/Export Data ) 进入向导模式 按提示一步一步走就行了 里面分得很细 可以灵活的在不同数据源之间复制数据 很方便的 而且可以另存成DTS包 如果以后还有相同的复制任务 直接运行DTS包就行 省时省力

也可以直接打开DTS设计器 方法是展开服务器名称下面的Data Transformation Services 选Local Packages 在右边的窗口中右击 选New Package 就打开了DTS设计器 值得注意的是:如果源数据库要拷贝的表有外键 注意移动的顺序 有时要分批移动 否则外键主键 索引可能丢失 移动的时候选项旁边的提示说的很明白 或者一次性的复制到目标数据库中 再重新建立外键 主键 索引

其实建立数据库时 建立外键 主键 索引的文件应该和建表文件分开 而且用的数据文件也分开 并分别放在不同的驱动器上 有利于数据库的优化

利用Bcp工具

这种工具虽然在SQL Server 的版本中不推荐使用 但许多数据库管理员仍很喜欢用它 尤其是用过SQL Server早期版本的人 Bcp有局限性 首先它的界面不是图形化的 其次它只是在SQL Server的表(视图)与文本文件之间进行复制 但它的优点是性能好 开销小 占用内存少 速度快 有兴趣的朋友可以查参考手册

利用备份和恢复

先对源数据库进行完全备份 备份到一个设备(device)上 然后把备份文件复制到目的服务器上(恢复的速度快) 进行数据库的恢复 *** 作 在恢复的数据库名中填上源数据库的名字(名字必须相同) 选择强制型恢复(可以覆盖以前数据库的选项) 在选择从设备中进行恢复 浏览时选中备份的文件就行了 这种方法可以完全恢复数据库 包括外键 主键 索引

直接拷贝数据文件

把数据库的数据文件( mdf)和日志文件( ldf)都拷贝到目的服务器 在SQL Server Query Analyzer中用语句进行恢复:

EXEC sp_attach_db @dbname = ’test’

@filename = ’d:mssql data est_data mdf’

@filename = ’d:mssql data est_log ldf’

这样就把test数据库附加到SQL Server中 可以照常使用 如果不想用原来的日志文件 可以用如下的命令:

EXEC sp_detach_db @dbname = ’test’

EXEC sp_attach_single_file_db @dbname = ’test’

@physname = ’d:mssql data est_data mdf’

这个语句的作用是仅仅加载数据文件 日志文件可以由SQL Server数据库自动添加 但是原来的日志文件中记录的数据就丢失了

在应用程序中定制

可以在应用程序(PB VB)中执行自己编写的程序 也可以在Query Analyzer中执行 这种方法比较灵活 其实是利用一个平台连接到数据库 在平台中用的主要时SQL语句 这种方法对数据库的影响小 但是如果用到远程链接服务器 要求网络之间的传输性能好 一般有两种语句:

>select into new_tablename where

>insert (into) old_tablename select from

where

区别是前者把数据插入一个新表(先建立表 再插入数据) 后者是把数据插入已经存在的一个表中 我个人喜欢后者 因为在编程的结构上 应用的范围上 第二条语句强于前者

SQL Server的复制功能

SQL Server提供了强大的数据复制功能 也是最不易掌握的 具体应用请参考相关资料 值得注意的是要想成功进行数据的复制工作 有些条件是必不可少的:

>SQL Server Agent必须启动 MSDTC必须启动

>所有要复制的表必须有主键

>如果表中有text或image数据类型 必须使用with log选项 不能使用with no_log选项

另外max text repl size选项控制可以复制的文本和图像数据的最大规模 超过这个限制的 *** 作将失败

>在要进行复制的计算机上 应该至少是隐含共享 即共享名是C$或D$…

>为SQL Server代理使用的Windows NT帐号不能是一个本地的系统帐号 因为本地的系统帐号不允许网络存取

lishixinzhi/Article/program/SQLServer/201311/22358

在企业管理器中:
先在本地建一个目的数据库-》右击该DB-》所有任务-》导入数据-》在源数据库选择对话框中,将“服务器”选择为你所要的Server,填入登录名及密 码,选择要导入的数据库-》在目的数据库选择对话框中,用默认值或再自行选择-》选择“复制数据库间的对象和数据”-》接下来next即可


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13017636.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-29
下一篇 2023-05-29

发表评论

登录后才能评论

评论列表(0条)

保存