SqlServer 데이터 테이블 및 열에 대한 설명 삭제

10458 단어
최근 프로젝트는 개인 클라우드에 배치할 계획이 있다.마지막 존엄을 위해서 완전한 데이터베이스를 상대방에게 역공정으로 줄 수 없다.데이터 테이블과 열의 설명을 삭제해야 한다.
코드를 직접 올리는 커서 처리 방식.
 1 --   
 2 DECLARE @tn NVARCHAR(50)
 3 DECLARE c CURSOR FOR SELECT t.name FROM sys.tables AS t INNER JOIN sys.extended_properties AS p ON t.[object_id]=p.major_id WHERE t.[type]='U' AND p.minor_id = 0 AND p.[name] = N'MS_Description' ORDER BY t.name
 4 OPEN c
 5 FETCH NEXT FROM c INTO @tn
 6 WHILE @@FETCH_STATUS=0
 7 BEGIN
 8     EXEC sys.sp_dropextendedproperty @name = N'MS_Description' ,@level0type = N'SCHEMA', @level0name = N'gxjt' , @level1type = N'TABLE' ,@level1name = @tn;
 9     FETCH NEXT FROM c INTO @tn
10 END
11 CLOSE c
12 DEALLOCATE c
13 GO
14 
15 --   
16 DECLARE @tn NVARCHAR(50),@cn NVARCHAR(50)
17 DECLARE c CURSOR FOR SELECT t.name AS tn,l.name AS cn FROM sys.[columns] AS l INNER JOIN sys.extended_properties AS p ON l.[object_id]=p.major_id AND l.column_id=p.minor_id INNER JOIN sys.tables AS t ON l.[object_id]=t.[object_id] WHERE t.[type]='U' AND p.[name] = N'MS_Description' ORDER BY t.name,l.name
18 OPEN c
19 FETCH NEXT FROM c INTO @tn,@cn
20 WHILE @@FETCH_STATUS=0
21 BEGIN
22     EXEC sys.sp_dropextendedproperty @name = N'MS_Description' ,@level0type = N'SCHEMA', @level0name = N'gxjt' , @level1type = N'TABLE' ,@level1name = @tn,@level2type = N'COLUMN',@level2name=@cn;
23     FETCH NEXT FROM c INTO @tn,@cn
24 END
25 CLOSE c
26 DEALLOCATE c
27 GO

좋은 웹페이지 즐겨찾기