資料庫降版本
不能直接備份還原為低版本,可以按照:右鍵你的資料庫,選擇「復制資料庫」,然後選擇好資料庫和版本復制出來即可。
㈡ 如何把SQLServer資料庫從高版本降級到低版本
首先,SqlServer所有的高版本備份,都不可以直接在低版本上直接進行還原!
如果一定要進行還原的話,請使用腳本導入導出,直接在高版本Sqlserver上將所有對象以及數據導出為sql腳本,然後到低版本上執行腳本就可以了。
注意導出時選擇導出對象結構以及數據。
對應的如何導出腳本執行步驟,請參考我的另一個回答。
http://..com/question/1898522337806756060
㈢ 如何把SQLServer資料庫從高版本降級到低版本
直接給SQL Server資料庫降級是不支持的。但您可以使用一個靈活的變通方法來解決這個問題。您可以使用SQL Server Management Studio中首先為一個較低的版本生成資料庫腳本,然後使用數據導入/導出向導將原來資料庫數據傳輸到高版本資料庫中。例如,如果你想降低一個SQL Server 2008資料庫到SQL Server 2005,您可以按照以下步驟:1. 在SQL Server Management Studio 2008中打開SQL Server2008資料庫。2.在對象資源管理器中右鍵單擊資料庫名稱並選擇「任務生成腳本......」3.在「腳本向導」對話框中,選擇資料庫的名稱,並檢查「腳本所有在選擇資料庫對象」。然後點擊「下一步」。4.設置為SQL Server2005的伺服器版本的腳本「選項」。5. SQL Server 2005中運行腳本。6. 使用SQL Server導入和導出向導從SQL Server 2008到SQL Server 2005導入數據同樣,如果你想降低一個SQL Server 2005資料庫到SQL Server 2000,你也可以在SQL Server 2005 Management Studio中執行上述步驟。
㈣ 如何把SQLServer資料庫從高版本降級到低版本
步驟如下
1、首先把要把sql2012中要備份的資料庫設置為兼容2008.
右鍵sql2012中的資料庫Test-屬性-選項
2、右鍵Test-任務-生成腳本,下一步-下一步 ,點 高級 選項。把script for sql version 改成你要降級的那個版本 也就是sql2008.確定完成即可。會生成一個script.sql腳本文件。
3、下一步要把sqlserver2012源文件復制到另外一個電腦上。由於SqlServer正在運行 是無法復制的。所以首先要停止sqlserver服務。
3、找到你這個sql2012資料庫在電腦中的位置。 右鍵這個資料庫-文件 會有路徑,復制出這兩個文件來。 至此 sqlserver2012的電腦操作完成
4、把上面得到的script.sql 文件和兩個數據源文件復制到sql2008所在的電腦中。在sql2008中 新建-查詢管理器。把script.sql拖進去,會看到代碼。
㈤ 如何把SQLServer資料庫從高版本降級到低版本
把sqlserver資料庫從高版本降到低版本可以參考如下兩種方法 :
方法一:使用圖形化操作(GUI),打開SSMS(SQL Server Management Studio)
步驟1:右鍵你要降級的資料庫,按下圖選擇:
步驟2:在對話框中選擇:
步驟3:在【高級】中選擇下圖:
步驟4:把腳本保存起來,然後在SQLServer2005中運行腳本。
步驟5:通過【任務】→【導入數據】,把數據從2008導入到使用腳本創建的庫上如下圖,就完成了:
方法二:使用系統自帶的存儲過程實現:sp_dbcmptlevel ——將某些資料庫行為設置為與指定的 SQL Server 版本兼容
下面是其內部實現代碼:
SET QUOTED_IDENTIFIER ON
SET ANSI_NULLS ON
GO
create procere sys.sp_dbcmptlevel -- 1997/04/15
@dbname sysname = NULL, -- database name to change
@new_cmptlevel tinyint = NULL OUTPUT -- the new compatibility level to change to
as
set nocount on
declare @exec_stmt nvarchar(max)
declare @returncode int
declare @comptlevel float(8)
declare @dbid int -- dbid of the database
declare @dbsid varbinary(85) -- id of the owner of the database
declare @orig_cmptlevel tinyint -- original compatibility level
declare @input_cmptlevel tinyint -- compatibility level passed in by user
,@cmptlvl80 tinyint -- compatibility to SQL Server Version 8.0
,@cmptlvl90 tinyint -- compatibility to SQL Server Version 9.0
,@cmptlvl100 tinyint -- compatibility to SQL Server Version 10.0
select @cmptlvl80 = 80,
@cmptlvl90 = 90,
@cmptlvl100 = 100
-- SP MUST BE CALLED AT ADHOC LEVEL --
if (@@nestlevel > 1)
begin
raiserror(15432,-1,-1,'sys.sp_dbcmptlevel')
return (1)
end
-- If no @dbname given, just list the valid compatibility level values.
if @dbname is null
begin
raiserror (15048, -1, -1, @cmptlvl80, @cmptlvl90, @cmptlvl100)
return (0)
end
-- Verify the database name and get info
select @dbid = dbid, @dbsid = sid ,@orig_cmptlevel = cmptlevel
from master.dbo.sysdatabases
where name = @dbname
-- If @dbname not found, say so and list the databases.
if @dbid is null
begin
raiserror(15010,-1,-1,@dbname)
print ' '
select name as 'Available databases:'
from master.dbo.sysdatabases
return (1)
end
-- Now save the input compatibility level and initialize the return clevel
-- to be the current clevel
select @input_cmptlevel = @new_cmptlevel
select @new_cmptlevel = @orig_cmptlevel
-- If no clevel was supplied, display and output current level.
if @input_cmptlevel is null
begin
raiserror(15054, -1, -1, @orig_cmptlevel)
return(0)
end
-- If invalid clevel given, print usage and return error code
-- 'usage: sp_dbcmptlevel [dbname [, compatibilitylevel]]'
if @input_cmptlevel not in (@cmptlvl80, @cmptlvl90, @cmptlvl100)
begin
raiserror(15416, -1, -1)
print ' '
raiserror (15048, -1, -1, @cmptlvl80, @cmptlvl90, @cmptlvl100)
return (1)
end
-- Only the SA or the dbo of @dbname can execute the update part
-- of this procere sys.so check.
if (not (is_srvrolemember('sysadmin') = 1)) and suser_sid() <> @dbsid
-- ALSO ALLOW db_owner ONLY IF DB REQUESTED IS CURRENT DB
and (@dbid <> db_id() or is_member('db_owner') <> 1)
begin
raiserror(15418,-1,-1)
return (1)
end
-- If we're in a transaction, disallow this since it might make recovery impossible.
set implicit_transactions off
if @@trancount > 0
begin
raiserror(15002,-1,-1,'sys.sp_dbcmptlevel')
return (1)
end
set @exec_stmt = 'ALTER DATABASE ' + quotename(@dbname, '[') + ' SET COMPATIBILITY_LEVEL = ' + cast(@input_cmptlevel as nvarchar(128))
-- Note: database @dbname may not exist anymore
exec(@exec_stmt)
select @new_cmptlevel = @input_cmptlevel
return (0) -- sp_dbcmptlevel
GO
語法
sp_dbcmptlevel [ [ @dbname = ] name ]
[ , [ @new_cmptlevel = ] version ]
參數
[ @dbname = ] name
要為其更改兼容級別的資料庫的名稱。資料庫名稱必須符合標識符的規則。name 的數據類型為 sysname,默認值為 NULL。
[ @new_cmptlevel = ] version
資料庫要與之兼容的 SQL Server 的版本。version 的數據類型為 tinyint,默認值為 NULL。該值必須為下列值之一:
80 = SQL Server 2000
90 = SQL Server 2005
100 = SQL Server 2008
返回代碼值
0(成功)或 1(失敗)
注意事項:
後續版本的 Microsoft SQL Server 將刪除該功能。請不要在新的開發工作中使用該功能,並盡快修改當前還在使用該功能的應用程序。 改為使用 ALTER DATABASE 兼容級別。
㈥ 如何將資料庫由高版本降為低版本
安裝高低版本兩個資料庫,然後使用導入導出,把數據從高導入到低的。
㈦ 如何把SQLServer資料庫從高版本降級到低版本
SQL 低版本不支持高版本的。你只能安裝二個SQL,再導入數據到低版本上。
在資料庫右鍵有個生成腳本,就是用那個功能,在裡面選擇你需要降到的版本就行
㈧ 如何把SQLServer資料庫從高版本降級到低版本
由於目前還廣泛使用著SQLServer2000,很多公司又想使用新的SQLServer,從而直接【分離/附加】或者【備份/還原】資料庫,在
不同版本之間存放。往往就會遇到版本不兼容的問題。前幾天遇到了從我本機2008R2上備份的一個資料庫還原到2008上面時報錯:
從
運行版本10.50.2500(2008R2是10.50)和10.00.1600(2008是10.00)中可以看出這個版本不兼容問題,大部分情況
下,從低版本升級到高版本,只要不是跨度太大,如2000升級到2012,都不會怎麼報錯。除非使用了一些新版本不兼容的特性如*=來實現left
join的語句。但是就像上圖那樣,從高版本還原到低版本的時候,問題就出現了,而且幾乎一定會報錯。
下面給出幾個小建議,例子是從2008 降級到2005:
方法一:使用圖形化操作(GUI),打開SSMS(SQL Server Management Studio)
步驟1:右鍵你要降級的資料庫,按下圖選擇:
步驟2:在對話框中選擇:
步驟3:在【高級】中選擇下圖:
步驟4:把腳本保存起來,然後在SQLServer2005中運行腳本。
詳細步驟可以看:http://bbs.csdn.net/topics/390438560?page=1#post-394316973 中的13樓的回復,有截圖
步驟5:通過【任務】→【導入數據】,把數據從2008導入到使用腳本創建的庫上如下圖,就完成了:
方法二:使用系統自帶的存儲過程實現:sp_dbcmptlevel ——將某些資料庫行為設置為與指定的 SQL Server 版本兼容
下面是其內部實現代碼:
[sql] view plain print?
SET QUOTED_IDENTIFIER ON
SET ANSI_NULLS ON
GO
create procere sys.sp_dbcmptlevel -- 1997/04/15
@dbname sysname = NULL, -- database name to change
@new_cmptlevel tinyint = NULL OUTPUT -- the new compatibility level to change to
as
set nocount on
declare @exec_stmt nvarchar(max)
declare @returncode int
declare @comptlevel float(8)
declare @dbid int -- dbid of the database
declare @dbsid varbinary(85) -- id of the owner of the database
declare @orig_cmptlevel tinyint -- original compatibility level
declare @input_cmptlevel tinyint -- compatibility level passed in by user
,@cmptlvl80 tinyint -- compatibility to SQL Server Version 8.0
,@cmptlvl90 tinyint -- compatibility to SQL Server Version 9.0
,@cmptlvl100 tinyint -- compatibility to SQL Server Version 10.0
select @cmptlvl80 = 80,
@cmptlvl90 = 90,
@cmptlvl100 = 100
-- SP MUST BE CALLED AT ADHOC LEVEL --
if (@@nestlevel > 1)
begin
raiserror(15432,-1,-1,'sys.sp_dbcmptlevel')
return (1)
end
-- If no @dbname given, just list the valid compatibility level values.
if @dbname is null
begin
raiserror (15048, -1, -1, @cmptlvl80, @cmptlvl90, @cmptlvl100)
return (0)
end
-- Verify the database name and get info
select @dbid = dbid, @dbsid = sid ,@orig_cmptlevel = cmptlevel
from master.dbo.sysdatabases
where name = @dbname
-- If @dbname not found, say so and list the databases.
if @dbid is null
begin
raiserror(15010,-1,-1,@dbname)
print ' '
select name as 'Available databases:'
from master.dbo.sysdatabases
return (1)
end
-- Now save the input compatibility level and initialize the return clevel
-- to be the current clevel
select @input_cmptlevel = @new_cmptlevel
select @new_cmptlevel = @orig_cmptlevel
-- If no clevel was supplied, display and output current level.
if @input_cmptlevel is null
begin
raiserror(15054, -1, -1, @orig_cmptlevel)
return(0)
end
-- If invalid clevel given, print usage and return error code
-- 'usage: sp_dbcmptlevel [dbname [, compatibilitylevel]]'
if @input_cmptlevel not in (@cmptlvl80, @cmptlvl90, @cmptlvl100)
begin
raiserror(15416, -1, -1)
print ' '
raiserror (15048, -1, -1, @cmptlvl80, @cmptlvl90, @cmptlvl100)
return (1)
end
-- Only the SA or the dbo of @dbname can execute the update part
-- of this procere sys.so check.
if (not (is_srvrolemember('sysadmin') = 1)) and suser_sid() <> @dbsid
-- ALSO ALLOW db_owner ONLY IF DB REQUESTED IS CURRENT DB
and (@dbid <> db_id() or is_member('db_owner') <> 1)
begin
raiserror(15418,-1,-1)
return (1)
end
-- If we're in a transaction, disallow this since it might make recovery impossible.
set implicit_transactions off
if @@trancount > 0
begin
raiserror(15002,-1,-1,'sys.sp_dbcmptlevel')
return (1)
end
set @exec_stmt = 'ALTER DATABASE ' + quotename(@dbname, '[') + ' SET COMPATIBILITY_LEVEL = ' + cast(@input_cmptlevel as nvarchar(128))
-- Note: database @dbname may not exist anymore
exec(@exec_stmt)
select @new_cmptlevel = @input_cmptlevel
return (0) -- sp_dbcmptlevel
GO
語法
[sql] view plain print?
sp_dbcmptlevel [ [ @dbname = ] name ]
[ , [ @new_cmptlevel = ] version ]
參數
[ @dbname = ] name
要為其更改兼容級別的資料庫的名稱。資料庫名稱必須符合標識符的規則。name 的數據類型為 sysname,默認值為 NULL。
[ @new_cmptlevel = ] version
資料庫要與之兼容的 SQL Server 的版本。version 的數據類型為 tinyint,默認值為 NULL。該值必須為下列值之一:
80 = SQL Server 2000
90 = SQL Server 2005
100 = SQL Server 2008
返回代碼值
0(成功)或 1(失敗)
注意事項:
後續版本的 Microsoft SQL Server 將刪除該功能。請不要在新的開發工作中使用該功能,並盡快修改當前還在使用該功能的應用程序。 改為使用 ALTER DATABASE 兼容級別。
㈨ 如何將 12c 資料庫降級為以前的版本
本文檔旨在提供指南和核對清單,用於將之前升級的資料庫從 Oracle 12c 降級回以前的版本:11.2.0.3, 11.2.0.2, 11.1.0.7
必須加以說明的是,將資料庫實例從當前版本降級到升級前的版本時,資料庫不會返回到升級前的完全相同狀態。根據所涉及的版本,升級過程會進行不可逆的更改。用戶使用降級過程可以打開和訪問以前版本的資料庫實例。這通常便已足夠。
可能需要採取其他更正操作(例如卸載/重新安裝或重新升級到當前補丁集級別來解決降級後的遺留問題。如果目標是讓實例返回與升級前完全相同的狀態,則還應使用包括完全恢復到升級前狀態在內的其他過程。
本文中討論的過程是基於腳本的降級。本文不介紹使用導出/導入、數據泵或其他方法將數據從一個版本移動到另一個版本。
您所降級到的版本的 Oracle 二進制文件,在開始降級過程之前應該在伺服器上可用/已安裝。如果您卸載了要降級到的 Oracle 可執行文件,請重新安裝 Oracle 二進制文件到正確的版本/補丁程序級別以降級。
此過程旨在降級已成功升級到 12c 的資料庫,並非用於從失敗的升級退回。您只能降級到升級前所用的版本和補丁程序級別。
直接升級可以在版本 10.2.0.5、11.1.0.7 或版本 11.2.0.2 及更高版本上執行。可以對這些版本中除 10.2.0.5 之外的版本進行降級。
例如,如果通過應用中間補丁程序 11.1.0.7 從 Oracle 11.1.0.6 升級到 Oracle 12c (12.1.0),則不能降級到 Oracle 11.1.0.6。降級只能對直接升級版本執行。
例外:
雖然可以對 10.2.0.5 直接升級,但降級不適用於 10.2.0.5。
這是因為在升級過程中,compatible 參數已設置為最低 11.0.0。這使得無法降級到 10.2.0.5。可以降級的版本為 11.1.0.7、11.2.0.2、11.2.0.3 或更高版本。
如果有任何補丁程序應用到了從升級後的主目錄運行的源資料庫,則需要先回退,然後才能開始降級過程。
卸載和回退補丁程序的步驟記錄在所涉及補丁程序的自述文件中。
未能卸載和回退補丁程序可能會導致無法降級,包括無法重新驗證字典對象。
Exadata 捆綁補丁程序示例,其過程為:
卸載補丁程序
示例: $ opatch auto /u01/app/oracle/patches/14103267 -rollback
回退任何在補丁程序應用過程中應用的 SQL:
示例: SQL> @rdbms/admin/catbundle_EXA_<資料庫 SID>_ROLLBACK.sql,用於回退 SQL 更改。
解決方案
降級前步驟
- XML DB 組件在 12c 中是必需的。
在升級到 12c 期間,將安裝 XML DB 組件(如果未安裝)。
從 12c 降級將刪除安裝的 XDB 組件
- Enterprise Manager 不支持降級。在降級之前,請重新配置 Oracle EM 控制項。請參閱
Oracle Database Upgrade Guide 12c Release 1 (12.1) E17642-10
6 Downgrading Oracle Database to an Earlier Release
6.6.5 Restoring Oracle Enterprise Manager after Downgrading Oracle Database
- 升級到 12c 期間,將刪除 Database Control 資料檔案庫。降級之後,請重新配置 DB Control。
Note 870877.1 How To Save Oracle Enterprise Manager Database Control Data Before Upgrading The Single Instance Database To Other Release ?
Note 876353.1 How To Restore The Oracle Enterprise Manager Data To Downgrade The Single Instance Database To Previous/Source Release ?
- compatible 參數不能已經更改到 12.1.0。
- 禁用 Data Vault(如果已啟用)。
Note 803948.1 How To Uninstall Or Reinstall Database Vault in 11g (UNIX)
Note 453902.1 Enabling and Disabling Oracle Database Vault in WINDOWS
- 如果資料庫使用 Oracle Label Security,則在新 Oracle Database 12c Oracle 主目錄中運行 Oracle Label Security (OLS) 預處理降級 olspredowngrade.sql 腳本(在 $ORACLE_HOME/rdbms/admin 上提供)。
- 時區版本應相同。
- 取消設置並指向 12c 主目錄的 ORA_TZFILE(如果已設置)。
- 如果資料庫上有 Oracle Application Express,則必須將 apxrelod.sql 文件從 Oracle Database 12c $ORACLE_HOME/apex/ 目錄復制到 Oracle 主目錄之外的目錄,例如系統上的臨時目錄以稍後執行。
- 如果基於固定對象創建了對象,則刪除這些對象以避免可能的 ORA-00600 錯誤。您可以在降級之後重新創建這些對象。
- 如果降級集群資料庫,則徹底關閉實例並將 CLUSTER_DATABASE 初始化參數更改為 FALSE。降級之後,必須將此參數設置回 TRUE。
滿足以上先決條件之後,可以繼續進行降級。
資料庫的降級步驟
1) 確保所有資料庫組件有效。只能從成功升級的資料庫執行降級。要驗證資料庫組件狀態,請執行以下查詢
以 SYS 用戶身份連接到資料庫
col comp_id format a10
col comp_name format a30
col version format a10
col status format a8
select substr(comp_id,1,15) comp_id,substr(comp_name,1,30) comp_name,substr(version,1,10) version,status from dba_registry
2) 驗證沒有屬於 sys/system 的無效對象
select owner, count(object_name) "Invalid object count" from dba_objects where status!='VALID' and owner in ('SYS','SYSTEM') group by owner;
如果計數為零,則可以繼續降級。
如果有無效對象,則執行 utlrp.sql 多次,如果對象無法解析為有效狀態,則不能繼續降級。建立 SR 或在 DBA 社區上發帖以尋求幫助。
或者,對於 1 和 2,運行以下腳本:
Note 556610.1 Script to Collect DB Upgrade/Migrate Diagnostic Information (dbupgdiag.sql)
3) 關閉資料庫
Shutdown immediate
4) 對 12c 資料庫做備份
5) 以降級模式啟動資料庫
Startup downgrade;
6) 執行降級腳本
Sql> Spool downgrade.log
Sql> @$ORACLE_HOME/rdbms/admin/catdwgrd.sql
註:
$ORACLE_HOME 應指向 12c 主目錄
catdwgrd.sql 腳本將資料庫中的所有組件降級到支持的主版本或補丁集版本(您最初升級時的版本)
Sql> spool off
Sql> shutdown immediate
Exit SQL Plus
Sql> exit;
7) 如果操作系統為 LINUX/UNIX:
將以下環境變數更改為要降級到的源資料庫:
ORACLE_HOME
PATH
編輯 /etc/oratab or /var/opt/oracle/oratab 以更改
將資料庫映射到源資料庫 Oracle 主目錄
如果操作系統是 Windows,則完成以下步驟:
a. 停止所有 Oracle 服務,包括 Oracle Database 12c 資料庫的 OracleServiceSID Oracle 服務,其中 SID 是實例名稱。
例如,如果 SID 為 ORCL,則在命令行提示符中輸入以下內容:
C:\> NET STOP OracleServiceORCL
b. 在命令提示符下,通過運行 ORADIM 命令刪除 Oracle 服務。如果出現提示,則輸入此 Windows 系統上活動標准用戶帳戶的口令。
例如,如果 SID 為 ORCL,則輸入以下命令:
C:\> ORADIM -DELETE -SID ORCL
c. 在命令提示符下,使用 ORADIM 命令創建要降級的資料庫的 Oracle 服務。
C:\> ORADIM -NEW -SID SID -INTPWD PASSWORD -MAXUSERS USERS
-STARTMODE AUTO -PFILE ORACLE_HOME\DATABASE\INITSID.ORA
8) 還原配置文件
將配置文件(口令文件、參數文件等)還原到降級版本的 ORACLE_HOME。
9) 如果這是 Oracle RAC 資料庫,則執行以下命令以將資料庫修改為單實例模式:
SET CLUSTER_DATABASE=FALSE
10) 從降級版本 $ORACLE_HOME/rdbms/admin 目錄執行 catrelod 腳本。
啟動 sqlplus,以具有 sysdba 許可權的用戶 SYS 身份連接到資料庫實例,然後以升級模式啟動資料庫:
: cd $ORACLE_HOME/rdbms/admin
: sqlplus
sql> connect sys as sysdba
sql> startup upgrade
sql> spool catrelod.log
sql> @?/rdbms/admin/catrelod.sql
sql> spool off
catrelod.sql 腳本在降級的資料庫中重新載入各個資料庫組件的合適版本。
11) 運行 utlrp.sql 腳本:
SQL> @utlrp.sql
Sql> exit;
utlrp.sql 腳本重新編譯先前處於 INVALID 狀態的所有現有 PL/SQL 模塊,例如 package、procere、type 等。
12) 檢查已降級資料庫的狀態:
Note 556610.1 Script to Collect DB Upgrade/Migrate Diagnostic Information (dbupgdiag.sql)
此 sql 腳本是一組查詢語句,用於提供用戶友好的輸出,以在升級前後診斷資料庫的狀態。腳本將創建名為 db_upg_diag_<sid>_<時間戳>.log 的文件。
13) 降級之後,可能在 sys 用戶下發現無效的 QT 視圖。這是因為視圖已從基表中選擇了錯誤的列。您需要重新創建這些視圖。
請參閱說明:
Note 1520209.1 QT_*BUFER Views Invalid after downgrade from 12C
降級後步驟:
1)如果您是降級到 Oracle Database 11g 版本 1 (11.1.0.7) 並且資料庫中有 Oracle Application Express,則轉到您將 apxrelod.sql 腳本復制到的目錄(在降級前步驟中)。
運行 apxrelod.sql 腳本以手動重新載入 Oracle Application Express:
SQL> @apxrelod.sql
運行 apxrelod.sql 腳本以避免程序包 APEX_030200.WWV_FLOW_HELP 由於以下錯誤而成為 INVALID 狀態:
PLS-00201: identifier 'CTX_DDL' must be declared
2) 如果資料庫中啟用了 Oracle Label Security,則執行以下腳本
a. 從 Oracle Database 12c 的 Oracle 主目錄下將 olstrig.sql 腳本復制到要將資料庫降級到的版本的 Oracle 主目錄。
b. 從降級到的版本的 Oracle 主目錄,運行 olstrig.sql 以在表上使用 Oracle Label Security 策略重新創建 DML 觸發器:
SQL> @olstrig.sql
3) 如果降級集群資料庫,則必須運行以下命令以降級 Oracle Clusterware database 配置:
$ srvctl downgrade database -d db-unique-name -o oraclehome -t to_version
其中 db-unique-name 是資料庫名稱(而非實例名稱),oraclehome 是已降級資料庫的舊 Oracle 主目錄的位置,to_version 是資料庫所降級到的資料庫版本
㈩ 如何將高版本的資料庫還原到低版本伺服器
本例為sql2012 還原到sql2008。
要實現的功能是把sql2012的資料庫備份到sql2008,資料庫名字為Test,並且這兩個資料庫在不同的電腦中。
微軟的軟體設計方案基本上都是新版本兼容舊版本,舊版本不兼容新版本
步驟如下:
1、首先把要把sql2012中要備份的資料庫設置為兼容2008。
右鍵sql2012中的資料庫Test-屬性-選項 看到如下圖:
注意綠色部分。此時顯示的資料庫文件位置是sql2012電腦的位置。需要把這兩個地址改為 sql2008 中 復制過來的那兩個源文件的地址即可。按【F5】鍵執行,即可完成資料庫從SQL2012到SQL2008的降級。