由于 I/O 成本较高,我们希望从 aurora(Postgres 引擎)迁移到 Postgres。有什么办法可以做到这一点吗?如果不是,重建整个数据集是唯一的选择吗?
restore amazon-s3 database-restore amazon-web-services amazon-rds
我有C#代码循环.sql文件并执行其中的内容来设置数据库.
一个.sql文件基本如下:
DROP PROCEDURE IF EXISTS myProc;
DELIMITER $$
CREATE PROCEDURE myProc()
BEGIN
-- procedure stuff goes here
END $$
DELIMITER ;
CALL myProc();
Run Code Online (Sandbox Code Playgroud)
当我将它输入到MySQL查询浏览器的脚本窗口时,它会一遍又一遍地运行,就像人们希望的那样.
但是,如果我将字符串放入我的IDbCommand并执行它...
connection.Open(); // An IDbConnection
IDbTransaction transaction = connection.BeginTransaction();
using (IDbCommand cmd = connection.CreateCommand())
{
cmd.Connection = connection;
cmd.Transaction = transaction;
cmd.CommandText = line;
cmd.CommandType = CommandType.Text;
try
{
cmd.ExecuteNonQuery();
}
catch (SqlException ex)
{
transaction.Rollback();
return false;
}
}
transaction.Commit();
connection.Close();
Run Code Online (Sandbox Code Playgroud)
......我得到了可怕的例外1064 ......
您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便在'DELIMITER $$ CREATE PROCEDURE …
我有一个演示站点,任何人都可以登录并测试管理界面.
我想每小时刷新SQL 2008数据库中的所有数据并从原始数据中恢复它.
Red Gate Software有一些很棒的工具,但是它们现在超出了我的预算.
我可以简单地制作数据库数据文件的备份副本,然后使用ac#console app删除它并复制原始文件.然后我可以有一个Windows计划任务每小时运行.exe.
它简单而且免费......这会有用吗?
我正在使用SQL Server 2008 R2 Web版
我知道Red Gate Software在技术上更好,因为我可以设置它来分析数据库,只更新已更改的记录,我上面的方法就像一个"大锤".
如何插入命令给出的结果集
RESTORE FILELISTONLY
RESTORE HEADERONLY
RESTORE VERIFYONLY
Run Code Online (Sandbox Code Playgroud)
进入自动生成的临时表?
我想使用类似的技术(因此表是自动创建的,所有列都匹配结果集的列)
SELECT * INTO #TempTable
FROM (RESTORE FILELISTONLY FROM DISK = 'c:\Test\Test.bak')
Run Code Online (Sandbox Code Playgroud)
但这不起作用.如果我可以填充TempTable,那么我就可以在下面的SQL语句中使用它中包含的信息(在我的例子中是一个恢复DB语句,我需要使用RESTORE FILELISTONLY给出的结果集中包含的一些字符串)
我正在使用sql server 2008.
我有一个.bak在SQL Server 2008 R2中创建的数据库()的备份.
要测试某些功能,例如将此备份导入LocalDB(2012).当我单击"还原"并选择数据库时,会发生以下错误:
属性MasterDBLogPath不适用于信息'Microsoft.SqlServer.Management.Smo.Information'.此属性可能不存在,或者由于访问权限不足而无法检索.(Microsoft.SqlServer.Smo)
当我进行mysqldump操作时,我得到一个.SQL文件.我从来没有创建过一个.DUMP文件,但能够从一个.DUMP文件中恢复一个数据库,该文件使用相同的操作("<"或SOURCE)来从.SQL文件中恢复数据库.
那么这两种文件类型有什么区别?
如何实现上述目标.我不想要多设备同步.我只想保存coredata并在用户重新安装应用程序时恢复它.哪种方法最好,任何人都可以提供链接.我试过iCloud,它主要用于多设备同步.任何帮助将不胜感激
我正在将一个大型(~80GB)数据库从它的测试平台移到它的生产环境中。我们正在研究 Windows 服务器。这是我们第一次使用 MySQL,我们仍在学习预期的行为。
我们备份了数据
mysqldump -u root -p --opt [database name] > [database name].sql
Run Code Online (Sandbox Code Playgroud)
这花了大约 3 个小时并创建了一个 45GB 大小的文件。它在一夜之间复制到它的新家,第二天早上,我使用 MySQL Workbench 启动了恢复。根据其日志,它运行
mysql.exe --defaults-file="[路径]\tmpc8tz9l.cnf" --protocol=tcp --host=127.0.0.1 --user=[me] --port=3306 --default-character-set =utf8 --comments --database=[数据库名称] < "H:\[数据库名称].sql"
它正在工作 - 如果我连接到实例,我可以看到数据库和它的一些表。
问题是,它似乎需要永远。我认为它会在与备份相同的 3-4 个时间范围内恢复,可能更快,因为它正在恢复到具有 SSD 驱动器的更强大的服务器上。
但是现在已经过了大约 36 个小时,因为恢复开始了,而且 DB 的大小显然是 30GB。随着它的进行,它似乎变得越来越慢。
现在它已经开始工作了,我不想打断它,所以我想我只需要等待。但供日后参考:这种蜜糖缓慢的恢复速度正常吗?下次我们需要恢复大数据库时,我们可以做些什么来改善问题?
database-restore ×10
database ×3
mysql ×3
sql-server ×3
restore ×2
sql ×2
ado.net ×1
amazon-rds ×1
amazon-s3 ×1
backup ×1
c# ×1
core-data ×1
django ×1
ios ×1
localdb ×1
python ×1
sql-scripts ×1
ssms ×1
ssms-2014 ×1
temp-tables ×1