首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何查看在SQL Server 2008中创建存储过程的原始SQL?

在SQL Server 2008中,可以通过以下步骤查看创建存储过程的原始SQL:

  1. 打开SQL Server Management Studio(SSMS)。
  2. 连接到SQL Server 2008数据库实例。
  3. 在对象资源管理器中,展开数据库节点,然后展开“程序性对象”节点。
  4. 找到存储过程所在的文件夹,右键单击该文件夹,并选择“新建查询”。
  5. 在查询窗口中,输入以下T-SQL语句:
代码语言:sql
复制

SELECT definition

FROM sys.sql_modules

WHERE object_id = OBJECT_ID('存储过程名称')

代码语言:txt
复制

将“存储过程名称”替换为要查看的存储过程的名称。

  1. 执行查询,将会返回存储过程的原始SQL代码。

需要注意的是,上述方法只适用于已经创建的存储过程。如果存储过程尚未创建,或者已经被修改过,那么将无法查看到原始SQL代码。

推荐的腾讯云相关产品:腾讯云数据库SQL Server版(https://cloud.tencent.com/product/sqlserver

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

SQL Server 存储过程分页方案比拼

表                  ORDER BY id) AS T)) ORDER BY ID ------------------------------------- 分页方案三:(利用SQL...游标存储过程分页) create  procedure XiaoZhengGe @sqlstr nvarchar(4000), --查询字符串 @currentpage int, --第N页...建议优化时候,加上主键和索引,查询效率会提高。...通过SQL 查询分析器,显示比较:我结论是: 分页方案二:(利用ID大于多少和SELECT TOP分页)效率最高,需要拼接SQL语句 分页方案一:(利用Not In和SELECT TOP分页)   ...效率次之,需要拼接SQL语句 分页方案三:(利用SQL游标存储过程分页)    效率最差,但是最为通用 本文由来源 21aspnet,由 javajgs_com 整理编辑,其版权均为 21aspnet

80620
  • SQL Server 存储过程几种常见写法分析

    最近发现还有不少做开发小伙伴,在写存储过程时候,在参考已有的不同写法时,往往很迷茫, 不知道各种写法孰优孰劣,该选用那种写法,以及各种写法优缺点,本文以一个简单查询存储过程为例,简单说一下各种写法区别...我们把执行SQL打印出来,执行SQL语句本身就是就是存储过程中拼凑出来字符串,这么一个查询SQL字符串 SELECT [id] ,[OrderNumber] ,[CustomerId...       这种拼凑SQL方式,如果每次查询参数不同,拼凑出来SQL字符串也不一样,        如果熟悉SQL Server同学一定知道,只要你执行SQL文本不一样,       ...避免了拼SQL字符串,既做到让参数非空时候生效,有做到参数为空时候不生效,看起来不错,是真的吗?   那么这种存储过程有什么问题?     ...://www.cnblogs.com/wy123/p/5645485.html 总结:   以上总结了三种在开发中比较常见存储过程写法,每种存储过程写法可能在不同公司都用应用,   是不是有人挑个最简单最快捷

    1.4K80

    SQL Serversp_executesql系统存储过程

    如果只更改了语句中参数值,则 sp_executesql 可用来代替存储过程多次执行 Transact-SQL 语句。...因为 Transact-SQL 语句本身保持不变仅参数值变化,所以 Microsoft® SQL Server™ 查询优化器可能重复使用首次执行时所生成执行计划。...这样,SQL Server 不必编译第二条语句。 Transact-SQL 字符串只生成一次。 整型参数按其本身格式指定。不需要转换为 Unicode。 权限 执行权限默认授予 public 角色。...执行简单 SELECT 语句 下面的示例创建并执行一个简单 SELECT 语句,其中包含名为 @level 嵌入参数。...declare @num int, @sqls nvarchar(4000) set @sqls=’select count(*) from tableName’ exec(@sqls) —如何

    1.7K10

    SQL server 数据库存储过程和触发器

    3、存储过程SQL语句和控制句预编译集合,保存在数据库(resource),可由应用程序调用执行 优点:①模块化:一次创建,多次调用 ②速度快、效率高 ③减少网络流量 ④安全性好 分类:①系统存储过程...:以sp_ 开头 sp_databases :数据库信息 sp_tables :表和视图 sp_helptext :存储过程、触发器、视图信息 扩展存储过程,可以执行SQL命令,比如操作系统命令,...以xp_ 开头 ②用户自定义存储过程: 命令:create procedure 存储过程名 as SQL语句 执行:exec 存储过程名 可以添加、输入、输出参数值 4、触发器:对表进行插入...、更新、删除时自动执行存储过程 可以实现比check约束更复杂约束,通过事件而触发 分类:①insert触发器:插入数据触发 ②update触发器:更新数据触发 ③delete触发器:删除数据触发...触发器表:存储在内存中,触发器完成则删除 inserted表:保存新增和更新信息 deleted表:存放被删除和更新前记录 命令:create trigger 触发器名 on 表名

    1.2K30

    T-SQL基础(六)之可编程对象

    临时表中数据存储在磁盘中。 全局临时表 与本地临时表最大不同是:全局临时表对所有会话可见,当全局临时表不在被任何会话引用时,会被SQL Server销毁。...临时表更多强调它是数据表,表变量着重点则在于变量上。 表类型 当创建了表类型,就会在数据库中保留表定义,可以复用它创建表变量,也可作为存储过程和自定义函数输入参数。...动态执行SQL SQL Server中可以使用两种方式来执行动态SQL:EXEC命令与sql_executesql存储过程。...EXEC EXEC是T-SQL提供执行动态SQL原始技术,接收一个字符串作为输入并执行字符串中语句: USE WJChi; ​ EXEC('SELECT * FROM dbo.UAddress')...Server内置常用函数 存储过程 存储过程与函数有相似之处,如都体现了封装思想,但存储过程可以执行更为复杂逻辑,可以有多个返回值。

    1.6K30

    SQL Server 2008使用自定义表类型

    您可以使用用户定义表类型为存储过程或函数声明表值参数,或者声明您要在批处理中或在存储过程或函数主体中使用表变量。...有关如何定义表结构详细信息,请参阅 CREATE TABLE (Transact-SQL)。 若要创建用户定义表类型,请使用 CREATE TYPE 语句。...(SQL Server 使用索引强制实施任何 UNIQUE 或 PRIMARY KEY 约束。) 不能在用户定义表类型定义中指定 DEFAULT 值。 在创建用户定义表类型定义后不能对其进行修改。...安全性 用户定义表类型权限通过使用下列 Transact-SQL 关键字来遵循 SQL Server 对象安全模式:CREATE、GRANT、DENY、ALTER、CONTROL、TAKE OWNERSHIP...我们再来看看在服务端到底发生了什么事情 ? 实际上,在服务端确实会有一个定义临时变量过程,然后把所有的数据插入到这个变量中去,然后再执行存储过程 最后,我们可以再深入探讨探讨 1.

    1.7K20

    云上SQL Server 内存管理

    最后给出内存在腾讯云SQL Server云数据库监控指标中反应,帮助用户了解SQL Server云数据库特性。 1....当SQL Server实例启动时,将根据检测到NUMA创建对应node节点,然后再根据检测到node中逻辑处理器个数创建对应scheduler。...内存节点 内存节点就如上面所说,和NUMA向对应,一个SQL Server实例在启动过程中至少会有一个内存节点。您可以通过下面命令查看内存节点。...缓存 在内存中会缓存很多有用数据,比如执行计划缓存,数据缓存,存储过程,视图缓存等等。其中占用最大是缓冲池,也就是缓存用户数据地方。使用下面SQL可以查询每个数据库使用缓冲池大小。...如何判断SQL Server云实例内存不够用。

    2.3K40

    SQL Server2005中SMO编程

    语句.另外一个不同地方是ADO.Net可以访问计算机中任意数据源,而SMO对象是专门针对SQL Server而设计....} } 运行以上代码就可以得到服务器上数据库数目.下面我们再来看看在SMO中对数据库常见操作: 1,创建删除数据库....NewTableName,其中我们定义了两个字段,一个是CustomerID,一个是CustomerName.需要注意是在创建时候必须要指定其中列,如果没有指定列,那么创建表就会失败. 3,创建存储过程...sp.TextMode = false;那么可能创建存储过程要失败,所以最好把这句加上....执行存储过程不需要在StoredProcedure对象下寻找方法,要SMO直接执行存储过程可以使用Database对象下ExecuteNonQuery方法. 6,更新对象属性.

    1K10

    一张图看懂 SQL 执行过程

    虽然接触数据库(尤其是 MySQL)很长时间了,但对于 SQL 语句执行过程都知之甚少,或者一知半解。...SQL 执行过程 所以,这篇文章我将以 MySQL 常见 InnoDB 存储引擎为例,为大家详细介绍 SQL 语句执行流程。从连接器开始,一直到事务提交和数据持久化。...我们先来看一张图: 首先,客户端会与 MySQL Server 连接,并发送增删改语句,Server 收到语句后会创建一个解析树,进行优化。...它验证客户端身份和权限,然后分配一个线程来处理该连接。MySQL 每个连接线程会创建一个会话(session),在这个会话中,客户端可以发送 SQL 语句进行增删改等操作。 2....优化器任务是评估该 SQL 语句不同执行计划,并选择最优执行计划。它会考虑哪些索引可用,哪种连接方法效率最高,以及如何最小化查询成本。 4.

    52930

    提供6种优化方案!

    在MySQLlimit中:limit 100,10MySQL会根据查询条件去存储引擎层找到前110条记录,然后在server层丢弃前100条记录取最后10条这样先扫描完再丢弃记录相当于白找,深分页问题指就是这种场景...:它会先根据二级索引定位到第一条满足age=18记录由于二级索引上记录没有完整字段,因此会回表查询聚簇索引获取完整字段将结果返回给server层,并根据这条记录next找到下一条记录循环1-3过程...,在二级索引上找到满足查询条件age=18前5010条记录(或者直到不满足age=18),然后舍弃前5000条,取最后10条在这个过程中:先查二级索引接着回表获取完整记录然后返回给server层再查下一条记录由于二级索引是联合索引...server层再去下一条记录-- 4.049sselect SQL_NO_CACHE * from student where age = 18 limit 5000,10;-- 0.034sselect...:可能更偏向使用聚簇索引(全表扫描),如果使用二级索引还需要对id排序(临时表),具体还要查看执行计划分析游标分页排序下SQL原始limitSQL结果是不同,因为原始id无序,但它们都满足(业务

    35022

    三篇文章了解 TiDB 技术内幕:说计算

    续上文:三篇文章了解 TiDB 技术内幕:说存储 关系模型到 Key-Value 模型映射 在这我们将关系模型简单理解为 Table 和 SQL 语句,那么问题变为如何在 KV 结构上保存 Table...都是原始 byte 数组)比较结果保持一致。...SQL 运算 理解了 SQL 到 KV 映射方案之后,我们可以理解关系数据是如何保存,接下来我们要理解如何使用这些数据来满足用户查询需求,也就是一个查询语句是如何操作底层存储数据。...数据全部存储在 TiKV 集群中,所以在这个过程中 tidb-server 需要和 tikv-server 交互,获取数据。最后 tidb-server 需要将查询结果返回给用户。...小结 到这里,我们已经从 SQL 角度了解了数据是如何存储如何用于计算。SQL 层更详细介绍会在今后文章中给出,比如优化器工作原理,分布式执行框架细节。

    3.3K20

    MSSQL横向移动

    为实现命令执行而对MSSQL服务进行后期开发通常会利用XP_CMDSHELL存储过程在MSSQL进程上下文中运行操作系统命令。...: 从十六进制字符串创建程序集–可以从十六进制字符串创建程序集能力意味着无需创建二进制文件并将其写入SQL Server进程可访问位置: CREATE ASSEMBLY clrassem from... WITH PERMISSION_SET = UNSAFE; 创建一个存储过程以从程序集中运行代码: CREATE PROCEDURE debugrun AS EXTERNAL...NAME clrassem.StoredProcedures.runner; 运行存储过程: debugrun 代码运行后,可以删除存储过程和程序集,删除受信任哈希,并且可以将所有修改安全设置恢复为正常...检查DBA权限 检查SQL Server版本 创建一个SQL连接 以下屏幕快照显示了生成带有连接字符串和CLR程序集独立可执行文件过程

    3.1K10

    HBaseSQL及分析-Phoenix&Spark

    目前索引创建支持同步和异步两种方式同步索引数据,同步创建索引意思是若当前表有数据那么创建索引过程就是一个同步索引数据一个过程,它会把所有的主表数据转化成索引数据,全部同步完成以后再将索引表状态置成...active状态,这样一个过程称之为同步创建索引。...异步创建索引主要是针对数据量大场景,先执行create index创建索引表相关元数据,再通过MR同步索引数据,该过程称之为异步创建索引。...我们在了解Spark on HBase框架后,接下来深入了解如何在Spark SQL层面上来支持访问HBase。到目前为止比较好做法就是为Spark SQL添加HBase Source。...在HBase存储层面,HBase原始存储有Memstore以及HFile,也会引入parquet/ORC来提高性能,同时Spark Runtime也会去直接分析Hfile以及Memstore。

    74410

    利用Linked SQL Server提权

    利用Linked SQL Server提权 Linked SQL server是一个SQL Server数据库中对象,它可以连接到另一个SQL Server或非SQL Server数据源(如Oracle...当创建从一个SQL服务器到另一个服务器链接时,管理员必须指定在连接过程中使用执行上下文。...在渗透测试过程,如果遇到了集成到活动目录MS SQL数据库,我们需要测试目标环境是否存在这种误配置。 我们首先枚举当前服务器链接服务器。可以使用sp_linkedserver存储过程查看。...因此创建链接必须配置RPC Out设置,默认没有启用,如果我们当前用户有sysadmin权限,可以使用sp_serveroption存储过程启用。...我们也可以在dev-DC01上执行sp_linkedservers存储过程,查看是否存在从dev-DC01到其他数据库服务器链接。需要注意SQL服务器链接默认不是双向,所以依赖于管理员配置。

    8210

    Windows提权系列中篇

    所以我们先讨论下如何获取mysqlroot密码: 1.翻配置文件。关键字:config conn data sql inc database等 2.下载数据文件并破解密文。...sa权限利用 微软SQL Server在提权过程中往往也会给我们很大帮助,尤其是当找到SA用户密码时,系统权限就基本到手了。...要通过此种方式来执行命令,也有几个前提: 1.在SQL Server上能启用CLR并可以创建自定义存储过程 2.SQL Server当前账号具有执行命令/代码所需要权限 具体测试步骤如下: 1.新建项目...安装Visual Studio和SQL Server数据库,创建一个新SQL Server数据库项目。...右键项目,选择添加->新建项,新建SQL CLR C# 存储过程。 2.编写代码。 ? 3.编译。

    2.4K00

    Attacking SQL Server CLR Assemblies

    本文中我将以Nathan KrikCLR系列文章提到CLRassembly)为基础进行拓展,同时我也会介绍如何创建、导入、导出以及修改SQL ServerCRL库去实现提权、命令执行以及持久化操作...为SQL Server制作自定义CLR DLL 将CLR DLL导入SQL Server 将CLR DLL转换为十六进制字符串并在没有文件情况下导入它 列出现有的CLR存储过程 将现有CLR程序集导出到...出于本博客考虑,我们将公共语言运行时(CLR)程序集定义为可导入SQL Server.NET DLL(或DLL组),导入后DLL方法可以链接到存储过程并通过 TSQL执行,创建和导入自定义CLR程序集能力是开发人员扩展...要将您新DLL导入SQL Server,您SQL登录将需要系统管理员权限、CREATE ASSEMBLY权限或ALTER ASSEMBLY权限,按照以下步骤注册您 DLL并将其链接到存储过程,以便可以通过...,针对存储过程攻击者可能能够确定它可用于操作系统命令执 如何SQL Server中存在CLR程序集导出到DLL?

    1.7K20

    Enterprise Library 4 数据访问应用程序块

    应用程序块包含对存储过程和内联 SQL 支持。常规内部(housekeep)处理,如管理连接、创建并缓存参数,都封装在应用程序块方法中。...本主题假设使用原始应用程序块,即没有扩展。要学习如何添加功能,请参见扩展和修改数据访问应用程序块。 输入配置信息 下面这些过程展示了如何配置数据访问应用程序块。...SQL Server CE 不支持存储过程。...此方法用于 SQL 文本命令。 二个方法都返回一个 DbCommand 对象。 注意:SQL Server CE 不支持存储过程,用内联 SQL 语句来代替。...例如,在支持到 SQL Server 数据库存储过程参数名中不要包含 "@" 字符。下列代码展示了如何调用 AddInParameter 方法通过名称 CategoryID 创建参数。

    1.7K60

    大数据架构系列:Apache Kylin 4.0

    Cube构建Cube构建可以抽象为Source、Tranfrom、Sink过程,需要读取有Schema原始数据,通过Cube构建规则预处理,最后按照Cube组织结构将数据写入到存储中;目前Cube...存储格式使用Parquet,Cube数据Schema来源于原始数据。...物理存储格式:图片逻辑格式:图片Cube构建优化在生成Cube数据过程中有许多地方可以进行优化,大部分业务场景下我们不仅需要极速查询体验,也要尽量压低计算和存储成本。图片1....确认需要继续解析SQL,则创建Calciteconnection,元数据使用Kylin数据库中存储元数据,为用户主动关联导入。...公式:模型维度数*10 + Measures * 1 + INNER JOIN维度表数量*100 Q2: 如何Kill掉一个查询A:REST Server内部每个查询都是一条独立线程负责,中间会设置许多可以中断

    1.1K30
    领券