Sql Server远程还原

1、假设备份文件xxxx.bak大小约300G,还原后所占用的空间为900G

2、磁盘空间只有1T,若将备份文件拷贝过来,空间剩余700G,无法成功还原,因此通过远程方式还原。

例子如下:

SQLSERVER服务实例名称: 192.168.12.163
需要备份的数据库名称: a
备份机器名称(Client端): 192.168.12.30
备份机用户: administrator 密码: 123
备份机域名: B28-1230
备份机提供备份需求的文件夹:D:\backup

备份数据库
第一步: 在备份机建立共享文件夹
在程序代码中调用(或者CMD窗口)
net share sqlbakup=D:\backup 或者用NetShareAdd这个API
简要说明:
net share:是WINDOWS内部的网络命令。
作用:建立本地的共享资源,显示当前计算机的共享资源信息。
第二步: 建立共享信用关系
exec master..xp_cmdshell ‘net use \\192.168.12.30\backup 123 /user:B28-1230\Administrator‘

若报错提示这个:“SQL Server 阻止了对组件‘xp_cmdshell‘ 的过程‘sys.xp_cmdshell‘ 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。
系统管理员可以通过使用sp_configure 启用‘xp_cmdshell‘。有关启用‘xp_cmdshell‘ 的详细信息,请参阅SQL Server 联机丛书中的"外围应用配置器"。”

启用’xp_cmdshell’:
USE master
EXEC sp_configure ‘show advanced options‘, 1
RECONFIGURE WITH OVERRIDE
EXEC sp_configure ‘xp_cmdshell‘, 1
RECONFIGURE WITH OVERRIDE
EXEC sp_configure ‘show advanced options‘, 0
RECONFIGURE WITH OVERRIDE

关闭’xp_cmdshell’:
USE master
EXEC sp_configure ‘show advanced options‘, 1
RECONFIGURE WITH OVERRIDE
EXEC sp_configure ‘xp_cmdshell‘, 0
RECONFIGURE WITH OVERRIDE
EXEC sp_configure ‘show advanced options‘, 0
RECONFIGURE WITH OVERRIDE

开启’xp_cmdshell’后再执行建立信用关系:
exec master..xp_cmdshell ‘net use \\192.168.12.30\backup 123 /user:B28-1230\Administrator‘

还原备份库a:
restore database peking from disk = ‘\\192.168.12.30\backup\a.bak‘
with move ‘a_Data‘ to ‘C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\a.mdf‘,
move ‘a_Log‘ to ‘C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\a_log.ldf‘

使用 SQL Server restore filelistonly 命令来查看逻辑文件名
restore filelistonly from disk=‘\\192.168.12.30\backup\a.bak‘

restore with move 用法:
restore database Northwind from disk = ‘c:\Northwind.bak‘
with move ‘Northwind‘ to ‘d:\microsoft sql server\mssql.1\mssql\data\Northwind.mdf‘
,move ‘Northwind_log‘ to ‘d:\microsoft sql server\mssql.1\mssql\data\Northwind.ldf‘

简要说明:
1:xp_cmdshell :是SQLSERVER的扩展存储过程。
作用:以操作系统命令行解释器的方式执行给定的命令字符串, 并以文本行方式返回任何输出。
语法:参见SQLSERVER联机帮助

2:net use : 是WINDOWS内部的网络命令。
作用:将计算机与共享资源连接或断开,或者显示关于计算机连接的信息。
该命令还控制持久网络连接。

3:备份数据库
backup database a to disk=‘\\192.168.12.30\sqlbak\a.bak‘
backup database a to disk=‘\\192.168.12.30\sqlbak\a1.bak‘ WITH DIFFERENTIAL (差异备份)

4: 删除共享文件夹
在程序代码中调用(或者CMD窗口) net share sqlbakup/delete
或者用NetShareDel这个API
恢复数据库
restore database a from disk=‘\\192.168.12.30\backup\a.bak‘

以下是差异还原
restore database scs from disk=‘\\192.168.12.30\backup\a.bak‘ WITH NORECOVERY
restore database scs from disk=‘\\192.168.12.30\backup\a1.bak‘ WITH NORECOVERY
restore database scs from disk=‘\\192.168.12.30\backup\a2.bak‘

时间: 2024-10-18 01:46:54

Sql Server远程还原的相关文章

sql server远程备份和恢复

sql server远程备份和恢复 SQLSERVER服务实例名称:192.168.0.2需要备份的数据库名称: a备份机器名称(Client端):192.168.0.3备份机用户:zf 密码:123备份机域名:domain备份机提供备份需求的文件夹:D:\sqlbak 备份数据库 第一步: 在备份机建立共享文件夹               在程序代码中调用(或者CMD窗口)   net share sqlbakup=D:\sqlbak     或者用NetShareAdd这个API     

sql server 远程

资讯 |  安全 |  论坛 |  下载 |  读书 |  程序开发 |  数据库 |  系统 |  网络 |  电子书 |  站长学院 |  源码 |  QQ |  专栏 |  考试 |  手册 |  SQL Server| MySQL| Oracle| DB2| Sybase| 其他综合| SQL Server2012如何开启数据库的远程连接 最近用到SQL Server 2012的远程连接,整理如下: SQL Server默认是不允许远程连接的,如果想要在本地用SSMS连接远程服务器上的S

解决方案—SQL Server 远程连接失败

机房收费系统异地发布的时候,需要保证数据库能够远程连接,但连接的时候通常会报错: 要解决这个问题,首先需要检查SqlServer 的几项设置.(这些设置一般都是系统默认项,不过最好看一下) (一)检查SQL Server是否允许远程链接.以SqlServer 身份验证方式登陆.登录账户sa (二)打开配置管理器,检查微软SQL服务器(MSSQLServer)的TCP/IP协议是否开启. 确保上面设置正确后,进行最后的SQL服务器防火墙设置,(问题大多出在这里) 一.可以直接关闭防火墙,但是这样不

SQL Server 2005还原数据库时出现“不能选择文件或文件组XXX_log用于此操作的解决办法

SQL2005 还原数据库失败,提示如下: SQL Server 2005还原数据库时出现“不能选择文件或文件组XXX_log用于此操作的解决办法 出现错误时操作步骤为:右击数据库--->任务--->还原--->文件和文件组--->源设备(选择备份文件)--->指定备份文件位置--->添加选定文件.在“还原文件和文件组”对话框中点击“确定”按钮,即出现上面显示的错误. 正确的步骤为: 右击数据库--->任务--->还原--->数据库--->源设备

SQL Server 备份还原

SQL Server支持三种备份方式 完全备份: 差异备份 事务日志备份 一般备份方式为,完全备份/每周,差异备份/每天,事务日志备份/按分钟计,这样可确保备份的高效性和可恢复性. 1. 完全备份 备份脚本 BACKUP DATABASE PCT TO DISK ='D:\Company\Data\SQL Server\Backup\PCT.bak'; 还原备份 RESTORE DATABASE PCT FROM DISK = 'D:\Company\Data\SQL Server\Backup

【SQL Server】还原数据库提示“介质集有2个介质簇,但只提供了1个。必须提供所有成员”的解决办法

今天在对数据库备份与还原的过程中,我遇到一个问题"介质集有2个介质簇,但只提供了1个.必须提供所有成员",下面详细的介绍一下遇到问题的经过与问题解决的方法! 一.备份与还原遇到的问题描述与解决方法: 前两天用户测试我们做的评教系统小软件,有点问题我们过去看了看,想将他们的测试数据备份一下,以便我们修改软件测试使用. 我是这样备份的,数据库备份默认有一个路径:C\...,而我又添加了一个新路径,没将默认路径删除,而是选中新路径,我就理所当然的认为数据库中的数据备份到我新加的路径下了. 今

SQL Server 远程链接服务器详细配置

原文:SQL Server 远程链接服务器详细配置[转载] http://hi.baidu.com/luxi0194/blog/item/a5c2a9128a705cc6c2fd7803.html 远程链接服务器详细配置--建立连接服务器EXEC sp_addlinkedserver  '远程服务器IP','SQL Server'--标注存储EXEC sp_addlinkedserver@server = 'server', --链接服务器的本地名称.也允许使用实例名称,例如MYSERVER\S

SQL点滴12—SQL Server备份还原数据库中的小把戏

原文:SQL点滴12-SQL Server备份还原数据库中的小把戏 备份数据库时出现一个不太了解的错误 ,错误信息“is formatted to support  1 media families, but 2 media families are expected according to the backup device specification”.如下图: 解决办法是首先选中击上一次备份的文件,点击Remove,去掉当前的备份文件,然后再点击OK备份.这样才能正确的备份.也在微软帮助

[20140711] SQL Server page还原

create DATABASE T --数据库不能是简单模式 go USE t GO CREATE TABLE t(id INT IDENTITY,value CHAR(8000)) GO INSERT INTO dbo.t ( value ) VALUES ( REPLICATE('a',5000) ) go 5 BACKUP DATABASE t TO DISK = 'c:\t.bak' WITH INIT go --停服务 --用ue打开数据文件 找 aaaa,修改 随便改 DBCC ch