Вызов sp_rename для таблицы уничтожает соединение с базой данных в Sybase - PullRequest
0 голосов
/ 16 августа 2010

Я пытаюсь переименовать таблицу, используя следующий синтаксис

sp_rename [oldname],[newname]

, но каждый раз, когда я запускаю это, я получаю следующее [используя Aqua Datastudio]:

 Command was executed successfully

 Warnings: ---> 
   W (1): The SQL Server is terminating this process.
          <--- 
 [Executed: 16/08/10 11:11:10 AM] [Execution: 359ms] 

Затем соединение сбрасывается (больше ничего не могу сделать в текущем анализаторе запросов (уникальный spid для каждого окна))

Нужно ли использовать master при выполнении этих команд или ячто-то еще не так?

Ответы [ 2 ]

0 голосов
/ 27 августа 2010

старайтесь избегать использования " sp_rename ". Потому что некоторые ссылки в системных таблицах остаются как старые имена. Когда-нибудь это может вызвать некоторые неисправности, если вы забудете об этом изменении.

Я предлагаю;

select * into table_backup from [tableRecent]
go
select * into [tableNew] from table_backup
go
drop table [tableRecent] -- in case of backup you may not drop that table
go
drop table table_backup -- in case of backup you may not drop that table
go
  • чтобы достичь этого; в вашей базе данных есть опция "выбрать в / массовая копия / pllsort"
  • если ваша атака огромна, проверьте свободное место в этой базе данных.

и наслаждайтесь:)

0 голосов
/ 17 августа 2010

Вы не должны получать поведение, которое вы видите.Это должно либо вызвать ошибку (например, если у вас нет разрешения), либо работать успешно.Я подозреваю, что что-то идет не так под одеялом.

Вы проверили журнал ошибок для сервера ASE?Обычно такого рода проблемы (принудительно закрываемые соединения) сопровождаются записью в журнале ошибок с чуть более подробной информацией.

Журнал ошибок будет находиться на хосте, на котором работает сервер ASE, и, вероятно,находиться в том же месте, в котором установлена ​​ASE.Что-то вроде /opt/sybase/ASE-12_5/install/errorlog_MYSERVER

...