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_idtabel 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 ..