Sql server SQL Server 2000中未登录Windows帐户的Windows身份验证

使用Windows身份验证的一个优点是,我不需要提供用户名和密码就可以作为当前登录Windows的用户登录到服务器。但在特定情况下,我希望以另一个用户的身份登录SQL Server,使用相同的Windows身份验证ODBC连接 因此,问题是:是否可以使用Windows身份验证登录SQL Server,但不能作为当前登录Windows的用户登录(没有询问用户名和密码的对话框)?您的问题的简单答案是否,没有显示对话框,无法使用其他Windows帐户登录到SQL Server 稍微复杂一点的答案是;通

Sql server SQL 2005中使用模式的最佳实践?

我们计划将一个SQL 2000数据库迁移到SQL 2005,我熟悉2005年在各种所有者/模式下创建表或其他对象的能力 在SQL 2000中,我们实际上没有这种能力,所以我想知道我在创建/管理多个模式方面的指导原则/最佳实践是什么 我应该为所有对象创建一个模式吗? 我应该如何划分它们呢?在设置新的测试服务器时,我只需要运行一个文件,我知道它包含所有需要的内容 有些ORM为每个对象生成一个文件,这可能有助于跟踪更改?但是我看不出手动操作的目的。我尝试使用它来划分数据库中的责任区域 我将有一个uti

Sql server SQL Server的ORM建议

我打算在我的项目中使用SQLServer,为此我想选择一个ORM。我在这方面有一些经验。事实上,考虑到该项目(MySQL后端)的性质,NHibernate确实是唯一的选择 我也使用了,这是有微软访问作为后端。我也有一些使用LINQ2SQL的经验 现在,我知道,所有的路都通向罗马;很多ORM都可以很好地处理sql server。但我想要最好的ORM 开发时间。也就是说,拖放设计器将实体类映射到数据库架构。因此,如果我更改模式,我的实体类将自动更新 多数据库支持。ORM必须能够以最佳方式处理多个数据

Sql server 使用用户模式对ETL暂存表进行分组?

我正在考虑将更新这些表的暂存表和存储过程放入它们自己的模式中。这样,当将数据从SomeTable导入数据仓库时,我将运行Initial.stageMetable过程,该过程将数据插入Initial.SomeTable表。这样,所有处理初始暂存的过程和表都被分组在一起。然后我会有一个ETL阶段的验证模式,等等 这似乎比尝试对所有这些非常相似的表进行唯一命名更简洁,因为在整个登台过程中,每个表都有自己的多个实例 问题:在MS SQL Server中,使用用户架构将表/过程/视图分组是否恰当?或者用户

Sql server SQL Server全文搜索不产生任何结果

我有SQL Server 2005 Express Edition和高级服务。我启用了全文并创建了一个目录,如下所示: create FullText catalog MyDatabase_FT in path 'mypath' as default create FullText index on Cell (CellName) key index PK_Cell with CHANGE_TRACKING AUTO alter fulltext index on Cell star

Sql server SQL Server varchar到datetime

我有一个字段varchar(14)=20090226115644 我需要将其转换为->2009-02-26 11:56:44(日期时间格式) 我的主意。使用cast和convert。。但我总是有错误 转换时转换失败 来自字符串的日期时间 这是我做的,但我不喜欢 SELECT SUBSTRING(move,1,4) + '-' + SUBSTRING(move,5,2) + '-' + SUBSTRING(move,7,2) + ' ' + SUBSTRING(move,9,2) +

Sql server 从跨平台应用程序连接到MS SQL Server

我正在开发一个GUI应用程序,用于对AI算法生成的大型数据集执行“手动评估”。评估的性质对这个问题并不重要;只有程序需要定期检查服务器上的新数据,下载数据,然后上传用户生成的结果。就这个问题而言,每个数据集只是一个二进制blob 将承载数据的计算机当前设置为Microsoft SQL Server。出于管理原因,我可能不得不使用SQL Server(而不是运行在同一台机器上的web服务器)来存储数据。我知道SQL,我怀疑我在学习微软版本的SQL时会遇到困难 这是最难的部分:程序需要在Mac O

Sql server 选择临时表时是否复制了数据?

我想知道,当选择行并将它们插入临时表时,数据是实际复制的还是只是引用的 例如: SELECT * INTO #Temp FROM SomeTable 如果桌子很大,这会是一个昂贵的操作吗 从我的测试来看,它的执行速度似乎与简单的SELECT差不多,但我想更好地了解它的实际工作原理 干杯。临时表在tempdb中分配。SQL server通常会尝试将tempdb页保存在内存中,但大型表最终可能会写入磁盘 是的,数据总是被复制的。因此,例如,如果在选择进入临时表和以后使用之间的另一个连接上发生更新,

Sql server Microsoft SQL Server分析服务OLAP多维数据集

我试图找到一种工具来提高应用程序报告中的性能,我听说OLAP+Reporting Services被描述为完成这项工作的最佳组合。无论如何,我没有找到使OLAP多维数据集保持最新的方法,因为原始数据库中的数据可以更改。(这是一个事务性应用程序,一个挂起的记录可以标记为已支付等) 这是更好的方法,还是我应该使用另一种技术 如果建议仍然使用OLAP+Reporting services,我如何才能获得最新的信息?通常使用某种形式的ETL(提取、转换、加载)定期从OLTP数据库填充OLAP数据库 在S

Sql server 在SQL Server 2008中查找聚合查询的最大值:选择城市最多的美国州

好的,SQL专家开发人员,我希望这听起来很简单。基本上,我希望形成一个查询,以查找每个州的城市数,并且只包含结果集中城市最多的州 比如: SELECT S.Name, MAX(COUNT(C.StateID) as 'Count') --NO Can do, please help! FROM tblStates as S JOIN tblCities as C ON S.StateID = C.StateID GROUP BY S.Name 请让我知道最简单的方法,使这个查询工作 谢谢也许有

Sql server 通过同义词访问时的安全上下文问题

服务器上有一个用户和两个数据库(db1和db2)。 用户可以连接到具有默认数据库db1的服务器,在该服务器上他可以执行sp。 在sp语法中,我们使用dbo模式下db2表的同义词 所有这些都是为了允许用户只连接并执行一个存储过程。它在noraml中起作用,但现在服务器主体“user”无法在当前安全上下文下访问数据库“db2” 当代码不涉及db2的同义词时,用户从sp获取输出。 应该更新什么?我无法将select授予db2对象的用户

Sql server 如何根据出生日期获取记录

我需要计算即将到来的生日,并向他们发送生日祝福。我无法从包含出生日期字段的数据库中检索记录 有谁能给我一个查询,根据SQLServer2005中的DateOfBirth字段,我可以使用该查询获取未来7天的生日记录 提前感谢选择。。。 SELECT ... FROM... WHERE DATEDIFF(dd, CAST(CAST(YEAR(GETDATE()) AS VARCHAR) + '-' + CAST(MONTH(DateOfBirth) AS VARCHAR)

Sql server 将SSIS包作为SQLAgent作业执行

我有一个SQL Server 2008 SSIS作业,它执行一些Win 32 exe文件。当我通过BIDS(在Windows 2008框上)执行作业时,此作业运行良好。现在,我已经在MSDB数据库中部署了该包,并尝试将该包作为SQLAgent作业执行 执行此操作时,作业失败,并在执行Win 32 exe时抛出错误消息。我能够从同一台服务器上的批处理文件运行exe。但当SQLServer代理作业尝试执行时,会抛出以下错误 代码:0xC0029151,过程退出代码为“1”,而预期为“0”。结束错误D

Sql server 在VS2008中附加SQL Server Express数据库并添加到安装项目

我通过VisualStudio添加了一个.mdf文件。我试图将其连接到SSMS,但它给出了错误。如何附加它?我是否总是需要通过SSM创建它们 我通过SSMS创建了一个.mdf,物理路径是我的应用程序的数据目录。它运转良好。现在我需要设置这个应用程序 a) 我应该将此数据库添加到我的安装项目中吗?如果是,我的用户是否需要手动将其附加到SQL Server实例?我的连接字符串使用MyServer\SQLExpress b) 我试图将此数据库添加到安装项目中,但它说您需要此数据库的管理员权限。那是什么

Sql server SSRS2008嵌入式图像隐藏

我的报告中有一个嵌入式图像,我想根据数据库字段值显示/隐藏它。你能告诉我如何做到这一点吗?我试图根据以下表达式设置图像属性“可见性”显示或隐藏,但收到错误消息。它不允许我从报表生成器保存报表。谢谢你的帮助 =首先(Fields!dbField.Value,“NEW”)我想这就可以了 =IIf((First(Fields!dbField.Value) = "NEW"),True,False) 1) “新”是组名吗?2) 这个表达式的计算结果是“真”还是“假”?错误消息是。。。?

Sql server 用于生成内存和CPU使用警报的Powershell脚本

“我想编写一个powershell脚本,它将在两个参数上生成警报:CPU和内存。 我将使用WMI对象,脚本应在任何一个对象达到阈值时生成警报。(阈值为80%) 如果我也能在远程服务器上运行此脚本,则会得到进一步的增强。 是否有办法找到要使用的wmi对象类以及常规脚本的外观。 我正在使用64位计算机“为什么它必须是WMI?如果我试图通过powershell实现这一点,我只会使用它。还有一个问题 如果你真的被WMI束缚住了,那么MVP链接也提供了一些关于这个方向的建议,但在代码示例方面没有那么多 还

Sql server SQL Server:如何将多行返回到一个变量中

我对使用存储过程有点陌生,所以我偶然发现了两个问题 首先,为什么不允许我这样做?错误消息显示: 操作数类型冲突:日期与int不兼容 代码: @time date OUTPUT SELECT @time = ranking_date FROM [dbo].[t_ranking] WHERE ranking_date <= DATEDIFF(day, @todaysDateminusthirty, @todaysdate) AND ranking_keyword = @keywor

Sql server SQL Server-按一列分组

我正在尝试从orderview获取订单。在我看来,我确实有一些行具有完全相同的值,但我希望将这些值分组到orderid上,并获取该订单数量的总和 我的观点是这样的: Order_id Customer_id Article_id Delivery_date Quantity --------------------------------------------------------------------------- PR10.001 11

Sql server 这个t-sql语法有什么问题?

我正在尝试在sql server上运行Access编写的sql。查询在第4行抛出语法错误: UPDATE mytablename SET table.[Specimen Collection Date 1] = IIf( [Specimen Collection Date 2] Is Not Null, //incorrect syntax near is [Specimen Collection Date 2], IIf([Specimen Collection Date 2] Is

Sql server 基于行数总和检索特定行数

阅读了一篇实验报告后,我决定要问: 我试图根据行号的总和从表中检索特定数量的行:这是一个包含两列的基本表:CusID,CusName 我首先将每一行编号为1,这样我就可以使用行号的总和,或者我想的那个样 WITH Example AS ( SELECT *, ROW_NUMBER() OVER (Partition by CusID ORDER BY CusID) AS RowNumber FROM MySchema.MyTabl

Sql server WebConfig文件中没有连接字符串

我正在使用mvc5,并创建了我的模型。一切都很好,我可以执行所有CRUD操作。但是(Localdb)\V11.0中没有数据库。安装Sql Server Management studio后,我终于在./SQLEXPRESS Server中找到了我的数据库。 这就是为什么我实际上不知道,但当我查看WebConfig文件时,没有参数。 我的应用程序如何知道我的连接详细信息 我的网络配置如下: <?xml version="1.0" encoding="utf-8"?> <!--

Sql server 检查多值参数的索引值

我有一个多值参数,如何在iif条件下检查idex的值是否为null 现在,我使用这个表达式 IIF(IsNothing(参数!FR.Value(0)),“”和“Test”) 我的参数是隐藏的,有些东西它有4个值,有些时间小于4 当我检查索引3的值是否为(3)时,该索引中没有值。我显示出错误。如何检查参数的索引值。第一个问题是索引3中没有对象,而不是对象的值为Nothing,因此,尝试访问不存在的对象的值属性时会出错 第二个问题是,IIF是一个函数,而不是一个语言构造,因此在调用函数之前,不管布尔

Sql server SSRS 2005子报表之间不需要的分页符

我有一个报表,它有一个表和两行。第一行只是标题,第二行是子报表。子报表由一个表组成。我想将一个参数传递到子报告(Fields!patient_id.Value)中,并对每个患者id重复该子报告。我可以这样做,但由于某种原因,当我查看打印预览时,它会在子报告的每个实例后插入一个分页符,即使在一个页面上可以轻松容纳其中四个。我没有设置在报表或子报表的任何位置插入分页符。我确实希望页面中断,但仅当页面上没有足够的空间容纳整个子报表时 我已经做了足够多的故障排除,可以肯定地说是子报表控件或子报表本身导致

Sql server 条件SQL Server查询

我需要将一些数据从一个数据库移动到另一个数据库,但由于布局不同,我需要添加一个条件: 如果Genderbit==1(来自CRM.dbo.Person),则应在ewa.Ansprechpartner.Gender中插入字符串'M',否则应使用字符串'F' USE easyWinArtTest GO INSERT INTO ewa.Ansprechpartner(Vorname, Nachname, Email, Telefon, Telefax, Gender) SELECT Forena

Sql server SQL Server不区分大小写的查询

在使用SQL Server比较查询中的字符串时,我希望忽略大小写。到目前为止,我可以使用以下方法: SELECT * FROM Venue WHERE Name COLLATE Latin1_general_CI_AI Like '%cafe%' COLLATE Latin1_general_CI_AI SET COLLATE Latin1_general_CI_AI; SELECT * FROM Venue WHERE Name Like '%this%'

Sql server 检查列的所有值

选择所有有偶数卷号学生的系 Dept No Roll No Student Name 1 1 lee 1 2 scott 2 2 scott 2 4 smith 1 4 smith 这将导致第二系的产生,因为该系只有卷号可被2整除的学生。您可以使用groupby和have这样 查询 SELECT [

Sql server SQL Server与Order by和select top 1非常慢

此查询不带TOP 1,只需一秒钟即可使用TOP 1,耗时8秒。有什么办法可以改进吗 SELECT top 1 bw.id as workflow_id,bw.status_id workflow_status_id, bo. record_id,bo.addr_line_1, bw.created_by from dbo.input_Oct bo left outer join dbo.onebyone_workflow bw on bw.record_id = bo.record_id

Sql server 数据库刷新&;数据库迁移(MSSQL)

我是SQL DBA的新手,我想了解以下概念 SQL中的数据库迁移和数据库刷新有什么区别 假设我们想将一个数据库从一个实例迁移到另一个实例,我们可以遵循下面的方法吗 在目标实例中创建与源实例同名的新DB 使用源数据库刷新目标数据库,复制所有用户访问权限(&C) 数据库迁移: 将数据库从一台服务器移动到另一台服务器通常可以进行数据库升级 SQL中的数据库刷新: 使用备份文件用其他数据库数据覆盖数据库中的现有数据。通常会将生产数据刷新到UAT或DEV以进行数据/问题分析 假设我们想将一个数据库从一

Sql server SQL Server:在表中就地转换日期时间

基本上,我继承了一个相当大的表,其中有几个列的日期格式为“########”(日、月、年)的varchar(10)。我想将这些列转换为该特定日期的Datetime列 是否可以在SQL Server上就地转换这些记录(通过一组SQL查询),而不是用某种编程语言选择每条记录,转换日期,然后更新回Datetime(可能是另一列) 用这个代替吉姆的评论怎么样。首先添加新的DATE列: ALTER TABLE YourTable ADD NewDateColumn DATETIME 然后到更新(我想您会

Sql server 带名称变量的T-SQL恢复数据库

我必须为一个培训班恢复几个数据库,并试图创建一个脚本,在这个脚本中,我只需更改一个变量。这是我所拥有的,但它不起作用 -- Declare the variable to be used. DECLARE @DBVariable char; -- Initialize the variable. SET @DBVariable = '01'; USE [master] RESTORE DATABASE [DBName] + @DBVariable FROM DISK = N'C:\Syn

Sql server 尝试在SQL中为购物篮创建存储过程

我正在尝试创建一个存储过程,将其添加到SQLServer中的购物篮中。该程序应将人员编号、产品编号和订单编号作为输入,并将该产品放入订单。它还应该能够发送空的订单号,然后,一个新的订单应该被创建 这些是我的桌子: CREATE TABLE Customer ( PersonID CHAR (10) PRIMARY KEY, Firstname varchar (50) NOT NULL, Name varchar (50) NOT NULL, Address va

Sql server 在SQL Server中,哪些字符以字符串形式转义为XML?

我需要使用以字符串表示的XML,然后在SQLServer2012中将其转换为XML。我对查询字符串参数有问题(我在文本中有URL,其中包含带&)的查询字符串参数) 我看到有5个符号必须转义(并且需要在XML()的不同部分转义) 我可以使用SELECT@Input FOR XML PATH(“”)或SELECT CAST(CAST(“”AS XML)AS NVARCHAR(MAX)),但我注意到“和”没有转义。奇怪的是CDATA转义, 我还可以使用: SELECT REPLACE(

Sql server SQL Server-立即删除约束并添加默认值

我需要更改我的表“MyTable”的“ID”列,以便删除约束,但也要添加默认值,因此我需要: 要删除约束,请执行以下操作: ALTER TABLE MyTable DROP CONSTRAINT [ID] 要向列添加默认值,请执行以下操作: ALTER TABLE MyTable ADD DEFAULT 0 FOR ID 是否可以在一条SQL语句中同时执行此操作?您可以通过参考来回答此问题 ALTER TABLE[数据库名称。[模式名称]。|模式名称。]表名称 { 更改列名称。。。 |

Sql server 发行转换NTEXT&;nvarchar(255)至nvarchar(最大值)

如何将NTEXT列转换为NVARCHAR(MAX) 我有4个数据库,其中四个数据库中都有一个表。此表中存在一个Notes列,其类型为NTEXT,但在一个数据库中,该列为nvarchar(255) 因此: 3NTEXT 1nvarchar(255) 我的ETL从这四个表中获取数据,并将它们放入一个表中,Notes列的类型为nvarchar(max) 直到我的ETL不起作用,我才意识到其中一列是nvarchar(255),因为这四个表的结构应该是相同的 错误: [Source DB[25]]错误

Sql server 从SSDT项目部署SQL数据库更改

我有一个visualstudiossdt项目,我用它来跟踪所有的数据库更改,并且它都在源代码控制下 从VisualStudio,我可以将其部署到本地SQL Server以及我们的测试环境中。但是,出于安全原因,我无法远程连接到生产SQL Server,但我可以将RDP连接到生产服务器 确保将所有数据库更改部署到生产环境的最佳方法是什么 不确定这对这个问题有多大影响,但我使用的是VS 2015和SQL Server 2012。您可以在生产环境中生成DACPAC,然后将该DACPAC复制到您的开发环

Sql server 在azure上使用不同层上的两个VM配置故障转移群集

这个问题与在Azure VM上使用SQL Server企业版配置故障转移群集有关 是否可以使用以下两台机器配置故障转移群集: 一台高规格主服务器(VM+SQL server) 低规格的第二个作为辅助服务器(VM+SQL server) 主流量将一如既往地流向主流量,但次流量将以低规格存在,以防停机。这种方法将节省一些资金,因为它更具成本效益 这能被认为是坏的/好的/中立的做法吗?除了同步数据的延迟之外,还有哪些其他缺点 请注意,这只是故障转移群集配置,设置它是为了避免其中一台服务器停机时的停

Sql server SSIS-计算期初和期末余额

我需要计算SSIS中的期初余额和期末余额。我有以下数据作为输入 invoice_date amount 12/4/2016 4000 12/5/2016 5000 12/6/2016 7500 12/7/2016 5000 12/8/2016 8000 我希望输出如下所示: Opening Balance 4000 Closing Balance 8000 如何在SSIS中实现这一点 注意:只需使用转换即可。不需要

Sql server 跟踪特定列上的SQL Server更改

试图找出哪个存储过程正在更改列中的值。我有一个专栏,一整天都在前后翻来覆去,我想指出是哪个程序在做这件事 有什么简单的方法可以做到这一点吗?(我查看了CDC,但似乎没有办法跟踪进行更改的程序)我能想到的最好办法是触发并以这种方式捕获违规程序 你说的“直截了当”是指简单吗?使用SSMS在单个文件中生成所有存储过程的脚本。然后,只需使用任何您觉得有用的编辑器来查找该列名 谢谢你的回答。我使用下面的解决方案 SELECT qStats.last_execution_time AS [Exec

Sql server 使用SQL Server插入视图时忽略自定义字段

我已经创建了一个视图,它是一个SELECT*查询,带有表中的其他“计算”字段 我有一个应用程序,它使用此视图选择数据,并可以使用此视图插入数据。 我无法告诉应用程序使用表而不是视图进行插入,但SQL Server可以处理视图上的插入 但在这种情况下,在进行插入时,应用程序会自动附加视图的所有字段,以将它们添加到插入中。 因此,由于在计算字段中插入,insert查询失败 是否可以在视图中的INSERT上添加类似“侦听器”的内容,以忽略或删除INSERT查询中的某些字段 谢谢您可以实现而不是INSE

Sql server SQL[int]与int

最近我正在使用SQL语言。我发现了两种申报方式。我的问题是: 他们之间有什么区别吗 DECLARE @variable1 [int], @variable2 int 不,那些是一样的。用括号键入它只是额外的击键。在这个例子中没有区别。但是,如果您将一列命名为“First name”,则需要方括号来转义空格字符,方括号将用作分隔符。这与表格无关。这两个声明的意思是相同的。不,没有区别。请看这里:SQL的许多风格都可能重复。在micosoft(可能还有Sybase)之外的系统上标记

Sql server 未知SQL Server时间或时间戳,这是什么类型的

在SQL Server数据库中,我存储了一些与日期和时间相关的数据。我有两列:StartTime和EndTime,其中包含两个值: 635193180000000000 进入StartTime和 635193216000000000 进入尾声 我搜索了如何将其转换为“经典时间”,如“2013年9月4日”,但它不是Unix时间,我不知道它是哪种格式?尝试使用以下方法:- 选择dateadd(s,convert(bigint,1283174502729)/1000,convert(datetim

Sql server foreach循环容器中的SSIS XML源

我有一个带有foreach循环的SSIS包。foreach循环并读取文件。文件名放在变量User::FileName(索引0)中 我的数据流任务只是一个XML源和Ole DB目标 User::Filename通过“XML file from variable”传递到XML源 我使用的是内联模式,它是有效的(afaiks) 运行包时,我遇到以下错误: [XML源[50]]错误:System.Collections.Generic.KeyNotFoundException:De gegeven

Sql server 需要帮助理解为什么我在执行期间对具有相同锁定的代码进行脏读吗

警告:这是遗留代码,我们知道我们应该使用实际的SQL序列,这里的目标是理解为什么一种方法提供不同于另一种方法的结果,因为我们不能在此时动态地更改为序列 问题:我们使用单值表作为序列对象(创建于2012年之前),以生成并返回需要保证的唯一递增数字。就地存储过程可以工作,但在高负载下会导致高CPU和严重阻塞;补救措施看起来应该有效,但没有。新代码减轻了CPU和阻塞,但我们似乎无法防止脏读,这导致了重复 下面是表格的外观: if OBJECT_ID('dbo.Sequence') is not nul

Sql server 如何使用当前用户运行Set-SqlNetworkConfiguration';国书

我正在尝试使用Set SqlNetworkConfiguration设置SQL Server实例的TCP端口。该命令如下所示: Set-SqlNetworkConfiguration -Protocol TCP -Port 1433 -ServerInstance $ENV:ComputerName\SQLSERVER 但是,该命令会在GUI提示下提示输入凭据。这里有-Credential参数,但我发现的示例使用了getcredential,它再次显示了一个UI提示 如何使用当前用户的凭据运行

Sql server 拆下车架回位装置&;SQL中连接的拖车记录的换行符?

我有一个在SSMS中运行的SQL查询的结果数据集,该数据集包含一个以.txt格式导出并保存到记事本的1行拖车记录。但是,拖车记录自动包含十六进制控制,以便在拖车记录的串联字段(750个字符)之后包含换行/换行记录。在导出为.txt格式之前,如何从拖车记录的末尾消除此问题?文件不能包含任何空行 我在我的拖车记录的SELECT语句中尝试了以下行代码,这似乎是这种情况的常见修复方法: REPLACE(REPLACE('T'+CAST(RIGHT(REPLACE(STR(COUNT(*)),' ','0

Sql server 在存储过程中释放第一个表上的锁

我有一个看似简单的问题,却找不到解决办法。我有一个长时间运行的存储过程,它将在语句的开头和结尾更新一个表。问题是,表在整个过程中被锁定。以下是一个简化版本: ALTER PROCEDURE [dbo].[Proc_FullRefresh] AS BEGIN UPDATE Settings SET SettingValue = 'true' WHERE SettingName = 'Running' WAITFOR DELAY '00:00:30' END 问题是,在整个过程