เพียงเปลี่ยนจาก sysobjects และ sysusers เป็น sys.tables และ sys.schemas
declare @name varchar(128), --ประกาศตัวแปรสำหรับเก็บชื่อ ตาราง @user varchar(128), --ประกาศตัวแปรสำหรับเก็บชื่อ เจ้าของตาราง @statement varchar(1000) declare tablename cursor for --ประกาศตัวแปร cursor ข้อมูล select t.name, s.name from sys.tables as t, sys.schemas as s where t.schema_id = s.schema_id open tablename --เปิด cursor fetch next from tablename --อ่านข้อมูลจาก cursor และให้ข้อมูลเข้าตัวแปร into @name, @user while @@fetch_status = 0 -- วนลูป cursor จนกว่าหมดข้อมูล begin set @statement = 'DBCC DBREINDEX (''[' + @user + '].[' + @name + ']'')' --สร้าง sql statement เพื่อ re-index ตาราง endprint @statement + '...' execute (@statement) -- สั่งให้ execute sql statement ที่ re-index ตาราง fetch next from tablename into @name, @user close tablename -- ปิด cursor deallocate tablename -- เคลียร์ memory go |
No comments:
Post a Comment