sql-server – 将SQL Server Express数据库复制到另一台计算机
我明天正在升级客户端Access应用程序的后端,并且需要准备好针对此客户端的特定问题的计划.老板需要能够定期(通常是每月)从SQL Server所在的办公室取出数据文件,并对数据进行统计分析. 我看了Easiest way to copy an entire SQL server Database from a server to local SQL Express,那里的解决方案在这种情况下不起作用,因为: >无法使用一次性解决方案(数据库发布向导),因为这需要可编写脚本. 我认为我需要的是调用创建备份文件的脚本,然后将结果复制到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:BackupYourDatabase.bak' WITH FORMAT; 第二部分是带有T-SQL RESTORE脚本的.sql文件,基本上从磁盘上的给定位置读取数据并将其恢复到那里的SQL Server实例. restore.sql RESTORE DATABASE YourDatabase FROM AdventureWorks2008R2Backups WITH MOVE 'YourDatabase_Data' TO 'C:MSSQLDataYourDatabase.mdf',MOVE 'YourDatabase_Log' TO 'C:MSSQLDataYourDatabase_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 (编辑:92站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |