SQLServer 常用脚本

 

--	表结构查询
SELECT   
    表名       = case when a.colorder=1 then d.name else '' end,  
    表说明     = case when a.colorder=1 then isnull(f.value,'') else '' end,  
    字段序号   = a.colorder,  
    字段名     = a.name,  
    标识       = case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end,  
    主键       = case when exists(SELECT 1 FROM sysobjects where xtype='PK' and parent_obj=a.id and name in (  
                     SELECT name FROM sysindexes WHERE indid in( SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid))) then '√' else '' end,  
    类型       = b.name,  
    占用字节数 = a.length,  
    长度       = COLUMNPROPERTY(a.id,a.name,'PRECISION'),  
    小数位数   = isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0),  
    允许空     = case when a.isnullable=1 then '√'else '' end,  
    默认值     = isnull(e.text,''),  
    字段说明   = isnull(g.[value],'')  
FROM syscolumns a left join systypes b   
on a.xusertype=b.xusertype  
inner join sysobjects d   
on a.id=d.id  and d.xtype='U' and  d.name<>'dtproperties'  
left join syscomments e   
on a.cdefault=e.id  
left join sys.extended_properties   g   
on a.id=g.major_id and a.colid=g.minor_id    
left join sys.extended_properties f  
on d.id=f.major_id and f.minor_id=0  
where d.name='tableName'    --如果只查询指定表,加上此条件  
order by a.id,a.colorder 

 

--各字段元数据(数据字典,MSSQL 2012及以上版本)
select * from sys.dm_exec_describe_first_result_set (N'SELECT * FROM dbo.TabName', NULL, 0)
GO

 

--查看数据库中所有外键
select oMain.name  AS  [主表名称]
,oSub.name  AS  [子表名称]
,fk.name AS  [外键名称]
,MainCol.name AS [主表列名]
,SubCol.name AS [子表列名]
from sys.foreign_keys fk  
JOIN sys.all_objects oSub  ON (fk.parent_object_id = oSub.object_id)
JOIN sys.all_objects oMain ON (fk.referenced_object_id = oMain.object_id)
JOIN sys.foreign_key_columns fkCols ON (fk.object_id = fkCols.constraint_object_id)
JOIN sys.columns SubCol ON (oSub.object_id = SubCol.object_id  
    AND fkCols.parent_column_id = SubCol.column_id)
JOIN sys.columns MainCol ON (oMain.object_id = MainCol.object_id  
    AND fkCols.referenced_column_id = MainCol.column_id)

 

--(导出扩展属性脚本)
SELECT 表名 = d.name,字段名 = a.name, 字段说明 = isnull(g.[value],'') 
,'EXEC sys.sp_addextendedproperty @name=N''MS_Description'', @value=N'''+CONVERT(VARCHAR(MAX),g.[value])
+''',@level0type=N''SCHEMA'',@level0name=N''dbo'',@level1type=N''TABLE'',@level1name=N'''+CONVERT(VARCHAR(MAX),d.name)
+''',@level2type=N''COLUMN'',@level2name=N'''+CONVERT(VARCHAR(MAX),a.name)+'''' 
FROM syscolumns a left join systypes b on a.xusertype=b.xusertype    
inner join sysobjects d on a.id=d.id  and d.xtype='U' and  d.name<>'dtproperties'    
left join syscomments e on a.cdefault=e.id    
left join sys.extended_properties g on a.id=g.major_id and a.colid=g.minor_id 
WHERE g.[value] IS NOT NULL
ORDER BY d.name,a.name

 

--当前数据库表大小及行数
SELECT SCHEMA_NAME(tbl.schema_id) [Schema],tbl.name AS [TableName],
(CAST(ISNULL((select 8 * SUM(CASE WHEN a.type <> 1 THEN a.used_pages WHEN p.index_id < 2 THEN a.data_pages ELSE 0 END) 
FROM sys.indexes as i
JOIN sys.partitions as p ON p.object_id = i.object_id and p.index_id = i.index_id
JOIN sys.allocation_units as a ON a.container_id = p.partition_id
where i.object_id = tbl.object_id),0.0)*1.0/1024 AS DECIMAL(18,3))) AS [DataSpaceUsed(MB)],SI.[rows]
FROM sys.tables AS tbl LEFT JOIN sys.sysindexes si ON tbl.object_id=si.id AND si.indid IN(0,1)
ORDER BY [Schema],[DataSpaceUsed(MB)] DESC

 

--  查看表中的自增列是否为主键
SELECT
表名= D.NAME, 
列名= A.NAME,
是否自增= CASE WHEN COLUMNPROPERTY( A.ID,A.NAME, 'ISIDENTITY ')=1 THEN '√'ELSE '' END,
主键= CASE WHEN EXISTS(SELECT 1 FROM SYSOBJECTS WHERE XTYPE= 'PK ' AND PARENT_OBJ=A.ID AND NAME IN (
    SELECT NAME FROM SYSINDEXES WHERE INDID IN(
    SELECT INDID FROM SYSINDEXKEYS WHERE ID = A.ID AND COLID=A.COLID))) THEN '√' ELSE '' END
FROM SYSCOLUMNS A
LEFT JOIN SYSTYPES B ON A.XUSERTYPE=B.XUSERTYPE
INNER JOIN SYSOBJECTS D ON A.ID=D.ID AND D.XTYPE= 'U' AND D.NAME <> 'DTPROPERTIES '
where  COLUMNPROPERTY( A.ID,A.NAME, 'ISIDENTITY ')=1

 

--查看依赖此对象的子级对象(如字表/驶入/触发器等)
SELECT distinct so.name 
FROM syscomments sc 
INNER JOIN sysobjects so ON sc.id = so.id 
WHERE charindex('OSAccounts', text) > 0

EXEC sp_depends @objname = N'dbo.OSAccounts' ;
EXEC sp_MSdependencies N'dbo.OSAccounts', null, 1315327

--查看此对象依赖的父级对象
EXEC sp_MSdependencies N'dbo.OSAccounts', null, 1053183

 

--各表对象下的其他对象
select t1.[object_id],t1.[type],t1.name,t2.[object_id],t2.[type],t2.name
from sys.objects t1
inner join sys.objects t2 on t1.[object_id]=t2.parent_object_id
order by t1.[type],t1.name,t2.[type],t2.name

select t1.id,t1.xtype,t1.name,t2.id,t2.xtype,t2.name
from sys.sysobjects t1
inner join sys.sysobjects t2 on t1.id=t2.parent_obj
order by t1.xtype,t1.name,t2.xtype,t2.name

 

--唯一键约束

SELECT tbl.name tab,i.name AS [Name]
FROM sys.tables AS tbl
INNER JOIN sys.indexes AS i ON (i.index_id > 0 and i.is_hypothetical = 0) AND (i.object_id=tbl.object_id)
WHERE (i.is_primary_key + 2*i.is_unique_constraint=2) and SCHEMA_NAME(tbl.schema_id)='dbo'
ORDER BY [Name] ASC

 

--查看数据库约束
SELECT OBJECT_NAME(parent_object_id) as TableName,name,definition
FROM sys.default_constraints ORDER BY TableName,name

 

--表各列约束
select OBJECT_NAME(t2.object_id) as TabName,t2.name as ColumnName,t1.name as [Constraint]
from sys.default_constraints t1
inner join sys.columns t2 
on t1.parent_object_id=t2.object_id and t1.parent_column_id=t2.column_id
order by TabName,ColumnName,[Constraint]

 

--	当前数据库文件增长设置情况
SELECT Name, FileName
, CAST((Size * 8 / 1024) AS varchar(10)) + 'MB' AS FileSize
, MaxSize = CASE MaxSize WHEN -1 THEN 'Unlimited' ELSE CAST((Maxsize / 128) AS varchar(10)) + 'MB' END 
FROM sys.sysfiles;

--	所有数据库文件增长设置情况
select DB_NAME(database_id) as dbName,file_id,(size*8/1024)  as [size(mb)]
,case when is_percent_growth = 1 then '10%' else CONVERT(varchar(10),growth*8/1024)+'M' end as growth
,type_desc,physical_name 
from sys.master_files 
where state = 0 --and database_id=DB_id()

 

--数据库的一些关键属性
SELECT db.[name] AS [Database Name], db.recovery_model_desc AS [Recovery Model],  
db.log_reuse_wait_desc AS [Log Reuse Wait Description],  
ls.cntr_value AS [Log Size (KB)], lu.cntr_value AS [Log Used (KB)],  
CAST(CAST(lu.cntr_value AS FLOAT) / CAST(ls.cntr_value AS FLOAT)AS DECIMAL(18,2)) *  
100 AS [Log Used %], db.[compatibility_level] AS [DB Compatibility Level],  
db.page_verify_option_desc AS [Page Verify Option], db.is_auto_create_stats_on,  
db.is_auto_update_stats_on, db.is_auto_update_stats_async_on,  
db.is_parameterization_forced,  
db.snapshot_isolation_state_desc, db.is_read_committed_snapshot_on,  
is_auto_shrink_on, is_auto_close_on  
FROM sys.databases AS db WITH (NOLOCK)  
INNER JOIN sys.dm_os_performance_counters AS lu WITH (NOLOCK)  
ON db.name = lu.instance_name  
INNER JOIN sys.dm_os_performance_counters AS ls WITH (NOLOCK)  
ON db.name = ls.instance_name  
WHERE lu.counter_name LIKE N'Log File(s) Used Size (KB)%'  
AND ls.counter_name LIKE N'Log File(s) Size (KB)%'  
AND ls.cntr_value > 0 OPTION (RECOMPILE);  

 

--最近一周内数据库备份情况
SELECT user_name AS [User]
,server_name AS [Server]
,database_name AS [Database]
,recovery_model AS RecoveryModel 
,case type when 'D' then '数据库'
	when 'I' then '差异数据库'
	when 'L' then '日志'
	when 'F' then '文件或文件组'
	when 'G' then '差异文件'
	when 'P' then '部分'
	when 'Q' then '差异部分' else type end as [backupType]
,convert(numeric(10,2),backup_size/1024/1024) as [Size(M)]
,backup_start_date AS backupStartTime
,backup_finish_date as backupFinishTime
,name 
,expiration_date 
from msdb.dbo.backupset 
where backup_start_date >= DATEADD(D,-7,GETDATE())

 

--  作业启用情况和所有者
select a.job_id,a.name,a.enabled,b.name
from msdb.dbo.sysjobs a
inner join master.sys.syslogins b on a.owner_sid=b.sid and a.owner_sid<>'0x01'
order by a.name

--  更改作业所有者
EXEC msdb.dbo.sp_update_job @job_id=N'job_id', @owner_login_name=N'sa'

 

--	索引 主键/类型/列 情况
;with tb as(
SELECT tbl.name AS TableName,i.name AS IndexName,clmns.name AS ColumName,i.is_primary_key AS isPrimaryKey,i.type_desc
FROM sys.tables AS tbl  
INNER JOIN sys.indexes AS i ON (i.index_id > 0 and i.is_hypothetical = 0) AND (i.object_id=tbl.object_id)  
INNER JOIN sys.index_columns AS ic ON (ic.column_id > 0   
    AND (ic.key_ordinal > 0 or ic.partition_ordinal = 0 or ic.is_included_column != 0))   
    AND (ic.index_id=CAST(i.index_id AS int) AND ic.object_id=i.object_id)  
INNER JOIN sys.columns AS clmns ON clmns.object_id = ic.object_id and clmns.column_id = ic.column_id  
WHERE SCHEMA_NAME(tbl.schema_id) = N'dbo'
)
SELECT DISTINCT TableName,IndexName,isPrimaryKey,type_desc
,STUFF((SELECT ','+ColumName FROM tb B WHERE A.TableName=B.TableName AND A.IndexName=B.IndexName FOR XML PATH('')),1,1,'') AS ColumName    
FROM tb A ORDER BY TableName,IndexName,isPrimaryKey,type_desc

 

--表主键对应的列 
SELECT OBJECT_NAME(C.id) AS TAB,B.name,A.name AS PrimaryKey ,E.type_desc,fill_factor  
FROM SYSCOLUMNS A,SYSOBJECTS B,SYSINDEXES C,SYSINDEXKEYS D , SYS.INDEXES E  
WHERE B.xtype = 'PK'    
AND B.parent_obj = A.id     
AND C.id = A.id     
AND B.name = C.name     
AND D.id = A.id     
AND D.indid = C.indid    
AND A.colid = D.colid  
AND B.name=E.name  
ORDER BY TAB,B.name,PrimaryKey 


SELECT * FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE 
WHERE OBJECTPROPERTY(OBJECT_ID(CONSTRAINT_NAME),'ISPRIMARYKEY')=1 
--AND TABLE_NAME='TABLE_NAME'  
--	生成索引脚本(查看索引及包含列、筛选列)
;WITH indexInfo as (
	SELECT SCHEMA_NAME(t.schema_id) [schema_name],t.name as [table_name],t1.name as [index_name]
	,t1.type,t1.type_desc,t1.is_unique,t1.is_primary_key,t1.is_unique_constraint,t1.has_filter,t1.filter_definition
	,STUFF((SELECT ','+t4.name FROM sys.sysindexkeys t2 
		inner join sys.index_columns  t3 ON t2.id=t3.object_id and t2.indid=t3.index_id and t2.colid=t3.column_id
		inner join sys.syscolumns t4 ON t2.id=t4.id and t2.colid=t4.colid
		WHERE t2.id=t1.object_id and t1.index_id=t2.indid  and t2.keyno <> 0 ORDER BY t3.key_ordinal FOR XML PATH('')),1,1,'') AS index_cols
	,STUFF((SELECT ','+t4.name FROM sys.sysindexkeys t2 
		inner join sys.index_columns  t3 ON t2.id=t3.object_id and t2.indid=t3.index_id and t2.colid=t3.column_id
		inner join sys.syscolumns t4 ON t2.id=t4.id and t2.colid=t4.colid
		WHERE t2.id=t1.object_id and t1.index_id=t2.indid  and t2.keyno = 0 ORDER BY t3.key_ordinal FOR XML PATH('')),1,1,'')  AS include_cols
	FROM sys.tables as t
	inner join sys.indexes as t1 on (t1.index_id > 0 and t1.is_hypothetical = 0) and (t1.object_id=t.object_id)
	WHERE t1.type in(1,2)
), indexInfo2 AS (
SELECT * ,(CASE 
	WHEN is_primary_key = 1 
		THEN 'alter table '+[schema_name]+'.'+[table_name]+' add constraint '+[index_name]+' primary key '+(CASE WHEN [type]=1 THEN 'clustered' ELSE 'nonclustered' END)+'('+index_cols+')'
	WHEN is_unique = 1 AND is_unique_constraint = 1 
		THEN 'alter table '+[schema_name]+'.'+[table_name]+' add constraint '+[index_name]+' unique '+(CASE WHEN [type]=1 THEN 'clustered' ELSE 'nonclustered' END)+'('+index_cols+')'
	WHEN is_unique = 1 AND (is_primary_key = 0 OR is_unique_constraint = 0)
		THEN 'create unique '+(CASE WHEN [type]=1 THEN 'clustered' ELSE 'nonclustered' END)+' index '+[index_name]+'  on '+[schema_name]+'.'+[table_name]+'('+index_cols+')'
	ELSE 'create '+(CASE WHEN [type]=1 THEN 'clustered' ELSE 'nonclustered' END)+' index '+[index_name]+' on '+[schema_name]+'.'+[table_name]+'('+index_cols+') '
	END) script
FROM indexInfo
) SELECT [schema_name],[table_name],[index_name],script
+(CASE WHEN include_cols IS NOT NULL THEN ' include('+include_cols+')' ELSE '' END)
+(CASE WHEN has_filter = 1THEN ' where '+filter_definition ELSE '' END)
FROM indexInfo2
ORDER BY [schema_name],[table_name],[type],[index_name],is_primary_key DESC,is_unique_constraint DESC,is_unique DESC
GO
--	查看表分区情况
select OBJECT_NAME(object_id) as tab,COUNT(partition_number) as part 
from sys.partitions 
where index_id in(0,1)
and OBJECT_NAME(object_id) not like 'conflict%'
and OBJECT_NAME(object_id) not like 'sys%'
group by object_id order by tab

 

--	查看表备注信息
select distinct 
 表名 = case when a.colorder=1 then d.name else '' end
,表说明 = case when a.colorder=1 then isnull(f.value,'') else '' end
from syscolumns a 
inner join sysobjects d on a.id=d.id  and d.xtype='U' and  d.name<>'dtproperties' 
inner join sys.extended_properties f  on d.id=f.major_id
where f.minor_id=0 
--and CHARINDEX('',convert(varchar(max),f.value))<>0 

 

--	查看表中各列的属性及创建扩展属性脚本(默认架构dbo)
select o.name,c.name,p.name,p.value
,N'EXEC sys.sp_addextendedproperty @name=N'''+p.name+ N''', @value=N'''+convert(nvarchar(4000),p.value)
+N''' , @level0type=N''SCHEMA'',@level0name=N''dbo'', @level1type=N''TABLE'',@level1name=N'''
+o.name+ N''', @level2type=N''COLUMN'',@level2name=N'''+c.name+ N'''' as script_addextendedproperty
from sys.sysobjects o 
inner join sys.syscolumns c on o.id = c.id
inner join sys.extended_properties p on c.id=p.major_id and c.colid=p.minor_id   
where o.xtype = N'U' --and o.name = 'tableName'

 

-- 查看对象定义脚本  
exec sp_helptext 'object_name'  
  
SELECT * from INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE = 'FUNCTION' AND ROUTINE_NAME=''  
SELECT * from INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE = 'PROCEDURE' AND ROUTINE_NAME=''  
SELECT * from sys.sql_modules M WHERE EXISTS(SELECT * from sys.triggers T WHERE M.object_id=T.object_id)

SELECT o.name,o.type,o.create_date,o.modify_date,sm.definition  
FROM sys.sql_modules sm inner join sys.objects o on sm.object_id=o.object_id  
ORDER BY o.type,o.name  
  
SELECT * from sys.sql_modules   
SELECT * from sys.all_sql_modules   
SELECT * from sys.system_sql_modules   

 

 

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
卷序列号码为 00000030 4489:1826 C:. │ sqlserver2000.txt │ ├─第01章 │ 1.9.1 设置内存选项.sql │ 1.9.2(2) 使用文件及文件组.sql │ 1.9.2(3) 调整tempdb数据库的文件属性.sql │ ├─第02章 │ │ 2.1 日期概念理解中的一些测试.sql │ │ 2.2.4 CONVERT在日期转换中的使用示例.sql │ │ 2.3.3 SET DATEFORMAT对日期处理的影响.sql │ │ 2.3.4 SET LANGUAGE对日期处理的影响示例.sql │ │ 2.4.1 日期格式化处理.sql │ │ 2.4.2 日期推算处理.sql │ │ 2.4.3 特殊日期加减函数.sql │ │ 2.5.1 查询指定日期段内过生日的人员.sql │ │ 2.5.2 生成日期列表的函数.sql │ │ 2.5.3 工作日处理函数(标准节假日).sql │ │ 2.5.3 工作日处理函数(自定义节假日).sql │ │ 2.5.4 计算工作时间的函数.sql │ │ │ └─其他 │ 交叉表.sql │ 任意两个时间之间的星期几的次数-横.sql │ 任意两个时间之间的星期几的次数-纵.sql │ 复杂年月处理.sql │ 统计--交叉表+日期+优先.sql │ ├─第03章 │ │ 3.2 各种字符串分拆处理函数.sql │ │ 3.3 各种字符串合并处理示例.sql │ │ 3.4.1 分段截取函数.sql │ │ 3.4.2 分段更新函数.sql │ │ 3.4.3 IP地址处理函数.sql │ │ 3.5.1 字符串比较函数.sql │ │ 3.5.2 字符串并集&交集处理示例.sql │ │ 3.5.3 字符串分拆并统计的处理示例.sql │ │ 3.5.5 字符串处理示例--列车车次查询.sql │ │ 3.6.2 字符串在编号查询中的应用示例及常见问题.sql │ │ 3.6.3 动态参数的存储过程示例.sql │ │ 3.6.4 动态他Transact-SQL语句处理中的常见问题演示.sql │ │ 3.7.3 text与ntext字段的复制和合并处理示例.sql │ │ 3.7.4 text与image字段转换处理示例.sql │ │ 3.7.5 ntext字段的REPLACE处理示例.sql │ │ │ └─其他 │ varbinary转换成字符串.sql │ 关键字搜索.sql │ 分解公式.sql │ 字符串分拆--格式化.sql │ 得到一个字符串在另一个字符串中出现的次数.sql │ 数字转换成十六进制.sql │ 比较第一与第二个字符串,是否有连续的5个字符相同.sql │ 生成查询的模糊匹配字符串.sql │ 简繁转换.sql │ 统计一个表中某个字符出现最多的字母.sql │ 非法字符串处理.sql │ ├─第04章 │ │ 4.1.5 在各种处理中应用排序规则的示例.sql │ │ 4.2.1 排序规则在拼音处理中的应用.sql │ │ 4.2.2 排序规则在全角与半角处理中的应用.sql │ │ │ └─其他 │ 生成GB2312汉字表.sql │ 生成GBK汉字表.sql │ 自动获取汉字笔画.sql │ ├─第05章 │ │ 5.1.1 SET IDENTITY_INSERT 中的几个问题.sql │ │ 5.1.1 修改标识值的示例.sql │ │ 5.1.1 标识列与普通列互相转换的示例.sql │ │ 5.2.1 查表法按日期生成流水号的示例.sql │ │ 5.2.1 查表法生成流水号的示例.sql │ │ 5.2.2 使用编号表按日期生成流水号的示例.sql │ │ 5.2.2 使用编号表生成流水号的示例.sql │ │ 5.2.3 生成纯字母随机编号的示例(仅大小或者小写).sql │ │ 5.2.3 生成纯字母随机编号的示例(大小写混合).sql │ │ 5.2.3 生成纯数字随机编号的示例.sql │ │ 5.3.2 融合了补号处理的编号生成处理示例.sql │ │ 5.3.3 使用UPDATE进行编号重排的处理示例.sql │ │ 5.3.3 使用临时表进行编号重排的处理示例.sql │ │ 5.3.3 使用子查询进行编号重排的处理示例.sql │ │ 5.3.3 名次查询的处理示例.sql │ │ 5.4.1 查询已用编号分布情况的示例(临时表法).sql │ │ 5.4.1 查询已用编号分布情况的示例(子查询法).sql │ │ 5.4.2 查询缺号分布情况的示例.sql │ │ 5.4.3 返回已用编号、缺号分布字符串的处理示例.sql │ │ 5.4.4 缺勤天数统计的处理示例.sql │ │ │ └─其他 │ -补位法.sql │ 以另一个表的字段做默认值.sql │ 以另一表的字段生成编号.sql │ 关联部门流水号.sql │ 十六进制.sql │ 学号.sql │ 开票统计--涉及到连号处理.sql │ 新编号查询示例(分类查询).sql │ 新编号查询示例.sql │ 日期流水号.sql │ 材料流水号.sql │ 流水号.sql │ 箱编号连号处理.sql │ 类别自动生成编号示例.sql │ 自已做标识列的例子.sql │ 触发器自动维护已用&未用编号.sql │ 连续编号.sql │ 防止重复的示例.sql │ 项目编号=各项目独立流水号&各年不同.sql │ ├─第06章 │ │ 6.1.1 NULL对IN的查询的影响及解决示例.sql │ │ 6.1.2 各种联接的使用示例.sql │ │ 6.1.2 多表联结导致记录重复的示例.sql │ │ 6.1.3 使用UNION实现库存报表的示例.sql │ │ 6.1.5 按指定上下限区间进行数据统计的示例.sql │ │ 6.1.6 随机出题的示例.sql │ │ 6.2.1 ROLLUP实现的分级汇总示例(定义各汇总列标题).sql │ │ 6.2.1 ROLLUP实现的分级汇总示例(带排序及汇总列标题处理).sql │ │ 6.2.1 ROLLUP实现的分级汇总示例(带排序处理).sql │ │ 6.2.1 ROLLUP实现的分级汇总示例.sql │ │ 6.2.1 UNION ALL实现的分级汇总示例.sql │ │ 6.3.1 简单的交叉报表处理示例.sql │ │ 6.3.2 多列转换为行的交叉报表处理示例.sql │ │ 6.3.3 行值动态变化的交叉报表处理示例(转换多列).sql │ │ 6.3.3 行值动态变化的交叉报表处理示例.sql │ │ 6.3.4 化解字符串不能超过8000的方法.sql │ │ 6.3.5 特殊的交叉报表处理示例.sql │ │ 6.4.1 库存明细帐处理示例(包含结存数).sql │ │ 6.4.1 库存明细帐处理示例.sql │ │ 6.4.2 同期及上期数据对比处理示例.sql │ │ 6.4.3 动态分组处理示例.sql │ │ 6.4.4 排行榜处理示例.sql │ │ │ └─其他 │ 交叉表--复杂名次.sql │ 交叉表-优先级处理.sql │ 交叉表分析.sql │ 分级汇总.sql │ 分组交叉表.sql │ 列转行.sql │ 固定行列报表.sql │ 复杂交叉表.sql │ 复杂交叉表1.sql │ 多栏显示.sql │ 日期+星期+时间.sql │ 格式化报表.sql │ 横转竖-1.sql │ 横转竖-字段名.sql │ 横转竖-生成字段名.sql │ 横转竖.sql │ 行列互换的复杂交叉表.sql │ 限制列数的交叉表.sql │ ├─第07章 │ │ 7.1 splitpage.asp │ │ 7.2.1 TOP n 实现的通用分页存储过程.sql │ │ 7.2.2 字符串缓存实现的通用分页存储过程.sql │ │ 7.2.3 临时表缓存实现的通用分页存储过程.sql │ │ 7.2.4 使用系统存储过程实现的通用分页存储过程.sql │ │ 7.3.1 实现随机分页的通用分页存储过程.sql │ │ 7.3.2 根据分类表实现的分页存储过程.sql │ │ │ └─其他 │ sp_cursor.sql │ 基本方法.sql │ ├─第08章 │ │ 8.1.2 树形数据分级汇总示例.sql │ │ 8.1.3 树形数据编号重排的通用存储过程.sql │ │ 8.1.3 树形数据编号重排示例.sql │ │ 8.1.4 实现编码规则调整处理的通用存储过程.sql │ │ 8.1.4 生成编码规则调整处理T-SQL语句的函数.sql │ │ 8.1.5 删除节点处理的通用存储过程.sql │ │ 8.1.5 移动节点处理的通用存储过程.sql │ │ 8.2.2 树形数据层次显示处理示例.sql │ │ 8.2.2 树形数据广度排序处理示例.sql │ │ 8.2.2 树形数据深度排序处理示例(模拟单编号法).sql │ │ 8.2.2 树形数据深度排序处理示例(递归法).sql │ │ 8.2.3 查找指定节点的所有子节点的示例函数.sql │ │ 8.2.4 查找指定节点的所有父节点的示例函数.sql │ │ 8.2.5 校验插入指定结点是否导致编码循环的示例函数.sql │ │ 8.2.5 校验表中数据是否有循环编码的通用存储过程.sql │ │ 8.2.6 复制指定节点及其所有子节点到指定结点的处理示例(借鉴方式排序法).sql │ │ 8.2.6 复制指定节点及其所有子节点到指定结点的处理示例.sql │ │ 8.2.7 实现删除指定结点及所有子节点的处理触发器.sql │ │ 8.2.8 逐级汇总示例(循环逐级累计法).sql │ │ 8.2.8 逐级汇总示例(用户定义函数法).sql │ │ 8.3.1 产品配件清单查询示例.sql │ │ 8.3.2 最短乘车路线查询示例.sql │ │ │ └─其他 │ xml菜单.sql │ 宝塔形数据的处理-1.sql │ 宝塔形数据的处理.sql │ 树形数据生成xml.sql │ ├─第09章 │ │ 9.1.3 访问外部数据源方法总结.sql │ │ 9.5.1 二进制文件存取示例(T-SQL).sql │ │ 9.5.1 二进制文件存取示例(VB&VBA).vbs │ │ a.txt │ │ Schema.ini │ │ │ └─其他 │ bcp-数据导入导出(全).sql │ bcp-数据导入导出-二进制文件.sql │ bcp-数据导出为文件.sql │ bcp表数据存为XML.sql │ SQL Server到Oracle连接服务器的实现.sql │ SQL Server到SQLBASE连接服务器的实现.sql │ SQL Server到SYBASE连接服务器的实现.sql │ sql导出mysql.sql │ textcopy实现文件存取.sql │ Vb程序实现文件存取.sql │ 导入文本文件时如何指定字段类型.sql │ 导出northwind中Employees的图像.sql │ 将某个目录上的Excel表,导入到数据库中.sql │ 数据导入导出基本方法.sql │ 用ASP上传&下载文件.sql
在SQL Server中,可以使用多种方法来批量执行SQL脚本。以下是几种常用的方法: 1. SQL Server Management Studio (SSMS):SSMS是SQL Server的官方管理工具,它提供了一个查询编辑器,可以在其中编写和执行SQL脚本。你可以打开一个新的查询窗口,将多个SQL语句粘贴到该窗口中,并执行这些语句。 2. SQLCMD 实用程序:SQLCMD是SQL Server提供的一个命令行工具,可以用于执行SQL脚本。你可以创建一个文本文件,将多个SQL语句保存在其中,然后使用SQLCMD命令来执行该文件。例如,可以使用以下命令执行脚本文件: ``` sqlcmd -S <服务器名称> -d <数据库名称> -U <用户名> -P <密码> -i <脚本文件路径> ``` 其中,`<服务器名称>`是SQL Server实例的名称,`<数据库名称>`是要执行脚本的数据库名称,`<用户名>`和`<密码>`是连接数据库所需的凭据,`<脚本文件路径>`是包含SQL语句的文件路径。 3. PowerShell:如果你熟悉PowerShell脚本语言,也可以使用PowerShell来批量执行SQL脚本。你可以使用`Invoke-Sqlcmd` cmdlet来连接到SQL Server并执行SQL语句。以下是一个示例: ```powershell $server = "<服务器名称>" $database = "<数据库名称>" $username = "<用户名>" $password = "<密码>" $scriptPath = "<脚本文件路径>" $connectionString = "Server=$server;Database=$database;User ID=$username;Password=$password;" $sqlScript = Get-Content $scriptPath | Out-String Invoke-Sqlcmd -ServerInstance $server -Database $database -Username $username -Password $password -InputFile $scriptPath ``` 在上面的示例中,你需要将`<服务器名称>`、`<数据库名称>`、`<用户名>`、`<密码>`和`<脚本文件路径>`替换为实际的值。 这些方法可以根据你的需求选择使用。如果你有其他相关问题,请告诉我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值