DB2 恢复命令在 Windows 10 上失败
DB2 restore command fails on Windows 10
在 Windows 10 台电脑上安装了 DB2 Express C v10.5 和 v11.1。
数据库备份成功,但两个版本的还原都以错误结束。
我也尝试过使用 Data Studio 4.1.2 进行同样的操作,但这里备份也成功,但恢复命令卡住了。
从 Data Studio 备份和恢复脚本-
CONNECT TO SAMPLEDB;
QUIESCE DATABASE IMMEDIATE FORCE CONNECTIONS;
CONNECT RESET;
DEACTIVATE DATABASE SAMPLEDB;
BACKUP DATABASE SAMPLEDB TO "E:\Database" COMPRESS EXCLUDE LOGS WITHOUT PROMPTING;
CONNECT TO SAMPLEDB ;
UNQUIESCE DATABASE;
CONNECT RESET;
RESTORE DATABASE SAMPLEDB FROM "E:\Database" TAKEN AT 20161020191200 INTO NEWDB WITHOUT PROMPTING;
这适用于 Windows 7 和 8。
此问题是否特定于 Windows 10 上的 Db2 Express C?
任何人都可以建议解决方案 and/or 在哪里可以阅读有关兼容性状态的信息。
已添加-
从 Data studio 恢复不会出现任何错误,但只是卡住了。
备份还原脚本结果-
db2 => CONNECT TO CBL2010 USER db2admin USING *******
Database Connection Information
Database server = DB2/NT 10.5.5
SQL authorization ID = DB2ADMIN
Local database alias = CBL2010
db2 => QUIESCE DATABASE IMMEDIATE
DB20000I The QUIESCE DATABASE command completed successfully.
db2 => CONNECT RESET
DB20000I The SQL command completed successfully.
db2 => BACKUP DB CBL2010 USER db2admin USING ******* to E:\Backup COMPRESS WITHOUT PROMPTING
Backup successful. The timestamp for this backup image is : 20161024162942
db2 => CONNECT TO CBL2010 USER db2admin USING *******
Database Connection Information
Database server = DB2/NT 10.5.5
SQL authorization ID = DB2ADMIN
Local database alias = CBL2010
db2 => UNQUIESCE DATABASE
DB20000I The UNQUIESCE DATABASE command completed successfully.
db2 => CONNECT RESET
DB20000I The SQL command completed successfully.
db2 => RESTORE DB CBL2010 USER db2admin USING ******* FROM E:\Backup TAKEN AT 20161024162942 INTO CBLBKUP WITHOUT PROMPTING
SQL1092N The requested command or operation failed because the user ID does
not have the authority to perform the requested command or operation. User
ID: "XAXTRANET". SQLSTATE=00000
在这里,我提供 'db2admin' 作为用户,但令人惊讶的是错误是针对登录用户 'XAXTRANET'。
登录用户和提供的用户都具有 PC 管理员权限。
并且根据 'get Dbm Cfg' 命令,未设置 sysadm 组 -
SYSADM group name (SYSADM_GROUP) =
SYSCTRL group name (SYSCTRL_GROUP) =
SYSMAINT group name (SYSMAINT_GROUP) =
SYSMON group name (SYSMON_GROUP) =
您在命令 (RESTORE ... USER db2admin ...
) 中指定的授权 ID 用于连接到现有数据库。由于您似乎要恢复到一个新数据库 (...INTO CBLBKUP...
),因此必须首先创建该数据库,这需要一个实例附件,这就是 ID XAXTRANET
的来源。
尝试在发出 RESTORE
命令之前显式附加到实例:
db2 => ATTACH TO DB2 USER db2admin USING whatever
以上假定您使用的是默认实例名称 DB2
-- 如果需要,请将其更改为您的实际实例名称。
在 Windows 10 台电脑上安装了 DB2 Express C v10.5 和 v11.1。
数据库备份成功,但两个版本的还原都以错误结束。
我也尝试过使用 Data Studio 4.1.2 进行同样的操作,但这里备份也成功,但恢复命令卡住了。
从 Data Studio 备份和恢复脚本-
CONNECT TO SAMPLEDB;
QUIESCE DATABASE IMMEDIATE FORCE CONNECTIONS;
CONNECT RESET;
DEACTIVATE DATABASE SAMPLEDB;
BACKUP DATABASE SAMPLEDB TO "E:\Database" COMPRESS EXCLUDE LOGS WITHOUT PROMPTING;
CONNECT TO SAMPLEDB ;
UNQUIESCE DATABASE;
CONNECT RESET;
RESTORE DATABASE SAMPLEDB FROM "E:\Database" TAKEN AT 20161020191200 INTO NEWDB WITHOUT PROMPTING;
这适用于 Windows 7 和 8。
此问题是否特定于 Windows 10 上的 Db2 Express C? 任何人都可以建议解决方案 and/or 在哪里可以阅读有关兼容性状态的信息。
已添加-
从 Data studio 恢复不会出现任何错误,但只是卡住了。
备份还原脚本结果-
db2 => CONNECT TO CBL2010 USER db2admin USING *******
Database Connection Information
Database server = DB2/NT 10.5.5
SQL authorization ID = DB2ADMIN
Local database alias = CBL2010
db2 => QUIESCE DATABASE IMMEDIATE
DB20000I The QUIESCE DATABASE command completed successfully.
db2 => CONNECT RESET
DB20000I The SQL command completed successfully.
db2 => BACKUP DB CBL2010 USER db2admin USING ******* to E:\Backup COMPRESS WITHOUT PROMPTING
Backup successful. The timestamp for this backup image is : 20161024162942
db2 => CONNECT TO CBL2010 USER db2admin USING *******
Database Connection Information
Database server = DB2/NT 10.5.5
SQL authorization ID = DB2ADMIN
Local database alias = CBL2010
db2 => UNQUIESCE DATABASE
DB20000I The UNQUIESCE DATABASE command completed successfully.
db2 => CONNECT RESET
DB20000I The SQL command completed successfully.
db2 => RESTORE DB CBL2010 USER db2admin USING ******* FROM E:\Backup TAKEN AT 20161024162942 INTO CBLBKUP WITHOUT PROMPTING
SQL1092N The requested command or operation failed because the user ID does
not have the authority to perform the requested command or operation. User
ID: "XAXTRANET". SQLSTATE=00000
在这里,我提供 'db2admin' 作为用户,但令人惊讶的是错误是针对登录用户 'XAXTRANET'。
登录用户和提供的用户都具有 PC 管理员权限。
并且根据 'get Dbm Cfg' 命令,未设置 sysadm 组 -
SYSADM group name (SYSADM_GROUP) =
SYSCTRL group name (SYSCTRL_GROUP) =
SYSMAINT group name (SYSMAINT_GROUP) =
SYSMON group name (SYSMON_GROUP) =
您在命令 (RESTORE ... USER db2admin ...
) 中指定的授权 ID 用于连接到现有数据库。由于您似乎要恢复到一个新数据库 (...INTO CBLBKUP...
),因此必须首先创建该数据库,这需要一个实例附件,这就是 ID XAXTRANET
的来源。
尝试在发出 RESTORE
命令之前显式附加到实例:
db2 => ATTACH TO DB2 USER db2admin USING whatever
以上假定您使用的是默认实例名称 DB2
-- 如果需要,请将其更改为您的实际实例名称。