




已阅读5页,还剩62页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SQLSERVER事件探查器初探 U8产品支持部XX号工程师XXXX年XX月XX日 简单的SQL语句 select 查询语句语法 select列名 表达式from表 视图where条件实例 表authors中有三个字段name 姓名字符型 sex 性别字符型 age 年龄整型 现在要查询姓名是张三的记录 那么查询语句为 Select fromauthorswherename 张三 说明 表示所有字段 字符型字段要用单引号括起来 简单的sql语句 update 更新语句语法 update表名set字段 值where条件实例 以authors表为例 现在要将张三的名字改为李四 那么语句为 Updateauthorssetname 李四 wherename 张三 简单的sql语句 insert 插入语句语法 insertinto表名 字段名 values 字段值 实例 在表authors中插入一条记录 姓名为王二 性别为男 年龄为28 那么语句为 Insertintoauthors name sex age values 王二 男 28 简单的sql语句 delete 删除语句语法 deletefrom表名where条件实例 删除表authors中姓名为张三的记录 那么删除语句为 Deletefromauthorswherename 张三 整体概念 SQL事件探查器是图形工具 使我们得以监视Microsoft SQLServer 实例中的事件 可以捕获有关每个事件的数据并将其保存到文件或SQLServer表中供以后分析 例如 我们可以对生产环境进行监视 了解执行速度太慢而妨碍性能的存储过程 了解到哪些SQL语句或者存储过程产生了异常错误导致程序中断等等 我们可以使用SQL事件探查器只监视感兴趣的事件 什么情况下如何决定那些事件是我们感兴趣的 我们将会在后面提到 要运行事件探查器 系统所在硬盘可用空间至少要大于等于10M 否则跟踪将会自动停止 如果跟踪变得太大 可以基于需要的信息进行筛选 以便只收集事件数据的子集 监视太多事件类会增加服务器和监视进程的开销 并且可能导致跟踪文件或跟踪表变得很大 尤其是在进行长时间监视时 SQL事件探查器术语 模板模板定义想要使用SQL事件探查器监视的每个事件的准则 每次启动事件探查器监视时都会让您选择一个模板来进行跟踪 默认是一个标准模板 SQLPro 里面有事先定义好的的事件和数据列 没有筛选 我们可以创建一个模板以指定使用哪些事件 数据列和筛选 然后可以保存该模板 并用当前的模板设置启动跟踪 捕获的跟踪数据基于模板中指定的选项 模板不执行且必须用 tdf扩展名保存到文件 我们也可以创建一个自己的模板 并设置成每次启动自动运行该模板 具体操作如下 点 工具 菜单下的 选项 弹出如下窗口 请注意红色区域 模板 模板 使用下列默认跟踪模板 您可以在这里选择一个默认的跟踪模板 这样每次新建一个跟踪时就以该模板为默认模板 进行连接后立即启动跟踪 选择该选项 连接上对应的服务器后立即运行默认跟踪模板进行跟踪 显示 页签下您可以设置所使用的跟踪窗体显示的字体 字体的大小 这里就不在赘述 模板 我们还可以保存模板以减少我们的重复劳动 保存模板涉及保存跟踪定义 比如指定的数据列 事件和筛选 跟踪定义包括事件类 数据列 事件准则 筛选 和所有其它用来创建跟踪的属性 捕获的事件数据除外 使用SQL事件探查器创建的模板保存在运行SQL事件探查器的计算机上的文件中 如果经常监视SQLServer 则保存模板以便分析性能 模板每次捕获相同的事件数据 并使用相同的跟踪定义监视同一事件 因而无须在每次创建跟踪时都定义事件类和数据列 另外 可以将模板提供给其他用户 供其监视特定的SQLServer事件 例如 支持提供商可提供给客户一个模板 客户使用这个模板捕获所需的事件数据 然后将这些数据发送给支持提供商供其分析 我们可以在 文件 菜单下 新建 下的 跟踪模板 里建立一个新的模板 选择好对应的事件类和数据列后将其保存 建议按应用场景取名以便是使用 如 存储过程跟踪模板 错误定位跟踪模板 等 模板 同样我们也可以修改保存在运行SQL事件探查器的本地计算机上的文件中的模板以及从文件导出的模板 如果没有记住当初用于创建跟踪的模板 或希望以后再次运行同一跟踪 则可能需要从跟踪文件导出模板 修改模板属性 如事件类和数据列 的方法与当初设置该属性的方法相同 可以添加和删除事件类和数据列 也可以对筛选进行更改 修改模板后 以同一名称保存它将重写原来的模板 当处理现有跟踪时 可以查看属性 但不能修改 警告 使用相同的名称保存跟踪文件将重写原来的跟踪文件 这将导致任何当初捕获的事件或已删除或筛选的数据列丢失 SQL事件探查器术语 跟踪跟踪基于选定的事件 数据列和筛选捕获数据 例如 可创建模板监视异常错误 为此 应选择跟踪Exception事件类以及Error State和Severity数据列 这些都是为了使跟踪结果提供有意义的数据而需收集的 保存模板后 便可将其作为跟踪运行 并且可收集关于服务器中发生的任何Exception事件的数据 可保存此跟踪数据 然后稍后重播或立即用于分析 SQL事件探查器术语 筛选当创建跟踪或模板时 可以定义筛选由事件收集的数据的准则 如果跟踪变得太大 可以基于想要的信息进行筛选 以便只收集事件数据的子集 如果没有设置筛选 跟踪输出中将返回选定事件类的所有事件 例如 可以将跟踪中的MicrosoftWindows 2000用户名限制为特定用户 以将输出数据减少到感兴趣的那些用户 也可以只跟踪对特定数据库的操作的信息 这样在多帐套的服务器上就可以更快的收集到我们感兴趣的信息 SQL事件探查器术语 事件事件是在Microsoft SQLServer 引擎中生成的操作 例如 登录连接 失败和断开 Transact SQLSELECT INSERT UPDATE和DELETE语句 远程过程调用 RPC 批处理状态 存储过程的开始或结束 SQL批处理的开始或结束 存储过程内的语句的开始或结束 写入SQLServer错误日志的错误 在数据库对象上获取或释放的锁 打开的游标 安全权限检查 由事件生成的所有数据显示在单个行中的跟踪内 该行包含详细描述事件的数据列 称为事件类 SQL事件探查器术语 事件类事件类是描述由服务器生成的事件的列 事件类确定收集的数据类型 因此并不是所有数据列都适用于所有事件类 事件类示例包括 SQL BatchCompleted 表示已完成SQL批处理 运行客户端的计算机的名称 受事件影响的对象ID 如表名 发出语句的用户的SQLServer名称 正在执行的Transact SQL语句文本或存储过程文本 事件开始和结束的时间 SQL事件探查器键盘快捷方式 快捷键 SQL事件探查器方案 通常情况下 我们使用SQL事件探查器可以 1 查找执行最差的查询 例如 可以创建跟踪来捕获与TSQL和StoredProcedure事件类 尤其是RPC Completed和SQL BatchCompleted 相关的事件 在这个跟踪内包含所有数据列 按Duration分组并指定事件准则 例如 如果指定事件的Duration至少为1 000毫秒 则可以跟踪中排除运行时间短的事件 根据需要可以增大Duration的最小值 如果想一次只监视一个数据库 为DatabaseID事件准则指定一个值 单这个用途对我们来说不是主要的 对测试和开发人员这应该是常需要用到的 SQL事件探查器方案 2 监视存储过程的性能 例如 可以创建一个跟踪来捕获与StoredProcedure事件类 SP Completed SP Starting SP StmtCompleted和SP StmtStarting 和TSQL事件类 SQL BatchStarting和SQL BatchCompleted 相关的事件 在这个跟踪内包含所有数据列并按ClientProcessID分组 如果想一次只监视一个数据库 为DatabaseID事件准则指定一个值 同样 如果想一次只监视一个存储过程 为ObjectID事件准则指定一个值 同样 这个用途对于我们也不是常用的 SQL事件探查器方案 3 审核Microsoft SQLServer 活动可以使用SQL事件探查器审核SQLServer中的活动 例如 如果安全管理员需要随时了解谁登录到了服务器 可以创建SQL事件探查器跟踪 提供已登录到服务器或从服务器注销的用户的完整视图 之后 可出于法律目的使用这些信息记录活动 和出于技术目的使用这些信息跟踪违反安全策略的行为 4 监视每个用户的Transact SQL活动可以创建跟踪来捕获与Sessions事件类 ExistingConnection和TSQL事件类相关的事件 将所有数据列包含在此跟踪内 不要指定任何事件准则 并按DBUserName将捕获的事件分组 这两项内容对系统管理员比较实用 SQL事件探查器方案 5 分析程序业务流程和数据库内数据流向可以创建一个跟踪来捕获与StoredProcedure事件类 SP Completed SP Starting SP StmtCompleted和SP StmtStarting 和TSQL事件类 SQL BatchStarting和SQL BatchCompleted 相关的事件 用以分析程序的流程以及数据库内的表间关系 这是一个对我们非常有用的用途 他可以帮助我们理解程序的业务流程 数据流等 我们在学习一个新的产品 新的模块 新的功能时 可以利用这个功能来了解其使用到那些表 涉及到那些表 甚至我们可以知道这些表的各个字段的具体涵义是什么 经常接到询问某张单据的某项内容具体对应那张表的那个字段具体的电话 其实您只要在界面上制作一张单据 然后在保存前运行一个跟踪 然后分析跟踪里面的插入语句就可以清楚的知道以上信息了 SQL事件探查器方案 6 定位出错语句使用事件类错误和警告下的ERRORLOG EVENTLOG EXCEPTION等相关事件 可以在程序发生异常的时候快速定位具体位置 这个方案对我们处理数据 特别是处理一些由于数据库里存放的数据由于某种原因导致有异常数据时引发的一些错误有意想不到的功效 SQL事件探查器监控事件分类 常用的事件分类 TSQL事件类 TSQL事件类是一个常用的事件 其对应的常用事件解释如下 TSQL事件对应数据列 存储过程事件类 存储过程事件类是执行存储过程所产生的事件的集合 也是一个常用的事件类 其对应的常用事件解释如下 存储过程事件类 SP Starting 表明存储过程已被启动的时间 其监视到的结果是整个存储过程的调用 结果形式如 execSa MoveSaleDetail Sa TempSaleDetail GCCXL0 其中Sa MoveSaleDetail为存储过程名称 exec为SQL的一个命令 可以理解为执行 Sa TempSaleDetail GCCXL0 传递给该存储过程的参数 SP Completed RPC Starting RPC Completed返回的结果都与此类似 存储过程事件类 SP StmtStarting 表明正在启动存储过程内的某语句的时间 其监视到的结果是一个存储过程内部的一条语句的执行 结果形式如 Sa MoveSaleDetailifltrim rtrim chrwhere1 newReport ParameterFromTempTable 其中 Sa MoveSaleDetail指明该语句所属的存储过程 ifltrim rtrim chrwhere1 newReport ParameterFromTempTable 指的是执行的具体的SQL语句 SP StmtCompleted返回的结果与此类似 存储过程事件类 以上两部分的事件您可以理解为整体和局部的概念 也就是说一个是跟踪整体的结果 一个是跟踪明细的结果 如果是希望了解程序的流程 可以跟踪整体 知道其使用了那些存储过程即可 然后再具体查看该存储过程 了解其内部处理流程 此处插入说明一点 要查看某个存储过程的具体内容 可以直接到企业管理器里找到该存储过程双击打开 也可以在查询分析器里利用系统存储过程SP HelpText来查看 如前面说到的存储过程Sa MoveSaleDetail 我们可以在查询分析器对应的数据库下执行如下命令 SP HelpTextSa MoveSaleDetail来查看其明细内容 但是要注意的一点是 必须该存储过程没有加密 否则无法查看 如果是跟踪错误 建议选择明细的跟踪 这样可以具体的定位到某个存储过程里的某条语句出的错 错误和警告事件类 错误和警告是在发生SQLServer错误或警告时产生的事件类集合 例如 一个在编译存储过程中产生的错误 或者一个SQLServer中的异常错误 其对应的常用事件解释如下 错误和警告事件类 该事件类里面又以Exception事件类为主要 基本上只要是SQL里面发生的错误其都能跟踪得到 这为我们快速定位错误提供了简便而准确的方法 我们来看下面的错误展示 首先我们在运行一个跟踪 挑选出要跟踪的事件类为SQL BatchStarting SQL BatchCompleted Exception 数据列为默认的 我们再在查询分析器里执行一条SQL语句 Updaterdrecordsetid 11 报错如下 服务器 消息2601 级别14 状态3 行1不能在具有唯一索引 aaRdRecord PK 的对象 RdRecord 中插入重复键的行 语句已终止 错误和警告事件类 停止跟踪 看看是否正确跟踪出错误 错误和警告事件类 我们看到 没有任何问题 错误得以跟踪到 注意其上我以蓝色表注的语句 其TEXTDATA的内容都是一致的 只是对应的事件类分别为SQL BatchStarting和SQL BatchCompleted 正好把EXCEPTION事件类对应的事件给包在中间 那么我们就可以知道 引起错误的语句就是Updaterdrecordsetid 11 了 怎么样 定位错误就是这么简单 我们把图再放在这里给大家对比一下看看 跟踪详解 启动 暂停和停止跟踪在使用SQL事件探查器创建了模板后 可以使用新跟踪启动 暂停或停止捕获数据 当启动跟踪且将服务器定义为源时 Microsoft SQLServer 将创建一个队列 以便为捕获的服务器事件提供一个临时存放位置 每个跟踪可以有多个发生器 发生器收集特定的事件分类内的事件 并将数据发送到队列 事件按其放入队列内的顺序读取 这种读取方法称为先进 先出 FIFO 使用SQL事件探查器时 启动跟踪将打开一个新的跟踪窗口 如果没有窗口打开 并立即捕获数据 当使用SQLServer系统存储过程时 每次启用SQLServer实例时可手工或自动启动跟踪 一启跟踪 就会立即捕获数据 启动跟踪后 只能修改跟踪的名称 暂停跟踪可防止捕获更多的事件数据 直到重新启动 重新启动跟踪将继续执行跟踪操作 先前捕获的所有数据都不丢失 重新启动跟踪时 从启动的那一点起继续捕获数据 当暂停跟踪时 可以更改名称 事件 列和筛选 但是不能更改要将跟踪发送到的目的地或服务器连接 停止跟踪将停止捕获数据 一旦停止了跟踪 除非已将数据捕获到了跟踪文件或跟踪表中 否则重新启动该跟踪将丢失以前捕获的数据 当停止跟踪时 将保留以前选择的所有跟踪属性 当停止跟踪时 可以更改名称 事件 列和筛选 跟踪详解 查看和分析跟踪使用SQL事件探查器可以查看跟踪内捕获的事件数据 SQL事件探查器基于定义的跟踪属性显示数据 分析Microsoft SQLServer 数据的一个方法是将数据复制到另一个程序 如SQL查询分析器或索引优化向导 索引优化向导可以使用包含SQL批处理和远程过程调用 RPC 事件 以及Text数据列 的跟踪文件 使用此向导时 通过指定服务器和数据库名称 可以对不同的服务器和数据库分析捕获的数据 使用SQL事件探查器打开跟踪时 如果跟踪文件是由SQL事件探查器或事件探查器存储过程创建的 则该文件不需要带 trc文件扩展名 说明SQL事件探查器还可以读取SQL跟踪日志文件 log 和类属SQL脚本文件 打开不带 log文件扩展名的SQL跟踪程序 log文件 如trace txt 时 将文件格式指定为SQLTrace Log 可以用自定义的字体 字体大小 预览线和客户端缓冲区大小来配置SQL事件探查器的显示 以便有助于分析跟踪 跟踪详解 分析数据以解决问题使用SQL事件探查器时 可以按Duration CPU Reads或Writes数据列将跟踪或跟踪文件分组以解决与数据有关的问题 如性能差或逻辑读取数特别高的查询 通过将跟踪保存到表和使用Transact SQL查询事件数据 可以找到附加的信息 例如 若要确定哪些SQL BatchCompleted事件有过长的等待时间 可执行 SELECTTextData Duration CPUFROMtrace table nameWHEREEventClass 12 SQL BatchCompletedeventsANDCPU 4 Duration 跟踪详解 我们先来看一张图片 注意红色标注 跟踪详解 说明我们可以将跟踪的结果保存到文件里或者保存到数据库的表里 需要说明一点的是 如果保存在文件里 那么您在使用查询功能时需要注意一点 大小写敏感 也就是说查询区分大小写 如RDRECORD与rdrecord是不同的内容 而如果保存在表里的话则没有这种缺点 但是如果您希望保存在表里 最好选择其他服务器上的数据库来保存 特别是一些对数据库操作频繁的动作 如果保存在同一服务器上 也最好不要将结果表建立在目标数据库里 否则将会严重影响效率 跟踪详解 查找跟踪内的特定事件下面是查找和分组跟踪内事件的基本步骤 1 创建跟踪 定义跟踪时 除了要捕获的任何其它数据列外 还要捕获EventClass ClientProcessID和StartTime数据列 按EventClass数据列将捕获的数据分组 并将跟踪捕获到文件或表 2 查找目标事件 打开跟踪文件或表 并展开想要的事件类的节点 如DeadlockChain 可以在跟踪写入文件时打开文件进行查看 除非跟踪位于运行MicrosoftWindows 98的计算机上 使用 查看 菜单中的 刷新 命令显示新行 在跟踪内搜索直到找到正在查找的事件 可以使用SQL事件探查器的 编辑 菜单上的 查找 选项帮助查找跟踪内的值 记下所需事件的ClientProcessID和StartTime数据列中的值 跟踪详解 3 在上下文中显示事件 显示跟踪数据列属性 并按ClientProcessID而不是EventClass分组 展开要查看的每个客户端进程ID的节点 手工搜索跟踪 或使用 查找 选项 直到找到前面记下的目标事件的StartTime值 这些事件与其它属于每个所选客户端进程ID的事件一起按时间顺序显示 例如 跟踪内捕获的Deadlock和DeadlockChain事件紧接在展开的客户端进程ID中的SQL BatchStarting事件之后显示 可以使用同样的技巧查找按ServerName DatabaseID和ObjectID分组的事件 一旦找到要查找的事件 按ClientProcessID ApplicationName或其它事件类分组 按时间顺序查看相关活动 如果跟踪文件位于运行MicrosoftWindows95 98的计算机上 则SQL事件探查器不能在跟踪文件正用于捕获事件时打开它 此外 运行在WindowsNT 4 0上的SQL事件探查器不能打开位于Windows95 98共享目录的跟踪或脚本文件 SQL事件探查器访问远程计算机上的跟踪或脚本文件时 如果这些文件后来变得不可用 则SQL事件探查器会引起问题 跟踪详解 重播跟踪在创建或编辑跟踪时 可以保存跟踪供以后重播 SQL事件探查器的特色是有一个多线程播放引擎 它能模拟用户连接和SQLServer身份验证 使用户得以重新产生跟踪内捕获的活动 因此 重播对解决应用程序或进程的问题很有帮助 识别出问题并进行了纠正后 对纠正后的应用程序或进程运行找到了潜在问题的那个跟踪 然后重播原来的跟踪并比较结果 跟踪重播支持使用重播到断点和游标的方式进行调试 这在分析长脚本时尤为有用 跟踪详解 说明 对捕获数据以进行重播的跟踪使用样本跟踪模板SQLPro 为了在运行Microsoft SQLServer 的 目标 计算机上 而不是在当初跟踪的 源 计算机上重播跟踪 必须在目标上与源相同的数据库中创建跟踪内包含的所有登录和用户 目标上的所有登录和用户必须具有与它们在源中相同的权限 所有登录的密码必须与执行重播的用户密码相同 重播与丢失的或不正确的登录相关的事件会导致重播错误 但重播操作会继续 为了在SQLServer实例 目标 而不是在当初跟踪的 源 计算机上重播跟踪 需满足下列任一条件 目标上的数据库ID必须与源上的数据库ID相同 这可以通过从源创建master数据库的备份以及跟踪内所引用的任何用户数据库 然后在目标上还原这些数据库来实现 必须将跟踪内包含的每个登录的默认数据库在目标上设置成登录各自的目标数据库 例如 在源上 要重播的跟踪包含数据库Fred Db内的登录Fred的活动 因此在目标上 必须将登录Fred的默认数据库设置成与Fred Db相匹配的数据库 即使数据库名称不同 若要设置登录的默认数据库 请使用sp defaultdb系统存储过程 跟踪详解 单步跟踪SQL事件探查器使您得以不必从头至尾全部重播跟踪内的所有事件 而按下面的方式重播跟踪 一次重播一个事件通过一次一个事件地重播跟踪 可以检查每个事件发生后的效果 使用单步跟踪继续重播跟踪时 重播下一个事件后跟踪再次暂停 重播到断点通过在跟踪内指定一个或多个断点 可以按重播选项指定的设置 重播带断点标记的事件之前的所有事件 无须用户干预 播完后跟踪重播将暂停 跟踪重播可以继续按一次一个事件 到下一个断点 若有 到游标或到跟踪的结束处等方式重播跟踪 如果在重播跟踪时不想检查断点前的每个事件 则重播跟踪到断点的方式很有用 例如 已经调试了代码并确定了断点前的所有事件都按预期执行 不需要进一步检查这些事件 重播到游标通过重播跟踪到游标 跟踪内的突出显示事件 可重播突出显示事件前的所有事件 无须用户干预 但是 如果在跟踪内标记了一个断点 而这个断点位于游标和跟踪内下一个执行点之间 重播将在这个断点处停止 而不会继续重播到游标 删除跟踪内的所有断点以重播跟踪到游标 与断点一样 如果在重播跟踪时不想检查游标前的每个事件 重播跟踪到游标很有用 单步跟踪有助于调试跟踪内捕获的事件 例如 可以创建一个跟踪 监视所有提交的批处理的执行 通过一次一个事件地 单步 重播跟踪内的事件 可以确定每个批处理发生时的效果 使您得以调试代码 这比在批处理间放置大量的调试代码有效得多 调试代码通常会产生更多需要从生成的实际结果中分离出来的输出 完成调试后必须正确地删除这些输出 SQL事件探查器性能考虑下面是一些有助于更有效地使用SQL事件探查器的提示和技巧 运行的跟踪过多如果Microsoft SQLServer 实例运行得过慢 则表明可能SQL事件探查器运行的跟踪过多或正在运行复杂的跟踪 停止任何运行的跟踪以观察性能是否有所提高 如果停止跟踪可使性能提高 则请仔细检查跟踪以确保只跟踪必要的信息 确保没有同时运行过多的复杂跟踪 管理大跟踪文件大跟踪文件会占用大量磁盘空间 在网络上发送时会很慢 也很昂贵 通过删除不必要的事件类型和 或数据列 并应用筛选将跟踪限制为特定的跟踪事件准则 如ClientProcessID或SPID 或ApplicationName的值的集合 减小保存的跟踪文件的大小 使用相同的名称或新的名称保存跟踪文件 警告使用相同的名称保存跟踪文件将重写原来的文件 这将导致任何当初捕获的事件或已删除或筛选的数据列丢失 结束 谢谢大家 分子公司销售用友华表公司产品100 记入业绩考核 用友华表公司及产品介绍 用友华表公司 冯大鹏 公司介绍 公司产品中国报表技术第一品牌 CELL组件 插件中国票据打印技术第一品牌 用友票据通 唐爱平卖 表 王文京买 表 用友华表公司的诞生 Cell组件 插件产品介绍 Cell组件 插件 产品特性 产品定位 开发工具软件 MicrosoftActiveX 客户群体 软件开发公司 具有软件开发能力的企事业单位 部队高校 使用人群 程序员 功能亮点 报表展示与打印 购买行为 解决开发难题 降低开发成本 提高软件质量 应用范围 开发财务软件 ERP软件 WEB报表软件等 产品价格 4800 7800 10800 14800 50000 用友票据通产品介绍 市场背景 信息化社会 各种票据仍没有信息化 票据书写不规范 书写任务繁重 手工操作保密性差 效率低下浪费人力 引起银行与单位出纳人员的纠纷 影响银行等业务部门的工作效率 对经济的发展造成了滞后作用 票据处理现状及导致的问题 解决方法 票据打印机 支票打印机硬件解决方案 数据输入不灵活 不能批量打印 无法减轻工作量 打印数据不能记录 重复固定资产投入 占用办公空间 价格昂贵 其他票据打印软件的解决方案 无模板设计功能 无汇总查询功能 无批量打印功能 票据 支票打印机的终结者 票据打印完美解决方案 票据打印新时代 票据打印专家 产品定位 1 无行业特征 主要应用于各行业的财务部门 商务部门等 2 解决各类票据打印 设计 管理等功能于一体 3 工具类型软件 可普及型销售 目标客户
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 解析卷冀教版8年级下册期末试题【研优卷】附答案详解
- 2025年在线教育平台互动教学工具应用与用户满意度分析报告
- 2025年工业互联网平台雾计算协同机制与工业互联网平台数据治理技术标准化报告
- 解析卷人教版(五四制)6年级数学下册期末试题附参考答案详解(模拟题)
- 2025至2030年中国白芷行业市场深度分析及投资策略咨询报告
- 华东师大版7年级下册期末试题及完整答案详解【有一套】
- 会员注册协议需要明确条款
- 国企企业面试题库附答案详解(轻巧夺冠)
- 解析卷-青岛版9年级数学下册期末试题【各地真题】附答案详解
- 考点解析-黑龙江省尚志市中考数学真题分类(丰富的图形世界)汇编专项训练试题
- 新三板业务测试题
- 全国2017年4月自学考试00149国际贸易理论与实务试题答案
- 2023年农村留守女童性侵状况综合调查报告
- 空压机验证方案(拟定)
- 客户报修记录表
- 肉的分割与分级课件
- 电液伺服控制阀和比例阀课件
- 教育培训机构保密协议范本
- 《西方史学史》课件第一章
- 中学英语校本课程教材(Word)
- 甲醇溶液浓度密度对照表
评论
0/150
提交评论