★ 檢查出帶自增長列的表.
SELECT name FROM sysobjects where id in (
select id from syscolumns where status=128 )
★ 字符串長度判斷
SELECT datalength('abcd') =4
★ 反向生成腳本
Sybase Central DDL 出腳本無法創建 sybase 12.0 為例
用打開腳本方式 查看 有"紫底黃符"的特殊符號, 造成相鄰2個單詞連寫, 用空格分開即可, 或者直接拷貝出 "打開腳本"方式下的內容創建即可.
★ SYBASE 12.5 環境下時間郵戳 反復報錯的問題
00:00000:00001:2006/09/04 07:23:38.35 server Error: 3474, Severity: 21, State: 1
00:00000:00001:2006/09/04 07:23:38.35 server During redo the page timestamp value is less than old timestamp from log. Page #=2032, object id = 5, page timestamp=0000 00007bd3. Log old timestamp=0000 0011cc10.
這個實在無法搞定, 表輪番損壞, 軟件 硬件 全都查過, BCP 重新倒數據 多次,SYBASE 也重新安裝過, 硬件也更換,升級了. 最後的結論
可能IBM X260 + SYBASE 12.5 這2個"人" 實在過不到一起. 最後方案 IBM X260+11.92
SYBASE 12.5 這個版本開始需要人工來配置高速緩存,可能它的配置和IBM X260對系統緩存管理有沖突? 還有就是客戶購買這個機器的時候
是剛推出的時候. 也許內部不夠完善?
★ SYBASE 11.92 環境下 有時候做表統計無法通過 需要打補丁解決, 補丁前後版本號如下
Adaptive Server Enterprise/11.9.2/1031/P/NT (IX86)/OS 3.51,4.0/FBU/Fri Aug 14 01:42:41 1998
Adaptive Server Enterprise/11.9.2.6/1290/P/EBF 10489 ESD1/NT (IX86)/OS 3.51,4.0/FBU/Mon Jul 15 02:52:37 2002
補丁可聯系作者 :)
★ 重新導了系統之後 發現大多存儲過程不能用 提示:
A user transaction is already in progress.
SETUSER command not allowde within multi-statement transaction.
那是因為 過程生成有錯誤 ENDGO 連寫了 批量替換中 去掉了 go
這樣後面的語句 SETUSER
和 go 寫到了存儲過程裡面.
照成過程錯誤. 修正即可.
本文出自“L&J Blog”