我正在尝试创建SQL Azure数据库。当数据库成功创建时,我无法登录到它。原因是,我不知道默认用户名/密码是什么。或者,如何创建第一个可以访问数据库的用户
一定有一些基本的东西我在这里错过了。如何为SQL Azure数据库创建第一个用户。该数据库存在于Azure SQL实例上。您需要在创建实例时分配的管理loginid/密码
当您在Azure管理门户()中时,请转到“SQL数据库”
在“数据库”页面(顶部),找到您的数据库。在“服务器”列中查找数据库服务器的名称,然后单击服务器的链接
在服务
好的,不确定在主题行中输入什么,如果不清楚,请道歉
我使用MS Access 2013创建了一个简单的web应用程序。它只是有一个包含样本数据的表。我把它发布到我的共享点。在继续之前,我想告诉您,我使用的是Office 365企业版,我们需要管理Lync/SharePoint/Exchange等所有内容
因此,根据各地的Microsoft博客、文章和讨论,甚至下面的屏幕截图也表明,存储在Office 365中的数据存储在用于Office 2013 web app的SQL Azure数据库中
因
azure db是否有任何第三方评测工具?
我正在寻找可以帮助我在SSMS中评测azure db的免费工具。我不知道azure SQL数据库的特定第三方工具。在某种程度上,因为它是一个PaaS服务,我们以前的一些内部部署工具(如SSMS和SQL profiler)将无法工作(因为您没有管理员访问权限-这里进行解释)
在这方面取得进展的一种方法是使用新的查询存储,该存储旨在帮助理解在查询方面发生了什么 要求我们推荐或查找书籍、工具、软件库、教程或其他非现场资源的问题与堆栈溢出无关
在Azure门户中,在SQL弹性池下,我能够获得池中数据库的列表,以及峰值EDTU、平均EDTU、大小(GB)和状态
如何通过T-SQL、REST、Powershell等获取此列表
我们有大量Azure SQL Server和弹性池,我需要订阅中每个数据库的合并列表及其EDTU利用率。没有单个查询可以获取您要查找的所有信息。但是您可以通过组合几个查询来获得这些信息
您可以使用此选项列出订阅中的所有服务器
您可以查询此项以获取服务器/弹性池中所有数据库的列表
您可以查询DMV以获取该服务器中所有
在V12SQLAzure中,我想查看所有登录。我试过:
SELECT * FROM sys.server_principals
但是得到一个错误:
Invalid object name 'sys.server_principals'.
是否有替代方案?请尝试从sys.sql\u登录中选择*非常感谢。我试过这个。如果你从大师那里走,这似乎是可行的。然后,我尝试使用:select*from master.sys.sql\u login将其自动化,但出现错误:此版本的sql server不支持在
我正在运行一个BC 6-vcore Gen 5单数据库,存储空间为1.5 TB。我的PITR配置设置为7天。我已经操作服务器4个月了。从9月25日开始,我开始收取“SQL数据库单池/弹性池PITR备份存储-存储RA-GRS数据”的费用。根据微软的文档,我认为7天的PITR是免费的。我正在努力想办法阻止这些指控,但还没有找到解决办法
有什么想法吗?我是否遗漏了一些细节?根据官方定价计算器,1.5 TB的备份存储(PITR)每月需要支付150美元 来自
备份成本取决于数据库的大小和
更改和配置的保留
如果对我的SQL数据库的查询耗时超过XXX秒,我想创建一个警报规则
在“创建警报”对话框中,我无法选择名为“持续时间”的信号
您能否建议一种解决方案,如何为耗时超过X秒的查询创建警报?我认为我们可以使用Kusto查询语言获得查询耗时超过X秒的结果。duration\u d字段的单位为毫秒
let alert_run_interval = 24h;
AzureDiagnostics
| where duration_d >= 5000
| where TimeGenerated >
我正在尝试将一些数据插入到SQL Azure中创建的表中
SQL结构
Field 1 DATE
Field 2 INT
Field 3 INT
使用的Python代码:
#I know I have connected to the correct database.
Connection = pyodbc.connect(conn.conn())
cursor = Connection.cursor()
SQLCommand = ('INSERT INTO table_name ([Fi
对于使用Azure SQL数据库的高可用性服务,我正在使用“使用两个Azure区域实现业务连续性,停机时间最少”的方法
我已在不同的区域配置了两个带有流量管理器的WebApp(一个使用fg-name.database.windows.net连接字符串进行R/W操作,另一个使用fg-name.secondary.database.windows.net进行只读操作。现在请检查以下步骤-
步骤1-如果我的主sql server工作正常,那么我的connectionstring(fg name.da
我正在使用ARM模板来配置Azure SQL数据库。我想说的是,如果这个数据库还不存在,那么应该通过复制另一个固定的数据库来创建它。但如果我想要的数据库已经存在,就应该让它单独存在
“仅在当前状态不是所需状态时执行操作”的功能是增量模式下部署的标准功能。但这似乎与Copy的createMode不匹配
我有一个类似这样的JSON模板(不要介意没有参数化,这是一个示例):
正如预期的那样,第一次部署成功。但如果重复相同的部署,则会出现错误:
New-AzureRmResourceGroupDeplo
我们使用Azure SQL作为单一数据库,并采用DTU定价模型。我们有一个大约有50万条记录的表,我们想在单个字符串属性上添加一个新的非聚集索引
问题是这是一个生产数据库。如果我使用
CREATE NONCLUSTERED INDEX [IndexName]
ON [dbo].[TableName]([FieldName] ASC);
GO
索引的创建将使DTU在几分钟内保持在100%,这实际上会使应用程序代码中的任何查询都无法使用
Azure SQL中是否有方法指示SQL Server“嘿,
我得到了错误
无法打开登录请求的数据库“”。登录失败。用户“”的登录失败
请确保在Azure SQL数据库的防火墙配置中将“允许访问Azure服务”设置为ON
请考虑,Azure AD admin登录不适用于启用了双因素身份验证的帐户。此外,查询编辑器不支持连接到主数据库。登录名是什么?登录名是否具有访问数据库的权限?
我正在尝试创建驻留在远程Azure SQL Server中的数据视图。我似乎无法在视图中创建一个表或临时表来存储sp_execute_远程调用的结果,因为这是不允许的,所以我尝试使用一个函数,但是根据提供的函数定义,我收到了一个错误,抱怨以下错误
在函数中无效使用副作用运算符“INSERT EXEC”
CREATE OR ALTER FUNCTION [dbo].[fn_Test]()
RETURNS @Results TABLE
(
[ID] INT,
[$ShardName]
假设我们有一些联邦成员和1个联邦根,联邦根有一个名为common的表
每天一次,我想在联合根目录中的公共表和联合成员中的表之间运行联接查询。查询框架如下所示:
在联盟成员中
从FED_成员_表中选择*
其中id在“从公用项中选择id”
//请注意,“common”表位于联合根目录中,而不是联合成员
可能吗 afaik,没有
如果它是联合会成员中的一个公用表,则应将其作为所有联合会成员中的参考表。afaik,no
如果它是联合体成员之间的公共表,则应将其作为所有联合体成员中的引用表
我在Azure SQL数据库中创建了如下用户:
CREATE USER [MyUser]
WITH PASSWORD = 'my password';
在我的数据库和数据库项目之间的架构比较期间,VS生成奇怪的脚本:
CREATE USER [MyUser]
WITH PASSWORD = N'b$&#$!~<+clbztmsFT7_q7yyW2Etqd6Xdgrs|zeqhd|po$?+';
创建用户[MyUser]
密码=N'b$$~ 谢谢你
缺少以下命
我知道,您可以通过在目标服务器的[master]数据库中运行以下SQL命令复制现有Azure SQL DB来创建新的Azure SQL DB:
CREATE DATABASE [New_DB_Name] AS COPY OF [Azure_Server_Name].[Existing_DB_Name]
我想知道的是,在创建副本时,是否可以更改副本的DTU数量
作为一个真实的例子,如果我们复制一个[prod]数据库来创建一个新的[qa]数据库,那么复制可能只需要资源来处理一个小型测试团队,而不是
我正在使用adfv2链接服务连接azure sql server。
我正在犯错误
“对sql server执行失败。sql错误号:10928。错误”
消息:资源ID:1。数据库的请求限制为120
并已到达。请参阅
“”寻求帮助
链接服务是否支持连接池?如果支持,则如何实现连接池?
如果您有更好的选择来解决问题,而不进行任何sql server配置更改,请指导我错误消息非常清楚:“1。数据库的请求限制为120,已达到。“
有关更多详细信息,请参阅:
要解决此错误,您需要
下面是另一个可以帮助
显然,当我执行:
grant all to myself;
我收到一条错误消息,告诉我在SQLAzure上不推荐使用“全部授予”。在谷歌搜索了一段时间后,我还没有找到一个类似的。有吗?或者现在需要明确指定所有权限吗?首先,弃用意味着它现在仍然有效。
为了回答您的问题,应该用显式权限(EXECUTE/READ/…)替换grant all如果您使用模式(您应该这样做),则有一个grant control选项,相当于grant all
看
事实上,这条信息说它没有达到预期效果,所以我担心这一改变已
我们正在使用Application Insights SDK为我们的Azure WebApp应用程序提供Azure SQL数据库和Azure存储。我们可以使用哪个Azure服务来跟踪应用程序中特定于时间的代码请求和异常?如果您已经在使用application Insights SDK,则可以使用它来跟踪请求、异常、依赖项等。
application insights SDK提供了许多日志记录方法,因此您可以使用诸如TrackException、TrackTrace、Trackxxx等内置方法进行
我不确定是什么错误的数据流没有删除它导致此错误的行“Activity dataflow38 failed:”
在预览选项卡中,它显示了我要删除的行,但它与表没有关系
错误
"message": "Job 'c688a5bd-34dd-44e2-8292-724f0ea5f98a failed due to reason: DF-EXEC-1 Conversion failed when converting date and/or time from character string.\n
我需要在azure中创建VCore 4数据库。500 DTU数据库需要多少vCore。我可以得到这个手臂模板吗。我的要求是500 DTU,但我需要使用VCore。因此,标准层中每100个DTU至少需要1个VCore,而高级层中每125个DTU至少需要1个VCore,500个DTU需要多少个VCore
在标准层中,500 DTU至少需要5个vCore
在高级层中,500 DTU至少需要4个vCore
参考:
希望这有帮助
在活动/活动设置中同步双向时,我尝试将表A的标识列“id”设置为
数据库1(Azure):
增量2,种子1
数据库2(内部部署):
增量2,种子2
DB 1应获得不均匀id值,DB 2应获得均匀id值
但是数据同步使用存储过程来同步数据,之后种子将更改
例如:
id为37的DB 1插入
作为id为37的insert同步到DB 2。
DB 2标识种子设置为37+2=39,现在是不均匀的
在具有双向同步的活动/活动设置中使用Azure data sync时,如何解决主键冲突的问题
最近,一个很棒的SQLAzure 2011年5月更新被重新发布,它允许我们在一个订阅下配置多个服务器。
我可以通过新的Azure门户创建多个服务器,但是我们可以从sql Azure门户(sql.Azure.com)执行同样的操作吗?是旧的非Silverlight门户,您将找不到诸如多服务器管理之类的新功能。您应该从位于的新门户访问所有SQL Azure数据库管理
您会发现,这同样适用于,目前几乎已被放弃。是旧的非Silverlight门户,您将找不到诸如多服务器管理之类的新功能。您应该从位于的新
SQLAzure出现了一个奇怪的问题,它发生在完全上线之前的一个小阶段,一些用户正在做一些数据输入
服务器“xxx”上的数据库“dbname”当前不可用。请稍后重试连接。如果问题仍然存在,请与客户支持联系
当我尝试通过SQL Azure数据库网站连接时,我得到:
“防火墙检查失败。
资源ID:1.请求的最低保证为0,
最大限制为180,数据库的当前使用率为0。
但是,服务器当前太忙,无法支持此数据库大于0的请求。“
查看Azure管理网站的数据库部分,该网站报告它无法访问数据库,但不幸的是,我没
Azure SQL数据仓库中是否有用于修改列名的函数或任何表达式
怎么做。不,Azure SQL数据仓库目前不支持重命名列名
其他人发表了这篇文章,获得153次投票,但仍然没有答案:
我们可以使用新列名创建一个新表,然后从旧表复制数据
参考:
目前在ADW中没有任何函数或表达式可以实现这一点。Hi@Tejaswini,如果我的答案对您有帮助,您可以将其作为答案接受(单击答案旁边的复选标记,将其从灰显切换为填充)。这可能对其他社区成员有益。非常感谢。
假设我创建了一个,并希望使用来管理它
第一个调用端口是“允许访问Azure服务”选项。然而,这意味着这太自由了,因为它允许从任何Azure服务进行访问。我不想那样做。我只想授予对云Shell的访问权限
本文档介绍了如何设置服务器级防火墙规则-将IP地址范围设置为0.0.0.0到255.255.255.255将允许任何IP连接到数据库。我也不想这样做——这显然不适合生产,甚至比允许访问Azure中的任何服务更自由
我不知道云壳的IP地址,大概是动态分配的
如何授予对云Shell的访问权限?您在Az
我有一个现场站点和一个本地开发站点。Live站点运行正常,但我想部署我的开发站点来覆盖Live站点。我获取了live数据库的bacpac,然后尝试使用SSMS将开发人员数据库移动到live Azure服务器,在尝试此操作的过程中,删除了原始数据库。我部署dev数据库的尝试失败了,所以我决定在退休时恢复原始数据库,以找出失败的原因。我使用SSMS恢复原始数据库的备份。该站点的代码没有更改。然而,我现在得到了YSOD
翁布拉科无法启动。已配置连接字符串,但Umbraco无法连接到数据库
我的连接字符
我在Azure SQL server数据库中创建了一个新登录名和一个新用户。
我要做的是为数据库中的单个表提供此角色的只读权限。
执行此操作时,我运行了以下脚本:
EXEC sp_addrolember N'db_datareader',N'new_user'
走
但是有了这个权限,新用户可以查看数据库中的所有表。
所以我试着用“public”角色运行下面的脚本
EXEC sp\u addrolember N'public',N'new\u user'
走
但这给了我一个错误:
“无法更改公共角
我正在将现有的Azure V12数据库引入到SSDT项目中,这样我们就可以开始使用源代码控制和CI管道
我正在努力解决的问题是,在一些代码中有一个对“sys.fn_get_audit_file”的引用,它给出了一个“未解决的引用”错误。我不希望在构建项目时忽略任何错误,所以我一直在尝试正确地解决这个问题。向master添加数据库引用并不能解决此问题,而且SSDT附带的master.dacpac文件中似乎没有sys函数的定义(在model.xml中)。我检查了VS文件夹中可用的master.dac
我正在尝试找出将数据加载到Azure SQL数据库的最简单方法。我知道所有引用的方法,以及各种ETL工具。到目前为止,使用SSM的bcp似乎是最简单的方法。
我的问题是,有没有一种更简单的基于用户界面的方式将数据从文件加载到表中,或者通过bucket(blob存储)或直接上传,就像我们在Google BigQuery、AWS RedShift、Athena或Glue中所做的那样?看起来您所使用的所有方法都是当前唯一受支持的方法,Data Factory不是基于UI的解决方案,但可能很简单,可以找
有没有人想出一个备份SQLAzure数据库的好方法
这两种方法似乎是SSIS或BCP。SSIS看起来需要本地安装我没有的MS SQL 2008。BCP看起来更有希望,但到目前为止,我还没有找到任何将其用于SQL Azure的示例。在PDC09上,他们宣布了SQL Azure Data Sync,这是一个早期预览,旨在让您的本地SQL Server与Azure SQL Server保持同步
在数据库备份维护等方面,这当然是微软管理的Azure服务的一部分
sync framework团队有一个关于
我想开始使用SQL Azure和SQL Azure数据同步(用于本地SQL 2008和Azure)
Azure门户仍然将数据同步标记为“预览”-那么它是否已经准备好生产了
如果不是,什么时候可以?任何标记为“预览中”的内容都被视为不支持生产使用,尽管您可以选择这样做;请注意,目前不推荐使用。至于时间安排,我建议关注SQL团队的博客:
我们目前正在桌面/Web应用程序中使用Azure SQL数据库,并托管在东南亚。对于Web/Mobile,我也在东南亚托管了应用程序服务,但我们设计的Windows应用程序可以直接调用数据库
到目前为止,在性能和连接性方面都没有问题。但最近我们公司扩大了在俄罗斯的业务。因此,我们在俄罗斯有使用桌面应用程序的用户,他们目前面临着非常缓慢的连接,因为每个查询都必须旅行到东南亚,这影响了应用程序的可用性,有时用户必须等待1-2分钟才能看到查询结果
我这里的问题是如何在不修改应用程序中大量代码的情况下改
我尝试在Azure Sqlserver中创建数据库。“创建数据库”SQL命令有效。但它使用默认的“通用”作为计算模型。是否可以使用其他选项作为默认选项
我找到了powershell命令:New-AzSqlDatabase,我可以用它创建数据库,并使用give-ComputeModel。但我不想那样
我的目标是:系统管理员定义默认模板,如ResourceGroupName、ComputeModel、MinVcore、MaxVcore等。。。开发人员或DBA可以运行SQL命令来创建数据库,而无需触及
在Visual Studio 2019 SQL Server数据库项目中使用如下创建表语法:
CREATE TABLE [MyTable]
(
-- ...
) WITH (DATA_COMPRESSION = PAGE)
我收到以下生成错误:
SQL70015:目标平台不支持关键字或语句选项“数据压缩”
但是,Azure SQL数据库支持DATA\u COMPRESSION选项,如所示(“压缩在Azure SQL数据库中可用”),并且我可以对Azure SQL数据库成功手动执行此语句
我
我正在尝试为Azure SQL Server中的一个数据库创建一个包含的用户
我尝试过使用sp_configure关键字,它说我正在使用的SQL Server版本中没有该关键字
另外,我使用了alterdatabase语句,得到了以下错误:
ALTER数据库语句失败;此功能不可用
在SQL Server的当前版本中
请问,我该如何解决这个问题?可能是版本管理和数据库SQL不匹配,或者
阻止用户数据库您不需要运行更改数据库。。。在Azure SQL DBs上设置CONTAINMENT命令以接受包含
我们有标准S0层(10DTU)中的Azure SQL数据库,一个表有超过400万行,并且它被正确索引。
这是一个测试/开发环境,只有我在使用这个应用程序。
在某个X时间段后,对该数据库/表(具有小数据集)的第一个请求请求超时!?
此时,DTU的百分比为100%,但在几次请求之后,对于同一个请求,所有内容都可以完美地工作(并且更大的数据集-对于大量使用,DTU的最大百分比为10-20%)。
所附的最大DTU单位的图片
除了去高薪阶层,你还有什么建议吗
新的。。。
这现在是相同的数据库测试没有任何
我将使用SQLAzure数据同步服务来同步SQLAzure和本地数据库(单向,从Azure到本地数据库)
但我需要筛选行以进行同步(基于列值)
例如,本教程讲述了如何配置过滤器,但它引用了旧的Windows Azure门户
一篇教程说:
如果还希望筛选列,以便只筛选具有特定
值(例如,年龄>=65)已同步,请使用SQL数据同步
Azure上的门户和选择表、列、,
和要同步的行,以定义要同步的数据
但是,我在新的Azure门户中找不到任何编辑过滤器的链接
此功能消失了吗?此功能未移植到新UI中。D
在SQLAzure上修补使用全文搜索的插件时,我遇到了噪音词的问题,尤其是在使用CONTAINSTABLE时
对我们网站的真实搜索查询日志表明,我需要以这种或那种方式处理噪音词。我想做的是设置“转换噪声字”,但sp_配置似乎不被允许
是否有其他方法来启用此功能,或者我应该考虑他们的其他选项来处理此问题
谢谢。更改全文服务的配置选项在Azure SQL数据库中不可用,如下所述请参阅限制部分:
.
Azure SQL数据库的数据库范围配置选项仍在开发中,该选项类似于使用sp_configure的实例
我无法使用MySQL工作台连接到Azure MySQL数据库。
使用ClearDB
有时,当我通过Power BI或SSMS连接到Azure SQL Server时,会出现以下错误:
已成功与服务器建立连接,但随后
在预登录握手过程中出错。(提供商:TCP)
提供程序,错误:0-信号量超时时间已过期。)
(Microsoft SQL Server,错误:121)
关于这个主题有很多问题,但很少有人针对Azure SQL Server解决这个问题。我的IP地址被添加到防火墙中(有时还能工作!)我已经尝试增加连接超时时间。我试着按照问题答案的指示查看“netsh WinSock S
我已经创建了一个Azure托管sql实例。我们已经查看了托管实例和本地VM vnet的vnet。我们的组织不允许在当前VM上安装点对点vpn
请给出建议,我们如何从本地sql server(SSMS)连接到托管sql实例
提前感谢。由于您尝试从安装在本地主机上的SSM进行连接,因此在添加到部署SQL托管实例的子网的路由表上,使用下一跳虚拟网络网关将另一条路由添加到本地子网的路由表中
确保NSG(网络安全组)规则允许端口1433上的子网之间为此连接进行通信
还请确保您在主机Windows防火墙上启
Azure弹性作业代理未执行作业。
在Azure门户上查看代理时,代理的状态显示为“更新”
是否有方法取消更新或重新启动代理,以便作业再次正常运行
我们注意到作业没有执行。当我们去检查执行情况时,大约有7天没有执行任何工作
当我们尝试手动执行作业时(使用jobs.sp\u start\u job存储过程),lifecycle列保持创建状态,并且(我不确定以下内容是否相关,但在成功执行中其填充)没有target\u type,target\u id,target\u server\u name,目
在SQLServerManagementStudio中,我选中选项Tools/Options/QueryExecution/SQLServer/ANSI/SETIMPLICIT TRANSACTIONS
这适用于SQL Server数据库,但如果我连接到Azure SQL数据库,它似乎不起作用
对于Azure SQL数据库,如何在默认情况下将隐式_事务设置为ON
编辑
我试过这个:
从对象资源管理器中,我选择数据库,右键单击,新建查询并执行以下脚本:
CREATE TABLE T1 (a INT
我正在尝试创建一个azure函数,该函数在逻辑应用程序中触发,
该函数的目的是对某些网站进行web爬网,获取所需信息,将其与Azure中的SQL Server数据库进行比较,如果我们已经拥有该信息,则进行比较(如果没有添加该信息)
我的问题是,每当我运行它时,我都会遇到Server500错误,我认为这是访问数据库造成的。帮忙
public static async Task<IActionResult> Run(
[HttpTrigger(Authori
例如,我想知道我连接的实例是否在S0、S1、S2上运行。。。从TSQL查询。请尝试以下查询:
SELECT d.name,
slo.*
FROM sys.databases d
JOIN sys.database_service_objectives slo
ON d.database_id = slo.database_id;
最近,我无法在同一订阅和数据中心内导出我的SQL Azure DB
我得到的错误是:
“在服务操作期间遇到错误。无法从数据库导出架构和数据。发生了一个或多个错误。发生了一个或多个错误。发生了一个或多个错误。发生了一个或多个错误。序号65处的varbinary列应在提供的SqlDataReader中以DATALENGTH(col)开头。”
数据库中没有VARBINARY列。我已使用以下方法对此进行了检查:
SELECT table_name [Table Name], column_name [C
Azure中的一个数据库达到了其最大工作人员数(请求),这导致数据库在大约下一分钟内无法执行任何请求。然后它在没有我们任何输入的情况下恢复了,Azure Metrics中报告的数据库的工作人员百分比恢复正常,约为15%
我已经研究了为数据库提供服务的API的指标,它的HTTP请求没有超出正常接收的数量
根据SQL查询存储,一些查询在发生此问题时花费的时间更长,但无法帮助确定原因
是否有人对可能导致此问题或任何问题的原因有任何建议,以帮助确定问题?尽管没有SSMS UI用于此问题,但您可以使用查询
在创建Azure SQL Server时,似乎无法按如下方式设置排序规则:
az sql db create `
--name $sqlDatabaseName `
--server $sqlServerName `
--resource-group $resourceGroupName `
--edition Basic `
--collation "Latin1_General_100_CS_AS_SC_UTF8"
错误消息告诉“
我们有一个大型的客户数据库库,我们的客户需要直接连接到这些数据库。目前,我们为他们手动设置了白名单范围,这对于一些客户来说变得很困难,因为他们需要在不同的IP上进行大量移动和访问
有一个web API,但我们的一个接口需要直接连接(遗留桌面应用程序),而且要迁移还需要几年时间,因此需要直接访问
当然,我们可以设置帐户并授予特定的访问权限,但防火墙排除过程只是Azure UI中用户的另一项学习任务,他们不会被打扰,这会导致沉重的支持负载
作为一种选择,我们正在考虑创建一个简化的UI,其中用户经过2
1 2 3 4 5 6 ...
下一页 最后一页 共 17 页