通过SQL Server 2005系统函数存档代码Ⅲ
现在我们的数据库中已经有了一些对象,我们可以创建用来存档数据库中存储过程需要的对象和代码。在列表B中的脚本可以为我们完成这项工作。 IF OBJECT_ID('CodeArchive','U')>0 DROP TABLE CodeArchiveCREATE TABLE CodeArchive( ArchiveID INT IDENTITY(1,1) PRIMARY KEY, ObjectName SYSNAME, ObjectDescription VARCHAR(60), ObjectType CHAR(2), ObjectDefinition VARCHAR(MAX), ObjectID INT, CreationDate DATETIME, ModifiedDate DATETIME, EntryDate DATETIME DEFAULT(GETDATE()))INSERT INTO CodeArchive( ObjectName, ObjectDescription, ObjectType, ObjectDefinition, ObjectID, CreationDate, ModifiedDate)SELECT so.name, so.type_desc, so.type, OBJECT_DEFINITION(object_id), so.object_id, so.create_date, so.modify_date FROM sys.objects soWHERE so.[type] IN('C', 'D', 'P', 'FN', 'R', 'RF', 'TR', 'IF', 'TF', 'V')存档方案首先要求有一个用来存储我们定义代码的表格,和在上面的表格脚本中看到的一样,我们将对象定义代码存入表格的ObjectDefinition域,这是一个VARCHAR(MAX)数据类型的域。VARCHAR(MAX)是SQL Server 2005新增的一种数据类型,它可以存储高达2GB的有效数据。这样我们就不在局限于文本数据类型或者将我们的数据保存在一个单个数据页上。这种数据类型存储我们的对象毫无问题。 此文章出自达思SQL数据恢复软件
| |