Entah bagaimana, beberapa dekade yang lalu, sebuah tabel dibuat di basis data kami yang dimulai dengan a #
. Itu muncul di Object Explorer di bawah database aplikasi, bukan di tempdb
. Untuk beberapa alasan, Azure tidak akan mengimpor basis data seperti ini.
Kami tidak dapat menjatuhkannya, mengganti nama, atau berinteraksi dengannya. Saya sudah mencoba Hapus dari Object Explorer, Drop Script , Ganti nama dari GUI dan tidak ada yang bekerja.
Kami menggunakan 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)'.
Bagaimana cara kita membunuh objek ini sehingga kita bisa memigrasi ini ke Azure?
SELECT [name], CONVERT(VARBINARY(128), [name]) FROM sys.tables WHERE [name] = N'#OBSOLETE';
. Terima kasih.
object_id
tabel itu. 2) Mulai ulang instance dalam mode pengguna tunggal. 3) terhubung melalui Koneksi Admin Khusus. 4) Dalam DB itu, coba sesuatu seperti UPDATE sys.objects$ SET [name] =N'obsolete' WHERE [object_id] = {ye_olde_object_id}; {enter} GO {enter}
. Layak dicoba ..