苹果6SP怎样用数据线sp疼感链接16款帕萨特屏幕投射?

查看: 1152|回复: 2
怎么用sql语句修改索引所在的文件组?
论坛徽章:4
怎么用sql语句修改索引所在的文件组?
现在只能用界面操作一个一个,想用sql批量修改
认证徽章论坛徽章:51
Create Index&&... On NEWFGGROUP
论坛徽章:0
本帖最后由 qly2046 于
12:16 编辑
索引文件迁移到文件组
1.创建文件组
在10.0.9.137服务器(仿真环境)下的F盘(可用空间不小于30G)创建IndexGroup文件夹用于存放索引的文件组,并且按照命名规范“库名+Index”命名文件组。
1.1创建添加文件组的存储过程&&--==============创建文件组和数据脚本============&&USE DBA&&GO&&CREATE PROC DBO.CreateGroup&&AS&&BEGIN &&declare @DBName sysname&&DECLARE&&@SQL&&NVARCHAR(max);&&declare pcurr cursor&&&&local static read_only&&forward_only--默认设置游标是可进可退的&&for select Name&&from SYS.sysdatabases WHERE dbid NOT IN('1','2','3','4','5','6','25')&&open pcurr& &&&fetch next from&&pcurr into @DBName&&&&while (@@fetch_status = 0)&&&&begin&&&&SET @SQL='&&USE '+@DBName+'&&alter database '+@DBName+' add filegroup '+@DBName+'G&&alter database '+@DBName+' add file(name=N'''+@DBName+'Index'',filename=N''F:\IndexGroup\'+@DBName+'Index.ndf'',size=1Mb,filegrowth=1Mb)&&to filegroup '+@DBName+'G&&'+'GO'&&BEGIN TRY&&--EXEC sp_sqlexec&&@SQL;&&PRINT @SQL&&END TRY&&BEGIN&&CATCH&&PRINT ERROR_MESSAGE();&&END CATCH&&fetch next from&&pcurr into @DBName&&&&end&&&&close pcurr& &&&deallocate pcurr& &&&END&&GO&&1.2执行创建文件组脚本
&&--限于篇幅,仅贴一段&&USE AppAdmin_Log_SinoOcean&&alter database&&AppAdmin_Log_SinoOcean add filegroup AppAdmin_Log_SinoOceanG&&alter database&&AppAdmin_Log_SinoOcean add file(name=N'AppAdmin_Log_SinoOceanIndex',filename=N'F:\IndexGroup\AppAdmin_Log_SinoOceanIndex.ndf',size=1Mb,filegrowth=1Mb)&&to filegroup&&AppAdmin_Log_SinoOceanG&&GO&&1.3执行结果
5.png (23.64 KB, 下载次数: 2)
12:11 上传
2.生成创建索引脚本
将仿真环境数据库中的非聚集索引生成&创建非聚集索引到指定文件组&的脚本。
2.1创建添加索引的存储过程&&--=====================添加索引数据到临时表===================&&USE DBA&&GO&&CREATE PROC DBO.AddDATA&&AS&&BEGIN&&TRUNCATE TABLE DBA.DBO.[INDEX]&&declare @DBName sysname&&DECLARE&&@SQL&&NVARCHAR(max);&&declare pcurr cursor&&&&local static read_only&&forward_only--默认设置游标是可进可退的&&for select Name&&from SYS.databases WHERE database_id NOT IN('1','2','3','4','5','6','25')&&open pcurr& &&&fetch next from&&pcurr into @DBName&&&&while (@@fetch_status = 0)&&&&begin&&&&SET @SQL='&&USE '+@DBName+'&&TRUNCATE TABLE&&DBA.DBO.Runnable&&INSERT INTO DBA.DBO.Runnable&&EXEC sp_who &&INSERT&&INTO DBA.DBO.[INDEX]&&SELECT&&(SELECT TOP 1 DBNAME FROM DBA.DBO.Runnable&&WHERE STATUS=''runnable'') AS [DBName], ROW_NUMBER() OVER ( ORDER BY&&si.object_id ) ID ,&&& && && && && && && && &SS.name SchemaName ,&&& && && && && && && && &ST.name TableName ,&&& && && && && && && && &SI.name IndexName ,&&& && && && && && && && &SI.type_desc&&IndexType ,&&& && && && && && && && &LEFT(( SELECT& &''['' + SC.name + ''],''&&& && && && && && && && && && & FROM& &&&sys.index_columns SIC&&& && && && && && && && && && && && && & INNER&&JOIN sys.columns AS SC ON SC.object_id = SIC.object_id&&& && && && && && && && && && && && && && && && && && && && && &AND SC.column_id = SIC.column_id&&& && && && && && && && && && & WHERE& & SI.object_id = SIC.object_id&&& && && && && && && && && && && && && & AND&&SIC.index_id = SI.index_id&&& && && && && && && && && &&&FOR&&& && && && && && && && && && & XML PATH('''')&&& && && && && && && && && &&&),&&& && && && && && && && && &&&LEN(( SELECT&&''['' + SC.name + ''],''&&& && && && && && && && && && && &&&FROM& &&&sys.index_columns SIC&&& && && && && && && && && && && && && && && &INNER JOIN sys.columns AS SC ON SC.object_id = SIC.object_id&&& && && && && && && && && && && && && && && && && && && && &&&AND&&SC.column_id = SIC.column_id&&& && && && && && && && && && && &&&WHERE& & SI.object_id = SIC.object_id&&& && && && && && && && && && && && && && && &AND SIC.index_id = SI.index_id&&& && && && && && && && && && && &FOR&&& && && && && && && && && && && &&&XML&&PATH('''')&&& && && && && && && && && && && &)) - 1)&&IndexColumns&&& && && && && &FROM& &&&SYS.indexes SI&&& && && && && && && && &INNER JOIN SYS.tables&&ST ON ST.object_id = SI.object_id&&& && && && && && && && &INNER JOIN&&sys.schemas SS ON ST.schema_id = SS.schema_id&&& && && && && && && && &INNER JOIN sysobjects&&SO ON SI.object_id = SO.id& && && && &&&& && && && && &&&WHERE SI.type_desc=''NONCLUSTERED'' AND&&ST.TYPE=''U'' AND SO.XTYPE=''U'' &&& && && && && &&&AND& &SI.is_unique=0'&&BEGIN TRY&&EXEC sp_sqlexec @SQL;&&END TRY&&BEGIN&&CATCH&&PRINT ERROR_MESSAGE();&&END CATCH&&fetch next from&&pcurr into @DBName&&&&end&&&&close pcurr& &&&deallocate pcurr& &&&END&&GO&&2.2执行创建索引脚本(此处先不执行)&&--限于篇幅,仅贴一段&&USE Contract_trade &&GO&&CREATE NONCLUSTERED INDEX&&IX_ContractPayPlan_Code&&ON [dbo].[ContractPayPlan](Code) ON Contract_tradeG&&GO&&
3.创建删除索引脚本
删除仿真环境数据库中的非聚集索引。
3.1创建删除索引的存储过程&&--==============删除索引脚本===========&&USE DBA&&GO&&CREATE PROC DBO.DropIndex&&AS &&BEGIN&&DECLARE @DBName sysname&&DECLARE @SchemaName sysname&&DECLARE @TableName sysname&&DECLARE @IndexName sysname&&DECLARE @TSQL NVARCHAR(max)&&DECLARE DBData CURSOR&&FOR SELECT&&DBName,SchemaName,TableName,IndexName FROM DBA.DBO.[INDEX]&&OPEN DBData&&FETCH& & NEXT&&FROM DBData INTO& &@DBName , @SchemaName , @TableName, @IndexName&&while (@@Fetch_status=0)& & &&begin&&SET @TSQl='USE '+@DBName+' &&DROP INDEX&&'+@SchemaName+'.'+@TableName+'.'+@IndexName+'; &&GO'&&--EXEC sp_sqlexec&&@SQL;&&PRINT @TSQL&&FETCH& & NEXT&&FROM DBData INTO& &@DBName , @SchemaName , @TableName, @IndexName&&end&&CLOSE DBData&&DEALLOCATE DBData&&END&&GO&&3.2执行删除索引脚本&&--限于篇幅,仅贴一段&&USE Contract_trade& &&&&&GO &&DROP INDEX& &dbo.ContractPayPlan.IX_ContractPayPlan_C&&&&GO&&4.执行创建索引脚本(见2.2)& && &
& && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && & 日 杨正强
备注:需要提前创建俩临时表,脚本如下:
--=====================创建存储索引数据的临时表==================
CREATE TABLE [dbo].[Runnable](
& && &&&[SPID] [int] NULL,
& && &&&[ECID] [int] NULL,
& && &&&[STATUS] [char](100) NULL,
& && &&&[LOGINNAME] [char](100) NULL,
& && &&&[HOSTNAME] [char](100) NULL,
& && &&&[BLK] [int] NULL,
& && &&&[DBNAME] [char](100) NULL,
& && &&&[CMD] [char](100) NULL,
& && &&&[REQUEST_ID] [int] NULL
) ON [PRIMARY]
CREATE TABLE [dbo].[INDEX](
& && &&&[DBName] [sysname] NULL,
& && &&&[ID] [bigint] NULL,
& && &&&[SchemaName] [sysname] NOT NULL,
& && &&&[TableName] [sysname] NOT NULL,
& && &&&[IndexName] [sysname] NULL,
& && &&&[IndexType] [nvarchar](60) NULL,
& && &&&[IndexColumns] [nvarchar](max) NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
DROP TABLE [dbo].[INDEX]
itpub.net All Right Reserved. 北京皓辰网域网络信息技术有限公司版权所有    
 北京市公安局海淀分局网监中心备案编号: 广播电视节目制作经营许可证:编号(京)字第1149号您的位置: >
太残暴!4寸iPhone 5SE国行售价再曝光(组图) 16:14 来源: 作者:
   目前有关iPhone 5SE的爆料已经很多,这款4寸新iPhone除了没有3D Touch外,其余配置与iPhone 6S基本一致,这还是很有吸引力的。据说iP
  目前有关iPhone 5SE的爆料已经很多,这款4寸新iPhone除了没有3D Touch外,其余配置与iPhone 6S基本一致,这还是很有吸引力的。据说iPhone 5SE也是这4个配色  按照今天早些时候的消息来看,iPhone 5SE预计在本月21日发布,预计4月初开始发售,而国内市场肯定会在第一批发售名单中。此前泄露的中国移动新品PPT就层显示,苹果的新款机型将于4月份在国内发售。  至于大家关心的售价,传闻中iPhone 5SE行货的价格是3688元,这看起来很良心,但事实好像不是这样,因为苹果还是不想把它给卖便宜了。  现在,最新的消息称,iPhone 5SE将有16GB和64GB两个版本,行货版本的价格分别是3998元和4599元,虽然目前还无法证实消息的真实性,但不得不说的是,这很符合苹果的定价策略。  4000+买iPhone 5SE,这定价也是够残暴的,至于买不买就看大家的了。
热文推荐:
 分享:
【】【】【】
觉得好顶一下
觉得差踩一下
文明上网,理性发言
本周时尚精彩文集推荐
再看几篇关于
的文章看看知尚时尚家族的
时尚美容奢华搭配明星家居
最受关注品牌
热门话题及内容
晒客生活职场汽车IT
最受关注热门词

我要回帖

更多关于 手机链接数据线没反应 的文章

 

随机推荐