设为首页 - 加入收藏 华夏网 ()- 云主机,资讯,互联网,人工智能,云计算,大赢家论坛,区块链,VR,站长网!
热搜: 2017 2018 什么 市场
当前位置: 主页 > 水果奶奶论坛 > 正文

sql-server – 将SQL Server Express数据库复制到另一台计算机

发布时间:2021-01-25 08:29 所属栏目:[水果奶奶论坛] 来源:网络整理
导读:我明天正在升级客户端Access应用程序的后端,并且需要准备好针对此客户端的特定问题的计划.老板需要能够定期(通常是每月)从SQL Server所在的办公室取出数据文件,并对数据进行统计分析. 我看了Easiest way to copy an entire SQL server Database from a server

我明天正在升级客户端Access应用程序的后端,并且需要准备好针对此客户端的特定问题的计划.老板需要能够定期(通常是每月)从SQL Server所在的办公室取出数据文件,并对数据进行统计分析.

我看了Easiest way to copy an entire SQL server Database from a server to local SQL Express,那里的解决方案在这种情况下不起作用,因为:

>无法使用一次性解决方案(数据库发布向导),因为这需要可编写脚本.
>不能使用任何依赖于联网的计算机的方法,因为这不是一个选项 – 数据必须通过USB拇指驱动器传输(因此,没有复制).
>不能使用任何依赖于从服务器控制台或工作站运行SQL Server管理工具进行备份的方法.
>无法直接连接到SQL Server数据库进行分析,因为数据必须可移植到其他位置.

我认为我需要的是调用创建备份文件的脚本,然后将结果复制到USB驱动器的某种方法.然后我需要第二个脚本从USB驱动器复制备份文件并将其还原到另一个SQL Server.

传输的数据是只读的(或者,所做的任何更改都不需要返回主服务器),并且不会在第二个位置更新数据.它目前用一个普通的旧批处理文件编写脚本来复制后端MDB文件,我需要一些对用户来说简单的东西.

它不能依赖于Powershell(SQL Server Management Studio),因为我不希望它必须安装在用户运行脚本的计算机上(有六个工作站,脚本需要可以运行,我不想在所有这些上安装一些东西).

我将设置备份代理以每晚创建备份,因此我可以复制该文件,而无需在复制之前启动备份.因此,我可能只需要在目标计算机上编写恢复脚本.

思想,建议,指针?

解决方法

你绝对应该能够创造出类似的东西.

一部分是作为.sql脚本的T-SQL CREATE BACKUP脚本,并使用sqlcmd命令行工具从标准Windows批处理(* .bat)或命令(* .cmd)文件执行该脚本.

这将是这样的:

backup.sql

BACKUP DATABASE YourDatabase
TO DISK = 'Z:\Backup\YourDatabase.bak'
WITH FORMAT;

第二部分是带有T-SQL RESTORE脚本的.sql文件,基本上从磁盘上的给定位置读取数据并将其恢复到那里的SQL Server实例.

restore.sql

RESTORE DATABASE YourDatabase
   FROM AdventureWorks2008R2Backups 
   WITH 
     MOVE 'YourDatabase_Data' TO 'C:\MSSQL\Data\YourDatabase.mdf',MOVE 'YourDatabase_Log' TO 'C:\MSSQL\Data\YourDatabase_Log.ldf';
GO

当然,您需要根据自己的实际要求调整这些名称和路径 – 但这应该只是为您提供如何开始这项工作的提示.

要使用sqlcmd执行其中一个.sql脚本,您需要以下内容:

sqlcmd -S (name of server) -U (login) -P (password) -I (name of script file)

例如

sqlcmd -S (local) -U someuser -P top$secret -I backup.sql

资源:

> How to create a full database backup
> T-SQL RESTORE command
> sqlcmd utility

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

网友评论
推荐文章