zoukankan      html  css  js  c++  java
  • 获取数据库当中的脚本信息

    SET NOCOUNT ON;
    
    --/*-- ========================================
    -- Job
    -- Server/JobServer/Job[@Name='{1}']
    SELECT
    	urn = N'Server/JobServer/Job[@Name='
    		+ QUOTENAME(name, N'''')
    		+ N']',
    	script_file = NULL
    FROM msdb.dbo.sysjobs JOB WITH(NOLOCK)
    WHERE JOB.category_id IN(	-- not include replication job
    		SELECT CAT.category_id
    		FROM msdb.dbo.syscategories CAT WITH(NOLOCK)
    		WHERE CAT.category_class = 1
    			AND CAT.name NOT IN(N'Log Shipping')
    			AND CAT.name NOT LIKE N'REPL-%'
    	)
    	AND enabled = 1			-- not include disable job
    ;
    -- ======================================== */
    
    
    /*-- ========================================
    -- Schema
    -- Server/Database[@Name='{0}']/Schema[@Name='{1}']
    SELECT
    	urn = N'Server'
    		+ N'/Database[@Name='
    		+ QUOTENAME(DB_NAME(), N'''')
    		+ N']'
    		+ N'/Schema[@Name='
    		+ QUOTENAME(OBJ.name, N'''')
    		+ N']',
    	script_file = NULL
    FROM sys.schemas OBJ WITH(NOLOCK)
    	INNER JOIN sys.database_principals DP WITH(NOLOCK)
    		ON DP.principal_id = OBJ.principal_id
    WHERE DP.type IN(
    		'S',
    		'U', 'G',
    		'C', 'K'
    	)
    	AND OBJ.name NOT IN(
    		N'dbo', N'sys', N'guest',
    		N'INFORMATION_SCHEMA'
    	)
    	AND OBJ.name NOT LIKE N'%Mark%Delete%'
    	AND NOT(
    		OBJ.name = DP.name
    		AND OBJ.name LIKE N'%dbo'
    	)
    ;
    -- ======================================== */
    
    /*-- ========================================
    -- tables
    -- Server/Database[@Name='{0}']/Table[@Name='{1}' and @Schema='{2}']
    SELECT
    	urn = N'Server'
    		+ N'/Database[@Name='
    		+ QUOTENAME(DB_NAME(), N'''')
    		+ N']'
    		+ N'/Table[@Name='
    		+ QUOTENAME(OBJ.name, N'''')
    		+ N' and @Schema='
    		+ QUOTENAME(SCH.name, N'''')
    		+ N']',
    	script_file = SCH.name
    				+ N'.'
    				+ OBJ.name
    FROM sys.tables OBJ WITH(NOLOCK)
    	INNER JOIN sys.schemas SCH WITH(NOLOCK)
    		ON SCH.schema_id = OBJ.schema_id
    WHERE OBJ.is_ms_shipped = 0
    	AND OBJ.name NOT LIKE N'%Mark%Delete%'
    	--AND SCH.name = N'dbo'
    ;
    -- ======================================== */
    
    /*-- ========================================
    -- views
    -- Server/Database[@Name='{0}']/View[@Name='{1}' and @Schema='{2}']
    SELECT
    	urn = N'Server'
    		+ N'/Database[@Name='
    		+ QUOTENAME(DB_NAME(), N'''')
    		+ N']'
    		+ N'/View[@Name=' 
    		+ QUOTENAME(OBJ.name, N'''') 
    		+ N' and @Schema='
    		+ QUOTENAME(SCH.name, N'''')
    		+ N']',
    	script_file = SCH.name
    				+ N'.'
    				+ OBJ.name
    FROM sys.views OBJ WITH(NOLOCK)
    	INNER JOIN sys.schemas SCH WITH(NOLOCK)
    		ON SCH.schema_id = OBJ.schema_id
    WHERE OBJ.is_ms_shipped = 0
    	AND OBJ.name NOT LIKE N'%Mark%Delete%'
    	--AND SCH.name = N'dbo'
    ;
    -- ======================================== */
    
    /*-- ========================================
    -- functions
    -- Server/Database[@Name='{0}']/UserDefinedFunction[@Name='{1}' and @Schema='{2}']
    SELECT
    	urn = N'Server'
    		+ N'/Database[@Name='
    		+ QUOTENAME(DB_NAME(), N'''')
    		+ N']'
    		+ N'/UserDefinedFunction[@Name='
    		+ QUOTENAME(OBJ.name, N'''')
    		+ N' and @Schema='
    		+ QUOTENAME(SCH.name, N'''')
    		+ N']',
    	script_file = SCH.name
    				+ N'.'
    				+ OBJ.name
    FROM sys.objects OBJ WITH(NOLOCK)
    	INNER JOIN sys.schemas SCH WITH(NOLOCK)
    		ON SCH.schema_id = OBJ.schema_id
    WHERE OBJ.type IN(
    		'TF', 'FN', 'IF', 'FS', 'FT',
    		'AF'
    	)
    	AND OBJ.is_ms_shipped = 0
    	AND OBJ.name NOT LIKE N'%Mark%Delete%'
    	--AND SCH.name = N'dbo'
    ;
    -- ======================================== */
    
    /*-- ========================================
    -- procedures
    -- Server/Database[@Name='{0}']/StoredProcedure[@Name='{1}' and @Schema='{2}']
    SELECT
    	urn = N'Server'
    		+ N'/Database[@Name='
    		+ QUOTENAME(DB_NAME(), N'''')
    		+ N']'
    		+ N'/StoredProcedure[@Name='
    		+ QUOTENAME(OBJ.name, N'''')
    		+ N' and @Schema='
    		+ QUOTENAME(SCH.name, N'''')
    		+ N']',
    	script_file = SCH.name
    				+ N'.'
    				+ OBJ.name
    FROM sys.procedures OBJ WITH(NOLOCK)
    	INNER JOIN sys.schemas SCH WITH(NOLOCK)
    		ON SCH.schema_id = OBJ.schema_id
    WHERE OBJ.is_ms_shipped = 0
    	AND OBJ.name NOT LIKE N'%Mark%Delete%'
    	--AND SCH.name = N'dbo'
    ;
    -- ======================================== */
    

      

  • 相关阅读:
    查看单据项目文本对应的参数信息
    下载EPM包详细运行日志
    ABAP 字符串换行符处理
    PyCharm编辑HTML文件时输入{%不能自动补全
    Ubuntu 18.04安装MongoDB 4.0
    ubuntu18.04(bionic) 配置阿里数据源
    【Python】迭代器
    【python】多任务(2. 进程)
    【python】多任务(1. 线程)
    【python】文件下载---基础版
  • 原文地址:https://www.cnblogs.com/bober/p/2835078.html
Copyright © 2011-2022 走看看