Upgrade Image&ntext to varbinarymax&nvarchar(max)
CREATE PROCEDURE SP_EXEC_WITH_LOG(@I_TICKETNO VARCHAR(10),@I_SQLSTR nvarchar(max))
AS
BEGIN
DECLARE @QUOTATION_TRANSFER_STR nvarchar(max);
SET @QUOTATION_TRANSFER_STR = REPLACE(@I_SQLSTR,'''','''''');
BEGIN TRY
EXEC SP_EXECUTESQL @I_SQLSTR;
EXEC GPUPGRADE_LOGGING @I_TICKETNO,@QUOTATION_TRANSFER_STR,'SUCCESS',0
END TRY
BEGIN CATCH
declare @message varchar(2000);
select @message = ERROR_MESSAGE();
EXEC GPUPGRADE_LOGGING @I_TICKETNO,@QUOTATION_TRANSFER_STR,@message,1
END CATCH
END
GO
CREATE PROCEDURE UPDATE_IMAGE_TO_VARBINARYMAX
AS
BEGIN
declare @vstr nvarchar(1000);
declare @vtabname nvarchar(100);
declare @vSchemaName nvarchar(100);
declare @vcolumnName nvarchar(100);
declare c_table cursor scroll for select TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where DATA_TYPE='image' and (table_schema='gpglobal' or table_schema like 'gpcomp%');
declare c_view cursor scroll for select TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where DATA_TYPE='image' and table_schema ='dbo';
declare c_small_table cursor scroll for
select TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS
where DATA_TYPE='varbinary'
and CHARACTER_MAXIMUM_LENGTH=-1
and (table_schema='gpglobal' or table_schema like 'gpcomp%')
and TABLE_NAME not like '%_arch';
open c_table;
fetch first from c_table into @vSchemaName,@vtabname,@vcolumnName;
while @@fetch_status = 0
begin
set @vstr = '';
set @vstr = N'ALTER TABLE '+@vSchemaName+'.'+@vtabname+' ALTER COLUMN '+@vcolumnName+' VARBINARY(MAX)';
print @vstr;
exec SP_EXECUTESQL @vstr;
fetch next from c_table into @vSchemaName,@vtabname,@vcolumnName;
end;
close c_table;
deallocate c_table;
set @vSchemaName = '';
set @vtabname = '';
set @vcolumnName = '';
open c_view;
fetch first from c_view into @vSchemaName,@vtabname,@vcolumnName;
while @@fetch_status = 0
begin
set @vstr = '';
set @vstr = N'DROP VIEW ['+ @vSchemaName+'].['+@vtabname +']';
print @vstr;
exec SP_EXECUTESQL @vstr;
set @vstr = '';
set @vstr = N'CREATE VIEW ['+ @vSchemaName+'].['+@vtabname +'] AS SELECT * FROM GPGLOBAL.'+@vtabname ;
print @vstr;
exec SP_EXECUTESQL @vstr;
fetch next from c_view into @vSchemaName,@vtabname,@vcolumnName;
end;
close c_view;
deallocate c_view;
set @vSchemaName = '';
set @vtabname = '';
set @vcolumnName = '';
open c_small_table;
fetch first from c_small_table into @vSchemaName,@vtabname,@vcolumnName;
while @@fetch_status = 0
begin
set @vstr = '';
set @vstr = N'UPDATE '+@vSchemaName+'.'+@vtabname+' SET '+@vcolumnName+' = '+@vcolumnName;
print @vstr;
exec SP_EXECUTESQL @vstr;
set @vstr = N'ALTER INDEX ALL ON ' +@vSchemaName+'.'+@vtabname+ ' reorganize WITH (LOB_COMPACTION=ON)';
print @vstr;
exec SP_EXECUTESQL @vstr;
fetch next from c_small_table into @vSchemaName,@vtabname,@vcolumnName;
end;
close c_small_table;
deallocate c_small_table;
END
GO
CREATE PROCEDURE UPDATE_NTEXT_TO_VARCHARMAX
AS
BEGIN
declare @vstr nvarchar(1000);
declare @vtabname nvarchar(100);
declare @vSchemaName nvarchar(100);
declare @vcolumnName nvarchar(100);
declare c_table cursor scroll for select TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where DATA_TYPE='ntext' and (table_schema='gpglobal' or table_schema like 'gpcomp%');
declare c_view cursor scroll for select TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where DATA_TYPE='ntext' and table_schema ='dbo';
declare c_small_table cursor scroll for
select TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS
where DATA_TYPE='nvarchar'
and CHARACTER_MAXIMUM_LENGTH=-1
and (table_schema='gpglobal' or table_schema like 'gpcomp%')
and TABLE_NAME not like '%_arch'
and TABLE_NAME not in(
'GPRECL'
,'GPPROB'
,'GPCRDLOGS'
,'GPCUSTBLOB'
,'GPRECLLOG'
,'GPACTV'
);
open c_table;
fetch first from c_table into @vSchemaName,@vtabname,@vcolumnName;
while @@fetch_status = 0
begin
set @vstr = '';
set @vstr = N'ALTER TABLE '+@vSchemaName+'.'+@vtabname+' ALTER COLUMN '+@vcolumnName+' NVARCHAR(MAX)';
print @vstr;
exec SP_EXECUTESQL @vstr;
fetch next from c_table into @vSchemaName,@vtabname,@vcolumnName;
end;
close c_table;
deallocate c_table;
set @vSchemaName = '';
set @vtabname = '';
set @vcolumnName = '';
open c_view;
fetch first from c_view into @vSchemaName,@vtabname,@vcolumnName;
while @@fetch_status = 0
begin
set @vstr = '';
set @vstr = N'DROP VIEW ['+ @vSchemaName+'].['+@vtabname +']';
print @vstr;
exec SP_EXECUTESQL @vstr;
set @vstr = '';
set @vstr = N'CREATE VIEW ['+ @vSchemaName+'].['+@vtabname +'] AS SELECT * FROM GPGLOBAL.'+@vtabname ;
print @vstr;
exec SP_EXECUTESQL @vstr;
fetch next from c_view into @vSchemaName,@vtabname,@vcolumnName;
end;
close c_view;
deallocate c_view;
set @vSchemaName = '';
set @vtabname = '';
set @vcolumnName = '';
open c_small_table;
fetch first from c_small_table into @vSchemaName,@vtabname,@vcolumnName;
while @@fetch_status = 0
begin
set @vstr = '';
set @vstr = N'UPDATE '+@vSchemaName+'.'+@vtabname+' SET '+@vcolumnName+' = '+@vcolumnName;
print @vstr;
exec SP_EXECUTESQL @vstr;
set @vstr = N'ALTER INDEX ALL ON ' +@vSchemaName+'.'+@vtabname+ ' reorganize WITH (LOB_COMPACTION=ON)';
print @vstr;
exec SP_EXECUTESQL @vstr;
fetch next from c_small_table into @vSchemaName,@vtabname,@vcolumnName;
end;
close c_small_table;
deallocate c_small_table;
END
GO
exec UPDATE_IMAGE_TO_VARBINARYMAX;
GO
exec UPDATE_NTEXT_TO_VARCHARMAX;
GO
drop PROCEDURE UPDATE_IMAGE_TO_VARBINARYMAX;
go
drop PROCEDURE UPDATE_NTEXT_TO_VARCHARMAX;
GO
SELECT * FROM gpmainuser.UPGRADE_LOG;
GO
select * from INFORMATION_SCHEMA.COLUMNS where DATA_TYPE='nvarchar' and TABLE_SCHEMA='GPcomp1'
UPDATE gpcomp1.GARECEIPT_ARCH SET FEED_DATA = FEED_DATA;
select TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME
from INFORMATION_SCHEMA.COLUMNS i , sys.index_columns idx
where DATA_TYPE='ntext' and (table_schema='gpglobal' or table_schema like 'gpcomp%');
select s.name,o.name,I.name,c.name,t.name
from
sys.columns c,
sys.index_columns ic ,
sys.indexes i ,
sys.objects o,
sys.schemas s,
sys.types t
where i.object_id = ic.object_id
and i.index_id = ic.index_id
and i.object_id = o.object_id
and s.schema_id = o.schema_id
and ic.column_id =c.column_id
and t.system_type_id = c.system_type_id
and (s.name ='gpglobal' or s.name like 'gpcomp%')
and o.name ='GPRECL'
and c.name = 'REMARKS'
and t.name = 'ntext'
select distinct s.name,o.name,i.name,c.name,t.name
from
sys.columns c,
sys.index_columns ic ,
sys.indexes i ,
sys.objects o,
sys.schemas s,
sys.types t
where i.object_id = ic.object_id
and i.index_id = ic.index_id
and i.object_id = o.object_id
and s.schema_id = o.schema_id
and ic.column_id = c.column_id
and ic.object_id = c.object_id
and t.system_type_id = c.system_type_id
and (s.name ='gpglobal' or s.name like 'gpcomp%')
and o.name ='GPCRDLOGS'
and t.name = 'ntext'
select * from sys.indexes
select * from sys.index_columns
select * from sys.columns
select * from sys.objects where name ='GPCRDLOGS'
select * from sys.schemas
select * from sysindexes
select * from sys.types
select * from sys.data_spaces;
select * from sysindexes
select object_name(id) tablename,
8*reserved/1024 reservedMB,
rtrim(8*dpages/1024)+'Mb' used,
8*(reserved-dpages)/1024 unused,
8*dpages/1024-rows/1024*minlen/1024 free,rows,*
from sysindexes
where indid=1 AND object_name(id)='GPCRDLOGS'
order by reserved desc
exec sp_spaceused N'GPCOMP1.GPCRDLOGS'
exec sp_refreshview N'gpcomp1.aa'
http://connect.microsoft.com/SQLServer/feedback/details/669621/sp-refreshview-fails-for-views-that-were-created-without-explicitly-qualifying-their-schema-name
http://mitchelsellers.com/blogs/2007/07/27/determing-sql-server-table-size.aspx
http://therightstuff.de/CommentView,guid,df930155-f60f-4f56-ab33-f1352ff091a1.aspx
http://msdn.microsoft.com/en-us/library/hh245121.aspx
http://technet.microsoft.com/zh-cn/library/ms162833.aspx
http://technet.microsoft.com/zh-cn/library/ms162808%28v=sql.105%29.aspx
http://technet.microsoft.com/zh-cn/library/ms162843.aspx
http://technet.microsoft.com/zh-cn/library/ms180944.aspx
http://technet.microsoft.com/en-us/library/ms188603%28v=sql.105%29.aspx
http://blogs.msdn.com/b/sqlserverfaq/archive/2008/10/14/sql-server-can-perform-slow-after-changing-the-cost-threshold-for-parallelism.aspx
http://sqlblog.com/blogs/jonathan_kehayias/archive/2010/01/19/tuning-cost-threshold-of-parallelism-from-the-plan-cache.aspx
http://www.mssqlcity.com/Articles/Undoc/SQL2000UndocSP.htm
http://my.oschina.net/tangyu/blog/79120
http://sqlmag.com/t-sql/varbinarymax-tames-blob
http://www.poorren.com/sqlserver-2005-varcharmax-nvarcharmax-varbinarymax/
http://blog.csdn.net/xianshengsun/article/details/7657654
http://blog.csdn.net/xianshengsun/article/details/7657551
Determing SQL Server Table Size
Upgrade Image&ntext to varbinarymax&nvarchar(max)的更多相关文章
- SQL 2005中char、nchar、varchar、ntext and nvarchar(max)的区别
原文地址 MS SQL大值数据类型varchar(max).nvarchar(max).varbinary(max) 在MS SQL2005及以上的版本中,加入大值数据类型(varchar(max). ...
- nvarchar(MAX) 、ntext的差别
今天在做一个项目时,程序成功向数据库插入一条数据, 插入的是一篇比较大的文章,而且还有很多样式. Id是int型,Content用的是 ntext类型的 但是当我在手动改数据库Id时出现错误: 错误源 ...
- sql中nvarchar(max)长度测试
nvarchar(max)长度测试:在使用convert强制类型转化之后 文本长度可以突破8000的上限.并且nvarchar(max)的最大长度可达到2^31以下为验证SQL: Declare @A ...
- MS SQL大值数据类型varchar(max)、nvarchar(max)、varbinary(max)
在MS SQL2005及以上的版本中,加入大值数据类型(varchar(max).nvarchar(max).varbinary(max) ).大值数据类型最多可以存储2^30-1个字节的数据. 这几 ...
- Sql server中的 nvarchar(max) 到底有多大?(转载)
问题: SQL server中的nvarchar(max)最大的长度是4000个字吗? 如果字段的内容超过4000个字时用什么类型呢?text 还是binary?他们的最大长度是多少?比如字段放的是长 ...
- 关于varchar(max), nvarchar(max)和varbinary(max)
在MS SQL2005及以上的版本中,加入大值数据类型(varchar(max).nvarchar(max).varbinary(max) ).大值数据类型最多可以存储2^30-1个字节的数据.这几个 ...
- SQL Server中VARCHAR(MAX)和NVARCHAR(MAX)使用时要注意的问题(转载)
在Microsoft SQLServer2005及以上的版本中,对于varchar(n).nvarchar(n)和varbinary(n)有了max的扩展.可以使用如:varchar(max).nva ...
- sql中NVARCHAR(MAX) 性能和占空间分析 varchar(n),nvarchar(n) 长度性能及所占空间分析
varchar(n),nvarchar(n) 中的n怎么解释: nvarchar(n)最多能存n个字符,不区分中英文. varchar(n)最多能存n个字节,一个中文是两个字节. 所占空间: nvar ...
- --查询nvarchar(max)的表和字段
--查询nvarchar(max)的表和字段 select 'insert into #tempTabelInfo select '''+d.name+''', '''+a.name+''', max ...
随机推荐
- Redis错误配置详解
在使用Redis做缓存时,应用往往能得到非常高的性能.然而,如果配置不当,你将遇到很多令人头疼的问题,比如复制缓冲区限制.复制超时等. Redis提供了许多提高和维护高效内存数据库使用的工具.在无需额 ...
- stringstream 使用方法
C++中的stringstream是专门用来处理字符串流的,可以按顺序将string或int都拼接起来,而不用把int转换为string格式,使用方法如下: #include <string&g ...
- C# - Dbhelp
dbhelp.cs using System; using System.Data; using System.Data.Common; using System.Configuration; pub ...
- 在Linux中安装SEP Client
1. 下载Symantec_Endpoint_Protection_12.1.5_Linux_Client_EN, 解压其中的sep-deb.zip 2. 若直接sudo ./install.sh ...
- 相关css 细节处理 neat.css
人性化的细节处理 例如: textarea 默认只能垂直拖动,防止宽度改变破坏布局. textarea { resize: vertical; } 汉字字号小于 12px 不易阅读,为 <sma ...
- mongodb 3.2 分片部署步骤
#linux 网络优化1. 文件中/etc/sysctl.conf, 加入net.core.somaxconn = 2048fs.file-max = 2000000fs.nr_open = 2000 ...
- web-content和web-info目录问题
1.资源文件只能放在WebContent下面,如 CSS,JS,image等.放在WEB-INF下引用不了. 2.页面放在WEB-INF目录下面,这样可以限制访问,提高安全性.如JSP,html 3. ...
- RT-Thread信号量实际运用—按键点灯
上面是魔笛开发板上 LED 和按键的 IO 分布,我们通过信号量的方法来同步按键线程和LED 线程,实现当 enter 键按下后,点亮或关闭 LED 的动作. /******************* ...
- 【No.2】监控Linux性能25个命令行工具
接着上一篇博文继续 [No.1]监控Linux性能25个命令行工具 10:mpstat -- 显示每个CPU的占用情况 该命令可以显示每个CPU的占用情况,如果有一个CPU占用率特别高,那么有可能是一 ...
- javascript小实例,PC网页里的拖拽
几年前,我参与设计开发一个房产网的项目,我负责前端工作,由于项目经理要求比较高,参考了很多房产类网站比较优秀的功能,想把别人比较优秀的设计和想法集合到一起,那时的设计稿和功能实现,简直就是改了又改,今 ...