更改collation批处理
DECLARE @zcreate_index_sql NVARCHAR(max);
SET @zcreate_index_sql = N''; SELECT @zcreate_index_sql = @zcreate_index_sql +
CASE WHEN r.is_primary_key=1 THEN
N'ALTER TABLE [' + r.schemas_name + '].[' + r.tablename + '] ADD CONSTRAINT [' + r.INDEX_name + N'] PRIMARY KEY ' + r.type_desc + N' ' +
r.index_fields +
CASE WHEN r.include_fields<>N'' THEN N' INCLUDE ' + r.include_fields ELSE N'' END +
N' ON [' + r.data_spaces_name + N'];'
ELSE
N'CREATE ' +
CASE WHEN r.is_unique=1 THEN N'UNIQUE ' ELSE N'' END
+ r.type_desc + N' INDEX [' + r.INDEX_name + N'] ON [' + r.schemas_name + '].[' + r.tablename + '] ' + r.index_fields +
CASE WHEN r.include_fields<>N'' THEN N' INCLUDE ' + r.include_fields ELSE N'' END +
N' ON [' + r.data_spaces_name + N'];'
END
FROM (
SELECT b.object_id AS tid,b.schemas_name, b.name AS tablename,c.name as INDEX_name,
REPLACE(REPLACE(REPLACE((SELECT N'[' + y.name + N']' + CASE WHEN x.is_descending_key=1 THEN N' DESC' ELSE N'' END AS field_name
FROM sys.index_columns x
INNER JOIN sys.columns y ON y.object_id = x.object_id AND y.column_id = x.column_id
WHERE x.object_id=c.object_id AND x.index_id=c.index_id AND x.is_included_column=0 ORDER BY x.key_ordinal FOR XML PATH('')) ,N'</field_name><field_name>',N',')
,N'<field_name>',N'(')
,N'</field_name>',N')')
AS index_fields,
REPLACE(REPLACE(REPLACE((SELECT N'[' + y.name + N']' + CASE WHEN x.is_descending_key=1 THEN N' DESC' ELSE N'' END AS field_name
FROM sys.index_columns x
INNER JOIN sys.columns y ON y.object_id = x.object_id AND y.column_id = x.column_id
WHERE x.object_id=c.object_id AND x.index_id=c.index_id AND x.is_included_column=1 ORDER BY x.key_ordinal FOR XML PATH('')) ,N'</field_name><field_name>',N',')
,N'<field_name>',N'(')
,N'</field_name>',N')')
AS include_fields,
c.*
,data_spaces.name AS data_spaces_name
FROM (
SELECT a.*,schemas.name AS schemas_name FROM sys.tables AS a
INNER JOIN sys.schemas ON schemas.schema_id = a.schema_id
INNER JOIN (
SELECT * FROM [XServer\PREDEPLOY].DB1.sys.tables AS [Tables] WHERE Tables.name LIKE N'tbl%') AS b
ON b.name = a.name COLLATE SQL_Latin1_General_CP1_CI_AS
)b
INNER JOIN sys.indexes c ON c.object_id = b.object_id
INNER JOIN sys.data_spaces ON data_spaces.data_space_id = c.data_space_id
WHERE c.type IN (1,2)
) r
; DECLARE @zdrop_index_sql NVARCHAR(max);
SET @zdrop_index_sql = N''; SELECT @zdrop_index_sql = @zdrop_index_sql +
CASE WHEN r.is_primary_key=1 THEN
N'ALTER TABLE [' + r.schemas_name + '].[' + r.tablename + '] DROP CONSTRAINT [' + r.INDEX_name + N'];'
ELSE
N'DROP INDEX [' + r.INDEX_name + N'] ON [' + r.schemas_name + '].[' + r.tablename + ']; '
end
FROM (
SELECT b.object_id AS tid,b.schemas_name, b.name AS tablename,c.name as INDEX_name,c.is_primary_key
FROM (
SELECT a.*,schemas.name AS schemas_name FROM sys.tables AS a
INNER JOIN sys.schemas ON schemas.schema_id = a.schema_id
INNER JOIN (
SELECT * FROM [XServer\PREDEPLOY].DB1.sys.tables AS [Tables] WHERE Tables.name LIKE N'tbl%') AS b
ON b.name = a.name COLLATE SQL_Latin1_General_CP1_CI_AS
)b
INNER JOIN sys.indexes c ON c.object_id = b.object_id
WHERE c.type IN (1,2)
) r
; DECLARE @z_change_collation_sql NVARCHAR(max);
SET @z_change_collation_sql = N'';
SELECT
@z_change_collation_sql = @z_change_collation_sql + N' alter table ' + [Tables].name + N' alter column ' + [Columns].name + N' ' + Types.name + N'(' + CASE WHEN [Columns].max_length=-1 THEN N'max' else CAST([Columns].max_length/2 AS NVARCHAR(5)) END + N') collate DATABASE_DEFAULT;' + NCHAR(10) + NCHAR(13)
FROM sys.tables AS [Tables]
INNER JOIN sys.columns AS [Columns]
ON [Tables].object_id = [Columns].object_id
INNER JOIN sys.types AS [Types]
ON [Columns].system_type_id = [Types].system_type_id
AND is_user_defined = 0
AND [Types].name <> 'sysname'
LEFT OUTER JOIN sys.extended_properties AS [Properties]
ON [Properties].major_id = [Tables].object_id
AND [Properties].minor_id = [Columns].column_id
AND [Properties].name = 'MS_Description'
WHERE Columns.collation_name IS NOT NULL AND CHARINDEX(N'tbl' ,[Tables].name)=1
ORDER BY [Tables].name,[Columns].name EXEC(@zdrop_index_sql);
EXEC(@z_change_collation_sql);
EXEC(@zcreate_index_sql); SELECT @zdrop_index_sql + N' ' + @z_change_collation_sql + N' ' + @zcreate_index_sql;
更改collation批处理的更多相关文章
- Apache Beam,批处理和流式处理的融合!
1. 概述 在本教程中,我们将介绍 Apache Beam 并探讨其基本概念. 我们将首先演示使用 Apache Beam 的用例和好处,然后介绍基本概念和术语.之后,我们将通过一个简单的例子来说明 ...
- jdbc中的细节
JDBC 架构:JDBC 的 API 支持两层和三层处理模式进行数据库的访问,但是一般的JDBC架构由两层处理模式组成.(1)JDBC API:提供了应用程序对 JDBC 管理器的连接(2)JDBC ...
- 2018-2019-2 20165114《网络对抗技术》Exp4 恶意代码分析
Exp4 恶意代码分析 目录 一.实验目标 (1)监控你自己系统的运行状态,看有没有可疑的程序在运行. (2)分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sys ...
- JDBC教程——检视阅读
JDBC教程--检视阅读 参考 JDBC教程--W3Cschool JDBC教程--一点教程,有高级部分 JDBC教程--易百 JDBC入门教程 – 终极指南 略读 三层架构详解,JDBC在数据访问层 ...
- YOLO-V3实战(darknet)
一. 准备工作 1)实验环境: darknet 是由 C 和 CUDA 开发的,不需要配置其他深度学习的框架(如,tensorflow.caffe 等),支持 CPU 和 GPU 运算,而且安装过程非 ...
- 剖析虚幻渲染体系(12)- 移动端专题Part 3(渲染优化)
目录 12.6 移动端渲染优化 12.6.1 渲染管线优化 12.6.1.1 使用新特性 12.6.1.2 管线优化 12.6.1.3 带宽优化 12.6.2 资源优化 12.6.2.1 纹理优化 1 ...
- 批处理快速更改ip地址
在各种网络中切换,windows更换ip地址步骤: 进入控制面板--网络和internet--网络和共享中心--理性适配器设置--然后找到网卡--进入属性--然后internet 协议--更改ip信 ...
- 批量更改数据库COLLATION
企业内部有很多系统是繁体的,由于各方面的原因,公司目前正在实行简体化,但各系统中又有数据间的交换,所以系统只能一个一个的更改,以防同时出现过多的问题.由于原先数据库只能存储繁体,而原先已存在的数据则可 ...
- 使用DOS批处理更改IP地址
有时候电脑在家需要自动获取IP,在公司需要手动填写IP,改来改去很麻烦,于是做一个批处理一键修改很方便: @echo off cls color 0A @echo off echo. echo === ...
随机推荐
- kubernetes集群内通过endpoint访问外部服务
kubernetes内的服务访问集群外独立的服务最好通过endpoint方式,例如MySQL 1.创建mysql-service.yaml apiVersion: v1 kind: Service m ...
- Java面经入口(持续更新...)
大数据面经 https://zhuanlan.zhihu.com/go-for-it Java 基础知识复习 您可能不知道Java基础40道常见面试题及详细答案 hashcode详解 Java St ...
- 分布式CAP定理
根据百度百科的定义,CAP定理又称CAP原则,指的是在一个分布式系统中,Consistency(一致性). Availability(可用性).Partition tolerance(分区容错性),最 ...
- 解决使用maven clean项目的时候报错,删除target文件夹失败
背景:jdk1.8 + maven3.5.2 问题描述: 我在使用maven clean项目的时候,celan 失败,报错的原因是删除项目下的target文件夹下面的文件失败 解决方法: 打开任务管理 ...
- python 的 encode 、decode、字节串、字符串
一.摆个图 DJ DJ DJ Decode. J 解码 首先得知道字符串有哪些编码格式,至于为什么会有这么多的编码格式,以后再了解更新. 1.ASCII 占1个字节,只支持英文 2.GB231 ...
- django 基础1
1.web应用 本质是基于socket实现的应用程序 浏览器---------服务器 2.http协议:应用层协议 1.基于TCP协议 2.基于请求响应 3.短连接 4.无状态 请求协议 浏览器--- ...
- django bms
1. 创建模型 一对多: 需要在""多""的表创建一个""关键字段"" 关联 就像在mysql的哪项少的比如(书与出版 ...
- USB驱动程序涉及的概念及框架
引入:当我们把一个USB设备接入PC机时,会出现什么样的现象? 现象:把USB设备接到PC1.右下角弹出“发现android phone”2.跳出一个对话框,提示你安装驱动程序 首先来看一下,USB驱 ...
- contact form 7如何搭配Akismet过滤垃圾邮件
contact form 7有很多站长在用,但是经常会有一些垃圾邮件进来,如何过滤呢?两个方法:1.表单提交启用验证码功能,很多垃圾邮件是用软件扫相应的端口,然后批量群发,如果用验证码了可以过滤很大一 ...
- docker删除镜像Error response from daemon: conflict: unable to remove repository reference
Docker无法删除images,由于是依赖container. 1.进入root权限 sudo su 2. 列出所有运行或没有运行的镜像 docker ps -a 3.停止containe ...