#
อย่างใดทศวรรษที่ผ่านมาตารางได้สร้างขึ้นในฐานข้อมูลของเราที่เริ่มต้นด้วย มันแสดงให้เห็นในวัตถุ Explorer tempdb
ที่ใต้ฐานข้อมูลของแอปไม่ได้อยู่ใน ด้วยเหตุผลบางอย่าง Azure จะไม่นำเข้าฐานข้อมูลเช่นนี้
เราไม่สามารถวางเปลี่ยนชื่อหรือโต้ตอบกับมันได้ ฉันได้ลองลบจาก Object Explorer, Script Drop , Renameจาก 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)UPDATE sys.objects$ SET [name] =N'obsolete' WHERE [object_id] = {ye_olde_object_id}; {enter} GO {enter}
ในฐานข้อมูลที่ลองสิ่งที่ต้องการ คุ้มค่ากับการยิง ..