Shrink

收縮 SQL Anywhere 12 數據庫

  • June 27, 2016

有沒有辦法縮小 SQL Anywhere 數據庫?

使用 SQL Server,這是一項簡單的任務。就這樣做,再次擁有一個更快的數據庫,該數據庫的大小可以通過慢速網際網路連接進行傳輸。

這可以用 Sybase 實現嗎?

問題不在於你是否應該收縮——而是它是如何完成的。所以請不要引用 Pinal 的“你不應該”之類的話。

您不能線上收縮 SQL Anywhere 數據庫。

“正確”的方法是在新數據庫中解除安裝/重新載入它。

通過 Sybase Central 很容易做到這一點。通過命令行它是dbunload帶有-an命令行開關的命令。請參閱文件中的解除安裝實用程序 (dbunload)

預設情況下,縮小的數據庫並不比“未縮小”的數據庫快。

在命令行中:

dbunload -c "UID=username;PWD=password;DBF=DB_old.db" -an "DB_new"
  • DB_old.db 是原始數據庫的名稱。
  • DB_new.db 是收縮後的數據庫的名稱。
  • “DB_old”和“DB_new”文件的位置是相對於正在執行的伺服器的路徑。
  • 如果數據庫空間中有多個文件:
DB1_old.db, DB2_old.db, ... DBn_old.db

然後就是結果

DB1_new.dbr, DB2_new.dbr .... DBn_new.dbr

幫助中提供了連接字元串的範例:解除安裝實用程序 (dbunload)

引用自:https://dba.stackexchange.com/questions/43221