依照以下步驟可以實現移動sybsystemprocs系統數據庫以及設備的任務。同時這個過程也可以用來擴建sybsystemprocs系統數據庫。
以下過程中所提到的語法結構,可以參看Sybase相關資料。
Sybase提醒您,在修改系統表時,SQL Server要以單用戶模式運行,同時要以"sa"用戶登錄。
- 保留駐留在sybsystemprocs系統數據庫中自定義的存儲過程腳本。
- 單用戶模式啟動SQL Server,執行:
1> sp_configure "allow updates",1
2> go
1> reconfigure with override(10.0版本以上,省略此步)
2> go
- 刪除sybsystemprocs系統數據庫:
1> use master
2> go
1> drop database sybsystemprocs
2> go
在重建sybsystemprocs系統數據庫之前,不要創建任何其他數據庫。
- 刪除sysdevices系統表中有關sybsystemprocs系統數據庫的信息:
1> begin tran
2> delete from sysdevices where name="sysprocsdev"
我們假定sysprocsdev是默認的sybsystemprocs系統數據庫設備名。
3> select * from sysdevices
確定刪除是否正確有效,如果正確,執行:
4> commit tran
否則,執行:
4>rollback
- 重啟SQL Server.
- 創建sybsystemprocs系統數據庫設備:
1> disk init name="sysprocsdev",physname="physical_path",vdevno=4,size=25600
2> go
其中size是以頁為單位(512頁=1M)。
sybsystemprocs系統數據庫設備的vdevno應該是4,SQL Server在單用戶模式下4不能被重新利用,所以如果以上語句執行時出現問題,請重啟SQL Server。
- sybsystemprocs系統數據庫:
1> create database sybsystemprocs on sysorocsdev=50
2> go
在sysdatabases系統表中,sybsystemprocs系統數據庫的dbid=4,如果在重建
sybsystemprocs系統數據庫之前,沒有創建任何其他數據庫。
- 以多用戶模式啟動SQL Server,並執行:
1> sp_configure "allow updates",0
2> go
3> reconfigure with override(10.0版本以上,省略此步)
4> go
- 運行installmaster腳本:
%isql -Usa -Psa_passWord -Sserver_name -n -iinstallmaster -o< output_file
installmaster腳本在$Sybase/scripts路徑下。
- 重建sybsystemprocs系統數據庫中的用戶自定義存儲過程 。