REDGATE又一好用的脚本工具ScriptsManager1.3
REDGATE又一好用的脚本工具ScriptsManager1.3
先说明一下:这个工具是免费的
下载地址:http://www.red-gate.com/products/dba/sql-scripts-manager/
这个工具是常用脚本工具,里面已经集合了SQLSERVER砖家们的脚本,这些脚本涉及很多方面
包括:备份,诊断,导出,索引,空间,模版,工具
大家可以调用这些脚本,不用再打开你的脚本文件夹到处搜索你的笔记了
选择好脚本之后就打开
打开之后会显示脚本的用途
脚本代码
贡献脚本的作者信息
这些作者都来自知名数据库网站
点击“Continue”
选择在哪个数据库上运行这个脚本
点击“run”运行
运行结果
也可以将结果导出csv文件
也可以贡献您的代码到社区
工具里面的所有脚本代码
脚本大全 redgate的ScriptsManager 1.3 2013-12-5--列出最近多少天内的备份记录 SELECT sd.name AS [Database] ,CASE WHEN bs.type = 'D' THEN 'Full backup'WHEN bs.type = 'I' THEN 'Differential'WHEN bs.type = 'L' THEN 'Log'WHEN bs.type = 'F' THEN 'File/Filegroup'WHEN bs.type = 'G' THEN 'Differential file'WHEN bs.type = 'P' THEN 'Partial'WHEN bs.type = 'Q' THEN 'Differential partial'ELSE 'Unknown (' + bs.type + ')'END AS [Backup Type] ,bs.backup_start_date AS [Date] FROM master..sysdatabases sdLEFT OUTER JOIN msdb..backupset bs ON RTRIM(bs.database_name) = RTRIM(sd.name)LEFT OUTER JOIN msdb..backupmediafamily bmf ON bs.media_set_id = bmf.media_set_id WHERE sd.name = '[AdventureWorks]' --填入数据库名AND bs.backup_start_date > GETDATE() - 10 --填入天数 ORDER BY sd.name ,[Date] ----------------------------------------------------- --列出sql实例下所有数据库的最后一次备份类型 和当前备份类型 排除tempdb数据库 SELECT sd.name AS [Database],CASE WHEN bs.type = 'D' THEN 'Full backup'WHEN bs.type = 'I' THEN 'Differential'WHEN bs.type = 'L' THEN 'Log'WHEN bs.type = 'F' THEN 'File/Filegroup'WHEN bs.type = 'G' THEN 'Differential file'WHEN bs.type = 'P' THEN 'Partial'WHEN bs.type = 'Q' THEN 'Differential partial'WHEN bs.type IS NULL THEN 'No backups'ELSE 'Unknown (' + bs.type + ')'END AS [Backup Type],max(bs.backup_start_date) AS [Last Backup of Type] FROM master..sysdatabases sdLEFT OUTER JOIN msdb..backupset bs ON rtrim(bs.database_name) = rtrim(sd.name)LEFT OUTER JOIN msdb..backupmediafamily bmf ON bs.media_set_id = bmf.media_set_id WHERE sd.name <> 'tempdb' GROUP BY sd.name,bs.type,bs.database_name ORDER BY sd.name, [Last Backup of Type]---------------------------------------------------------- --数据库文件、大小和已经使用空间 USE [AdventureWorks] --要查看的当前数据库的使用空间,自动增长大小,数据库文件位置 GO set nocount on create table #Data(FileID int NOT NULL,[FileGroupId] int NOT NULL,TotalExtents int NOT NULL,UsedExtents int NOT NULL,[FileName] sysname NOT NULL,[FilePath] nvarchar(MAX) NOT NULL,[FileGroup] varchar(MAX) NULL)create table #Results(db sysname NULL ,FileType varchar(4) NOT NULL,[FileGroup] sysname not null,[FileName] sysname NOT NULL,TotalMB numeric(18,2) NOT NULL,UsedMB numeric(18,2) NOT NULL,PctUsed numeric(18,2) NULL,FilePath nvarchar(MAX) NULL,FileID int null)create table #Log(db sysname NOT NULL,LogSize numeric(18,5) NOT NULL,LogUsed numeric(18,5) NOT NULL,Status int NOT NULL,[FilePath] nvarchar(MAX) NULL)INSERT #Data (FileID, [FileGroupId], TotalExtents, UsedExtents, [FileName], [FilePath]) EXEC ('DBCC showfilestats WITH NO_INFOMSGS')update #Data set #Data.FileGroup = sysfilegroups.groupname from #Data, sysfilegroups where #Data.FileGroupId = sysfilegroups.groupidINSERT INTO #Results (db, [FileGroup], FileType, [FileName], TotalMB, UsedMB, PctUsed, FilePath, FileID) SELECT DB_NAME() db,[FileGroup],'Data' FileType,[FileName],TotalExtents * 64./1024. TotalMB,UsedExtents *64./1024 UsedMB,UsedExtents*100. /TotalExtents UsedPct,[FilePath],FileID FROM #Data order BY --1,2 DB_NAME(), [FileGroup]insert #Log (db,LogSize,LogUsed,Status) exec('dbcc sqlperf(logspace) WITH NO_INFOMSGS ')insert #Results(db, [FileGroup], FileType, [FileName], TotalMB,UsedMB, PctUsed, FilePath, FileID) select DB_NAME() db,'Log' [FileGroup],'Log' FileType,s.[name] [FileName],s.Size/128. as LogSize ,FILEPROPERTY(s.name,'spaceused')/8.00 /16.00 As LogUsedSpace,((FILEPROPERTY(s.name,'spaceused')/8.00 /16.00)*100)/(s.Size/128.) UsedPct,s.FileName FilePath,s.FileID FileIDfrom #Log l , master.dbo.sysaltfiles f , dbo.sysfiles swhere f.dbid = DB_ID()and (s.status & 0x40) <> 0and s.FileID = f.FileIDand l.db = DB_NAME()SELECT r.db AS "Database", r.FileType AS "File type", CASEWHEN r.FileGroup = 'Log' Then 'N/A'ELSE r.FileGroup END "File group", r.FileName AS "Logical file name", r.TotalMB AS "Total size (MB)", r.UsedMB AS "Used (MB)", r.PctUsed AS "Used (%)", r.FilePath AS "File name", r.FileID AS "File ID", CASE WHEN s.maxsize = -1 THEN nullELSE CONVERT(decimal(18,2), s.maxsize /128.) END "Max. size (MB)", CONVERT(decimal(18,2), s.growth /128.) "Autogrowth increment (MB)" FROM #Results r INNER JOIN dbo.sysfiles s ON r.FileID = s.FileID ORDER BY 1,2,3,4,5DROP TABLE #Data DROP TABLE #Results DROP TABLE #Log---------------------------------------------------------- --查看当前sql实例下buffer cache的命中率 SELECTCASE WHEN t2.cntr_value = 0THEN 0ELSE CONVERT(DECIMAL(38,2), CAST(t1.cntr_value AS FLOAT) / CAST(t2.cntr_value AS FLOAT) * 100.0)END 'Buffer Cache Hit Ratio (%)' FROM sys.dm_os_performance_counters t1,sys.dm_os_performance_counters t2 WHEREt1.object_name LIKE '%Buffer Manager%' AND t1.object_name = t2.object_name AND t1.counter_name='Buffer cache hit ratio' AND t2.counter_name='Buffer cache hit ratio base'---------------------------------------------------------------- --在SQL实例级别列出在plan cache中的SQL语句的内容和每个语句平均运行时间并排序 SELECT SUBSTRING(ST.text, (QS.statement_start_offset/2) + 1,((CASE statement_end_offsetWHEN -1 THEN DATALENGTH(ST.text)ELSE QS.statement_end_offsetEND - QS.statement_start_offset)/2) + 1) AS "Statement Text",total_worker_time/execution_count/1000 AS "Average Worker Time (ms)",execution_count AS "Execution Count",total_worker_time/1000 AS "Total Worker Time (ms)",total_logical_reads AS "Total Logical Reads",total_logical_reads/execution_count AS "Average Logical Reads",total_elapsed_time/1000 AS "Total Elapsed Time (ms)",total_elapsed_time/execution_count/1000 AS "Average Elapsed Time (ms)",QP.query_plan AS "Query Plan (double click to open)" FROM sys.dm_exec_query_stats QSCROSS APPLY sys.dm_exec_sql_text(QS.sql_handle) STCROSS APPLY sys.dm_exec_query_plan(QS.plan_handle) QP ORDER BY total_elapsed_time/execution_count DESC------------------------------------------------------------------------ --列出单个数据库里所有的索引碎片 USE [AdventureWorks] GO SELECT '[' + DB_NAME() + '].[' + OBJECT_SCHEMA_NAME(ddips.[object_id],DB_ID()) + '].['+ OBJECT_NAME(ddips.[object_id], DB_ID()) + ']' AS [Object] ,i.[name] AS [Index] ,ddips.[index_type_desc] AS [Index Type],ddips.[partition_number] AS [Partition Number],ddips.[alloc_unit_type_desc] AS [Allocation Unit Type],ddips.[index_depth] AS [Index Depth],ddips.[index_level] AS [Index Level],CAST(ddips.[avg_fragmentation_in_percent] AS SMALLINT)AS [Average Fragmentation (%)] ,CAST(ddips.[avg_fragment_size_in_pages] AS SMALLINT)AS [Average Fragment Size (pages)] ,ddips.[fragment_count] AS [Fragments],ddips.[page_count] AS [Pages] FROM sys.dm_db_index_physical_stats(DB_ID(), NULL,NULL, NULL, 'limited') ddipsINNER JOIN sys.[indexes] i ON ddips.[object_id] = i.[object_id]AND ddips.[index_id] = i.[index_id] WHERE ddips.[avg_fragmentation_in_percent] > 50 --填入索引碎片度AND ddips.[page_count] > 100 --填入 ORDER BY ddips.[avg_fragmentation_in_percent] ,OBJECT_NAME(ddips.[object_id], DB_ID()) ,i.[name]---------------------------------------------------------------------- --列出单个实例下SQLSERVER性能计数器的各个比率值DECLARE @PERF_LARGE_RAW_FRACTION INT ,@PERF_LARGE_RAW_BASE INT SELECT @PERF_LARGE_RAW_FRACTION = 537003264 ,@PERF_LARGE_RAW_BASE = 1073939712SELECT dopc_fraction.object_name AS [Performance object],dopc_fraction.instance_name AS [Counter instance],dopc_fraction.counter_name AS [Counter name],--when divisor is 0, return I return NULL to indicate--divide by 0/no values capturedCONVERT(DECIMAL(38,2), CAST(dopc_fraction.cntr_value AS FLOAT)/ CAST(CASE dopc_base.cntr_valueWHEN 0 THEN NULLELSE dopc_base.cntr_valueEND AS FLOAT)) AS [Value] FROM sys.dm_os_performance_counters AS dopc_baseJOIN sys.dm_os_performance_counters AS dopc_fractionON dopc_base.cntr_type = @PERF_LARGE_RAW_BASEAND dopc_fraction.cntr_type = @PERF_LARGE_RAW_FRACTIONAND dopc_base.object_name = dopc_fraction.object_nameAND dopc_base.instance_name = dopc_fraction.instance_nameAND ( REPLACE(UPPER(dopc_base.counter_name), 'BASE', '') =UPPER(dopc_fraction.counter_name)--Worktables From Cache has "odd" name where--Ratio was left offOR REPLACE(UPPER(dopc_base.counter_name), 'BASE', '') =REPLACE(UPPER(dopc_fraction.counter_name), 'RATIO', '')) ORDER BY dopc_fraction.object_name ,dopc_fraction.instance_name ,dopc_fraction.counter_name ----------------------------------------------------------------------- --列出单个数据库下所有没有聚集索引的用户表 USE [AdventureWorks] --要看出的数据库 GO SELECT o.name FROM sys.objects o WHERE o.type='U'AND NOT EXISTS(SELECT 1 FROM sys.indexes iWHERE o.object_id = i.object_idAND i.type_desc = 'CLUSTERED') --------------------------------------------------------------------------- --列出实例级别下阻塞的事务和阻塞,包括SQL语句,登录名 会话ID SELECT db_name(DTL.[resource_database_id]) AS [Database],DTL.[resource_type] AS [Resource Type] ,CASE WHEN DTL.[resource_type] IN ( 'DATABASE', 'FILE', 'METADATA' )THEN DTL.[resource_type]WHEN DTL.[resource_type] = 'OBJECT'THEN OBJECT_NAME(DTL.resource_associated_entity_id)WHEN DTL.[resource_type] IN ( 'KEY', 'PAGE', 'RID' )THEN ( SELECT OBJECT_NAME([object_id])FROM sys.partitionsWHERE sys.partitions.[hobt_id] =DTL.[resource_associated_entity_id])ELSE 'Unidentified'END AS [Parent Object] ,DTL.[request_mode] AS [Lock Type] ,DTL.[request_status] AS [Request Status] ,DOWT.[wait_duration_ms] AS [Wait Duration (ms)] ,DOWT.[wait_type] AS [Wait Type] ,DOWT.[session_id] AS [Blocked Session ID] ,DES_Blocked.[login_name] AS [Blocked Login] ,SUBSTRING(DEST_Blocked.text, (DER.statement_start_offset / 2) + 1,( CASE WHEN DER.statement_end_offset = -1THEN DATALENGTH(DEST_Blocked.text)ELSE DER.statement_end_offsetEND - DER.statement_start_offset ) / 2)AS [Blocked Command] ,DOWT.[blocking_session_id] AS [Blocking Session ID] ,DES_Blocking.[login_name] AS [Blocking Login] ,DEST_Blocking.[text] AS [Blocking Command] ,DOWT.resource_description AS [Blocking Resource Detail] FROM sys.dm_tran_locks DTLINNER JOIN sys.dm_os_waiting_tasks DOWTON DTL.lock_owner_address = DOWT.resource_addressINNER JOIN sys.[dm_exec_requests] DERON DOWT.[session_id] = DER.[session_id]INNER JOIN sys.dm_exec_sessions DES_BlockedON DOWT.[session_id] = DES_Blocked.[session_id]INNER JOIN sys.dm_exec_sessions DES_BlockingON DOWT.[blocking_session_id] = DES_Blocking.[session_id]INNER JOIN sys.dm_exec_connections DECON DOWT.[blocking_session_id] = DEC.[most_recent_session_id]CROSS APPLY sys.dm_exec_sql_text(DEC.[most_recent_sql_handle])AS DEST_BlockingCROSS APPLY sys.dm_exec_sql_text(DER.sql_handle) AS DEST_Blocked ------------------------------------------------------------------------------ --列出前十行占用CPU最长时间的SQL语句 SELECT TOP (10)RANK() Over (ORDER BY deqs.total_worker_time DESC) As [Rank],CONVERT(decimal(38,2), CONVERT(float, total_worker_time) / 1000) AS [Total CPU Time (ms)],execution_count AS [Execution Count],CONVERT(decimal(38,2), (CONVERT(float, total_worker_time) / execution_count) / 1000) AS [Average CPU Time (ms)] ,SUBSTRING(execText.text,-- starting value for substringCASE WHEN deqs.statement_start_offset = 0OR deqs.statement_start_offset IS NULLTHEN 1ELSE deqs.statement_start_offset/2 + 1 END,-- ending value for substringCASE WHEN deqs.statement_end_offset = 0OR deqs.statement_end_offset = -1OR deqs.statement_end_offset IS NULLTHEN LEN(execText.text)ELSE deqs.statement_end_offset/2 END -CASE WHEN deqs.statement_start_offset = 0OR deqs.statement_start_offset IS NULLTHEN 1ELSE deqs.statement_start_offset/2 END + 1) AS [Query Text],execText.text AS [Object Text] FROM sys.dm_exec_query_stats deqsCROSS APPLY sys.dm_exec_sql_text(deqs.plan_handle) AS execText ORDER BY deqs.total_worker_time DESC ; ------------------------------------------------------------------------------------ --列出单个数据库的每个数据库文件的读写和总的输入/输出统计信息 SELECT DB_NAME(database_id) AS [Database Name] ,file_id AS [File ID],io_stall_read_ms AS [Total Read Waits (ms)],num_of_reads AS [Number of Reads],CAST(io_stall_read_ms / ( 1.0 + num_of_reads ) AS NUMERIC(10, 1))AS [Average Read Wait (ms)] ,io_stall_write_ms AS [Total Write Waits (ms)],num_of_writes AS [Number of Writes],CAST(io_stall_write_ms / ( 1.0 + num_of_writes ) AS NUMERIC(10, 1))AS [Average Write Wait (ms)] ,io_stall_read_ms + io_stall_write_ms AS [Total I/O Waits (ms)] ,num_of_reads + num_of_writes AS [Number of I/O Operations] ,CAST(( io_stall_read_ms + io_stall_write_ms ) / ( 1.0 + num_of_reads+ num_of_writes)AS NUMERIC(10,1)) AS [Average I/O Wait (ms)] FROM sys.dm_io_virtual_file_stats(NULL, NULL) --可以指定dbid 和fileid也可以不指定,如果不指定就列出当前实例下所有数据库的I/O状况 ORDER BY [Average I/O Wait (ms)] DESC ;--FROM sys.dm_io_virtual_file_stats(DB_ID('AdventureWorks'), NULL) --------------------------------------------------------------------------- --列出单个数据库的所有表的读写统计 USE [AdventureWorks] GO SELECT OBJECT_SCHEMA_NAME(ddius.object_id) + '.' + OBJECT_NAME(ddius.object_id) AS [Object Name] ,CASEWHEN ( SUM(user_updates + user_seeks + user_scans + user_lookups) = 0 )THEN NULLELSE CONVERT(DECIMAL(38,2), CAST(SUM(user_seeks + user_scans + user_lookups) AS DECIMAL)/ CAST(SUM(user_updates + user_seeks + user_scans+ user_lookups) AS DECIMAL) )END AS [Proportion of Reads] ,CASEWHEN ( SUM(user_updates + user_seeks + user_scans + user_lookups) = 0 )THEN NULLELSE CONVERT(DECIMAL(38,2), CAST(SUM(user_updates) AS DECIMAL)/ CAST(SUM(user_updates + user_seeks + user_scans+ user_lookups) AS DECIMAL) )END AS [Proportion of Writes] ,SUM(user_seeks + user_scans + user_lookups) AS [Total Read Operations] ,SUM(user_updates) AS [Total Write Operations] FROM sys.dm_db_index_usage_stats AS ddiusJOIN sys.indexes AS i ON ddius.object_id = i.object_idAND ddius.index_id = i.index_id WHERE i.type_desc IN ( 'CLUSTERED', 'HEAP' ) --only works in Current db GROUP BY ddius.object_id ORDER BY OBJECT_SCHEMA_NAME(ddius.object_id) + '.' + OBJECT_NAME(ddius.object_id)------------------------------------------------------------------------------ --列出服务器实例级别下的最长的资源等待,帮你找出系统瓶颈 WITH WaitsAS ( SELECT wait_type ,wait_time_ms / 1000. AS wait_time_sec ,100. * wait_time_ms / SUM(wait_time_ms) OVER ( ) AS pct ,ROW_NUMBER() OVER ( ORDER BY wait_time_ms DESC ) AS rnFROM sys.dm_os_wait_statsWHERE wait_type NOT IN ( 'CLR_SEMAPHORE', 'LAZYWRITER_SLEEP','RESOURCE_QUEUE', 'SLEEP_TASK','SLEEP_SYSTEMTASK','SQLTRACE_BUFFER_FLUSH', 'WAITFOR','LOGMGR_QUEUE', 'CHECKPOINT_QUEUE' )) SELECT wait_type AS [Wait Type],CAST(wait_time_sec AS DECIMAL(12, 2)) AS [Wait Time (s)] ,CAST(pct AS DECIMAL(12, 2)) AS [Wait Time (%)] FROM Waits WHERE pct > 1 --wait time limit% ORDER BY wait_time_sec DESC------------------------------------------------------------------------ ----列出实例下的每个用户会话(不是系统会话)运行的语句,包括登录,查询语句,状态信息 SELECT des.login_name AS [Login],der.command AS [Command],dest.text AS [Command Text] ,des.login_time AS [Login Time],des.[host_name] AS [Hostname],des.[program_name] AS [Program],der.session_id AS [Session ID],dec.client_net_address [Client Net Address],der.status AS [Status],DB_NAME(der.database_id) AS [Database Name] FROM sys.dm_exec_requests derINNER JOIN sys.dm_exec_connections decON der.session_id = dec.session_idINNER JOIN sys.dm_exec_sessions desON des.session_id = der.session_idCROSS APPLY sys.dm_exec_sql_text(sql_handle) AS dest WHERE des.is_user_process = 1--------------------------------------------------------------------- --统计出每个数据库中有多少个表是做了表分区的 DECLARE @db VARCHAR(60) DECLARE @vsql VARCHAR(1400) DECLARE getdb CURSOR FOR SELECT name from msdb.sys.sysdatabases CREATE TABLE #parts (dbname VARCHAR(60), part int) OPEN getdb FETCH NEXT FROM getdb INTO @db WHILE @@FETCH_STATUS = 0BEGININSERT INTO #parts VALUES(@db, 0) SET @vsql = 'UPDATE #parts SET part = 1 from ' + @db + '.sys.partitions sp , ' + @db + '.sys.sysobjects so where sp.object_id = so.id and partition_number != 1 and #parts.dbname = ''' + @db + '''' print @vsql EXEC (@vsql)FETCH NEXT FROM getdb INTO @dbEND CLOSE getdbselect dbname AS 'Database', part AS 'Number of Partitioned Tables' from #parts drop table #parts deallocate getdbDatabase Number of Partitioned Tables ------------------------------------------------------------ ---------------------------- master 0 tempdb 0 model 0 msdb 0 DLGPOS 0 GPOSDB 0 Northwind 0 partionTest 1 --------------------------------------------------------------------------- ----列出成功和失败的用户登录SQL服务器的信息 从SQL ERRORLOG文件里获取 DECLARE @TSQL NVARCHAR(2000) DECLARE @lC INT CREATE TABLE #TempLog (LogDate DATETIME,ProcessInfo NVARCHAR(50),[Text] NVARCHAR(MAX))CREATE TABLE #logF (ArchiveNumber INT,LogDate DATETIME,LogSize INT ) INSERT INTO #logF EXEC sp_enumerrorlogs SELECT @lC = MIN(ArchiveNumber) FROM #logFWHILE @lC IS NOT NULL BEGININSERT INTO #TempLogEXEC sp_readerrorlog @lCSELECT @lC = MIN(ArchiveNumber) FROM #logFWHERE ArchiveNumber > @lC END--Failed login counts. Useful for security audits. SELECT 'Failed - ' + CONVERT(nvarchar(5), COUNT(Text)) + ' attempts' AS [Login Attempt], Text AS Details FROM #TempLog where ProcessInfo = 'Logon' and Text like '%failed%' Group by Text--Find Last Successful login. Useful to know before deleting "obsolete" accounts. SELECT Distinct 'Successful - Last login at (' + CONVERT(nvarchar(64), MAX(LogDate)) + ')' AS [Login Attempt], Text AS Details FROM #TempLog where ProcessInfo = 'Logon' and Text like '%succeeded%' and Text not like '%NT AUTHORITY%' Group by TextDROP TABLE #TempLog DROP TABLE #logF ------------------------------------------------------------------------- --列出当前数据库实例的版本和从开机到现在为止数据库实例已经运行了多少天 SELECT SUBSTRING(CONVERT(VARCHAR, SERVERPROPERTY('servername')), 1, 40) 'Instance' ,CONVERT(SYSNAME, @@version) 'Version' ,DATEDIFF(d, crdate, GETDATE()) 'Days Online' FROM master.dbo.sysdatabases WHERE name = 'tempdb'--crdate 数据库创建时间,因为tempdb是SQL启动的时候才创建的,所以过滤条件选择tempdb SELECT * FROM master.dbo.sysdatabases
如有不对的地方,欢迎大家拍砖o(∩_∩)o
2014-6-17补充:
--查看当前库有哪些表是分区的 SELECT so.[name] FROM [数据库名].sys.partitions sp ,[数据库名].sys.objects so WHERE sp.object_id = so.[object_id]AND partition_number != 1 GROUP BY [so].[name]--sys.partitions ---http://technet.microsoft.com/zh-cn/library/ms175012(SQL.90).aspx
REDGATE又一好用的脚本工具ScriptsManager1.3相关推荐
- ArcGIS使用Python脚本工具
在Pyhton写的一些代码,用户交互不方便,用户体验比较差,不方便重用.在ArcGIS中可以将用写的Python代码导入到ToolBox中,这样用起来就比较方便了.这里用按要素裁剪栅格的Python来 ...
- arcgis python工具-ArcGIS使用Python脚本工具
在Pyhton写的一些代码,用户交互不方便,用户体验比较差,不方便重用.在ArcGIS中可以将用写的Python代码导入到ToolBox中,这样用起来就比较方便了.这里用按要素裁剪栅格的Python来 ...
- 数据库文档生成数据库脚本工具
数据库文档生成数据库脚本工具,txt->sql word文档: ---------------------------------------------------------- 图一 复制到 ...
- arcgis怎么用python重新排序,使用ArcGIS脚本工具将点数据进行排序并编号
本帖最后由 大栗子 于 2019-6-28 17:21 编辑 今天我们就来分享使用ArcGIS脚本工具将点数据进行排序并编号,文末我们会附上点数据和直接使用的脚本工具. 我们先来看一下我们要达到的效果 ...
- shell编程系列26--大型脚本工具开发实战
shell编程系列26--大型脚本工具开发实战大型脚本工具开发实战拆分脚本功能,抽象函数1.function get_all_group 返回进程组列表字符串2.function get_all_pr ...
- arcgis python实例_arcgis python脚本工具实例教程—栅格范围提取至多边形要素类
arcgis python脚本工具实例教程-栅格范围提取至多边形要素类 商务合作,科技咨询,版权转让:向日葵,135-4855_4328,xiexiaokui#qq.com 功能:提取栅格数据的范围, ...
- shell结合expect写的批量scp脚本工具
转载链接:http://www.jb51.net/article/34005.htm expect用于自动化地执行linux环境下的命令行交互任务,例如scp.ssh之类需要用户手动输入密码然后确认的 ...
- python编写arcgis脚本教程_ArcGIS使用Python脚本工具
在Pyhton写的一些代码,用户交互不方便,用户体验比较差,不方便重用.在ArcGIS中可以将用写的Python代码导入到ToolBox中,这样用起来就比较方便了.这里用按要素裁剪栅格的Python来 ...
- java中JShell脚本工具、常量优化、集成开发环境IDEA
JShell脚本工具: jshell:直接在DOS命令行(黑窗口)键入main方法中的代码就可以快速看到运行的结果,无需编译再运行,并且省略了入口方法及定义类的过程,其使用方法: 1.打开黑窗口后键入 ...
- 应用交付脚本工具在HTTP服务中的应用
可编写脚本在应用交付(负载均衡)中是个相当关键的功能,它是负载均衡策略灵活性的最佳体现.虽然对于没有软件开发基础的技术同仁来说,脚本编写可能是一个"噩梦",面对着那"神奇 ...
最新文章
- Jenkins X基本概念:Jenkins K8S helm Draft gitops
- Spark _05Standalone模式两种提交任务方式
- 中国象棋程序的设计与实现(五)--回答CSDN读者的一些问题
- linux 普通用户间切换,Linux中管理员用户与普通用户之间的切换
- PAIP.MYSQL数据库比较
- SpringBoot(三)
- ass字幕转换成文本文件
- Gradle入门教程学习笔记
- 基于STM32 LCD屏实现的俄罗斯方块小游戏(20220522完成 第一个综合类项目)
- iOS 开发者必知的 75 个工具
- 计算机科学刘培姣,高中物理课堂融入物理学史体现核心素养的必要性
- 坐禅修行木鱼诵经流量主小程序开发
- 腾讯物联网云平台 密钥 MQTT参数生成及密码加密算法实现
- 项目八总结 数据库安全与维护
- python关键字定义_python 关键字与含义
- ATT 汇编 lea 和 mov指令区别
- Ansys Zemax | 如何设计单透镜 第一部分:设置
- 【安安教具】-【工具】-【绩点计算】模拟器 教你如何用python制作绩点计算器
- idea的英文翻译插件安装(Translation)
- 斯坦福大学研究人员利用AI生成表情包