どういうわけか、数十年前に、データベースで始まるテーブルが作成されました#
。オブジェクトエクスプローラーでは、アプリのデータベースの下に表示されますが、ではありませんtempdb
。何らかの理由で、Azureはこのようなデータベースをインポートしません。
ドロップしたり、名前を変更したり、操作したりすることはできません。オブジェクトエクスプローラーからの削除、スクリプトドロップ、GUIからの名前変更を試みましたが、いずれも機能しませんでした。
SQL 2008 R2を使用しています。
drop table [*app*].[dbo]."#OBSOLETE";
Database name '*app*' ignored, referencing object in tempdb.
Msg 3701, Level 11, State 5, Line 1
Cannot drop the table '#OBSOLETE', because it does not exist or you do not
have permission.
exec sp_rename "dbo.#OBSOLETE", "dbo.obsolete"
Msg 15225, Level 11, State 1, Procedure sp_rename, Line 338
No item by the name of 'dbo.#OBSOLETE' could be found in the current database '*app*', given that @itemtype was input as '(null)'.
これをAzureに移行できるように、このオブジェクトを強制終了するにはどうすればよいですか?
SELECT [name], CONVERT(VARBINARY(128), [name]) FROM sys.tables WHERE [name] = N'#OBSOLETE';
。ありがとう。
object_id
そのテーブルを取得します。2)インスタンスをシングルユーザーモードで再起動します。3) Dedicated Admin Connectionを介して接続します。4)そのDBで、次のようなものを試してくださいUPDATE sys.objects$ SET [name] =N'obsolete' WHERE [object_id] = {ye_olde_object_id}; {enter} GO {enter}
。フォートワースショット...