社区
疑难问题
帖子详情
怎样用代码启动"sql server browser"服务?
ljm10
2008-07-03 10:49:04
sql server browser默认服务启动模式是禁止的,我修改注册表将其修改为自动启动,再启动sql server browser,但还是提示被禁用。
由于要部署数据库环境,不进行可视化操作,所以只能用代码来实现。请高手指教
...全文
1281
16
打赏
收藏
怎样用代码启动"sql server browser"服务?
sql server browser默认服务启动模式是禁止的,我修改注册表将其修改为自动启动,再启动sql server browser,但还是提示被禁用。 由于要部署数据库环境,不进行可视化操作,所以只能用代码来实现。请高手指教
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hery2002
2008-07-03
打赏
举报
回复
[Quote=引用 12 楼 ranzj 的回复:]
引用 10 楼 ljm10 的回复:
结果还是一样,说被禁用了
你不会改完注册表没重启机器吧????????
[/Quote]
正宗老冉
2008-07-03
打赏
举报
回复
[Quote=引用 10 楼 ljm10 的回复:]
结果还是一样,说被禁用了
[/Quote]
你不会改完注册表没重启机器吧????????
M1CR0S0FT
2008-07-03
打赏
举报
回复
[Quote=引用 10 楼 ljm10 的回复:]
结果还是一样,说被禁用了
[/Quote]
......,如果可能把你描述的弄成图贴上来,一方面怀疑你操作的同时,一方面看看是否有其他原因导致.
ljm10
2008-07-03
打赏
举报
回复
结果还是一样,说被禁用了
M1CR0S0FT
2008-07-03
打赏
举报
回复
如果确定改了,那么同意ranjz的,sql server browser服务的服务名应该是SQLBrowser.
正宗老冉
2008-07-03
打赏
举报
回复
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SQLBrowser\Start 改成2/3
net start SQLBrowser
ljm10
2008-07-03
打赏
举报
回复
都改了啦
M1CR0S0FT
2008-07-03
打赏
举报
回复
[Quote=引用 5 楼 ljm10 的回复:]
我将HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SQLBrowser\Start值4修改为2(即设置为自动启动),然后运行net start "sql server browser",返回提示"服务被禁用",不知为什么?
[/Quote]
位置就没改对嘛,应该是HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SQLBrowser\Start
ljm10
2008-07-03
打赏
举报
回复
我将HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SQLBrowser\Start值4修改为2(即设置为自动启动),然后运行net start "sql server browser",返回提示"服务被禁用",不知为什么?
hery2002
2008-07-03
打赏
举报
回复
[Quote=引用 2 楼 M1CR0S0FT 的回复:]
引用楼主 ljm10 的帖子:
sql server browser默认服务启动模式是禁止的,我修改注册表将其修改为自动启动,再启动sql server browser,但还是提示被禁用。
由于要部署数据库环境,不进行可视化操作,所以只能用代码来实现。请高手指教
怀疑你是不是修改注册表修改错了,你现在的问题好像应该是,怎么修改了为自动启动还是变成禁用吧.
[/Quote]
那真的怀疑你的注册表没有改正确.
ljm10
2008-07-03
打赏
举报
回复
我试过不行,还是提示被禁用
M1CR0S0FT
2008-07-03
打赏
举报
回复
[Quote=引用楼主 ljm10 的帖子:]
sql server browser默认服务启动模式是禁止的,我修改注册表将其修改为自动启动,再启动sql server browser,但还是提示被禁用。
由于要部署数据库环境,不进行可视化操作,所以只能用代码来实现。请高手指教
[/Quote]
怀疑你是不是修改注册表修改错了,你现在的问题好像应该是,怎么修改了为自动启动还是变成禁用吧.
hery2002
2008-07-03
打赏
举报
回复
exec master..xp_cmdshell 'net start ....'
utpcb
2008-07-03
打赏
举报
回复
net start SQLBrowser
你重装SQL 去看看那个初始值是什么呢呵呵
ljm10
2008-07-03
打赏
举报
回复
我的操作是:
第一步:更改注册表:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SQLBrowser\Start:4改为2
启动模式由“已禁用”改为“自动”
第二步:net start sqlbrowser(或"sql server browser")
但提示“发生系统启动错误1080,无法启动服务,原因可能是被禁用或相关关联设备未启动”
重新启动的话就可以启动,但是我想在不重启的情况下解决这个问题。
ljm10
2008-07-03
打赏
举报
回复
重启肯定行的,但是我不想重启的啊。可视化操作也不用重启啊,不可能用代码实现这个操作就要重启的啊。
Android远程调用
sql
server
实现增删查改
Android远程调用
sql
server
实现增删查改。
sql
server
的配置,和开发中创建问题的总结。
一个列出
SQL
服务
器的
代码
一个列出
SQL
服务
器的
代码
VS2015 连接
sql
server
本文先详细阐述了
SQL
server
2014如何配置远程连接,再通过附上
代码
,功能:1.可以使VS2015连接
SQL
server
2014,2,可以打印出数据库中一张表的数据(举例)
Myeclipse +
sql
server
+tomcat 安装顺序和配置方法
Java开发时的工具Myeclipse
sql
server
tomcat 安装顺序和配置方法
Microsoft
SQL
Server
2005 Express Edition SP3
Microsoft
SQL
Server
2005 Express Edition
SQL
Server
文档小组无法回答技术支持问题,但是欢迎您对本自述文档提出建议和意见。您可以使用提供的链接快速、直接地发送电子邮件反馈。请使用英语发送您的反馈信息。 若要通过邮件提交有关本文档的反馈信息,请单击此处:提交反馈。 目录 1.0 简介 2.0 下载并安装
SQL
Server
Express 2.1 .NET Framework 2.0 2.2
SQL
Server
Express 2.3
SQL
Server
Express 的管理工具 2.4 访问安装文档 2.5
SQL
Server
2005 自述文件 3.0 安装问题 4.0 其他信息 4.1
服务
帐户和网络协议 4.2 用户实例功能 4.3 WMI 提供程序和用户实例功能 4.4 联机丛书 4.5 获取
SQL
Server
Express 帮助 4.6 新闻组支持 4.7 提供有关
SQL
Server
Express 的反馈 5.0 数据库引擎 6.0 复制 [顶部] 1.0 简介 Microsoft
SQL
Server
2005 Express Edition (
SQL
Server
Express) 是一个免费且易于使用的
SQL
Server
2005 版本,它替换了 Microsoft Desktop Engine (MSDE)。与 Microsoft Visual Studio 2005 集成之后,
SQL
Server
Express 可以轻松的开发功能强大且安全的数据驱动应用程序,并允许快速部署这些应用程序。
SQL
Server
Express 可以根据协议重新进行发布,并可作为客户端数据库以及基本
服务
器数据库使用。
SQL
Server
Express 是独立软件供应商 (ISV)、
服务
器用户、非专业开发人员、Web 应用程序开发人员、网站宿主以及客户端应用程序编程爱好者的理想之选。 未及时包括在本自述文件中的任何有关
SQL
Server
Express 的信息都将发布到 Microsoft 知识库文章 907284 中。 有关使用
SQL
Server
Express 新闻组提供反馈的信息,请参阅 4.6 新闻组支持部分。 [顶部] 2.0 下载并安装
SQL
Server
Express 本节介绍有关安装 .NET Framework 2.0、
SQL
Server
Express 以及可用于连接到
SQL
Server
Express 的工具的信息。 2.1 .NET Framework 2.0 在安装
SQL
Server
Express 之前,必须安装 .NET Framework 2.0。
SQL
Server
Express 依赖于特定 2.0 版本的 .NET Framework。如果您已安装了其他版本的 .NET Framework,则
SQL
Server
Express 安装可能会在运行时发生意外情况。您可以从此 Microsoft 网站下载 .NET Framework 2.0。 注意: .NET Framework 2.0 由 Microsoft Visual Studio 2005 和所有版本的
SQL
Server
2005 自动安装。 [顶部] 2.2
SQL
Server
Express
SQL
Server
Express 可从此 Microsoft 网站下载获得。 注意: 下载和提取产品时,请务必按照下载站点提供的说明进行操作。 安装
SQL
Server
Express 之后,请在命令提示符下使用以下命令连接到
SQL
Server
Express:
sql
cmd -S
Server
\Instance 其中
Server
是计算机名称,Instance 是要连接到的实例名称。如果已在安装过程中使用了默认的命名实例,则将实例指定为“
SQL
Express”。 [顶部] 2.3 管理
SQL
Server
Express 的工具 有关连接到
SQL
Server
Express 数据库并进行管理的信息,请参阅 Microsoft 知识库文章 907716。 [顶部] 2.4 访问安装文档
SQL
Server
Express 的安装要求文档中概述了硬件和软件要求。 [顶部] 2.5
SQL
Server
2005 自述文件
SQL
Server
2005 自述文件可以从此 Microsoft 网站在线获取。 注意: 未及时包括在本自述文件中的任何有关
SQL
Server
2005 和
SQL
Server
Express 的信息都将发布到 Microsoft 知识库文章 907284 中。 [顶部] 3.0 安装问题 本部分详细介绍此版本中的安装问题。 3.1 现有的
SQL
本机客户端安装可能导致安装失败 安装可能失败并回滚,同时显示以下错误消息:“找不到产品 Microsoft
SQL
本机客户端的安装包。请使用安装包
sql
ncli.msi 的有效副本重试安装。”若要解决此问题,请使用“添加或删除程序”卸载
SQL
本机客户端。对于群集,请从所有节点中卸载
SQL
本机客户端。然后,再次运行
SQL
Server
安装程序。 [顶部] 3.2 系统配置检查器失败并显示“性能监视器计数器检查失败”消息 在开始安装
SQL
Server
之前,系统配置检查器 (SCC) 会验证性能监视器计数器注册表项的值。如果 SCC 无法验证现有的注册表项,或者 SCC 无法运行 Lodctr.exe 系统程序,则 SCC 检查会失败,并且安装程序会被阻止。若要完成安装,您必须手动增加注册表项。 注意: 如果注册表编辑不当,则可能会导致严重的问题并可能需要您重新安装操作系统。Microsoft 不保证可以解决因注册表编辑不当而导致的问题。在编辑注册表之前,请备份所有重要数据。有关如何备份、恢复和编辑注册表的信息,请参阅 Microsoft 知识库文章 256986。 若要手动增加计数器注册表项,请执行下列操作: 在任务栏中,依次单击“开始”和“运行”,在“运行”文本框中键入 regedit.exe,再单击“确定”。 导航到以下注册表项:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib]。查找下列项: "Last Counter"=dword:00000ed4 (5276) "Last Help"=dword:00000ed5 (5277) 验证值。上一步 (5276) 中的 Last Counter 值必须与以下注册表项内 Perflib\009 中 Counter 项的最大值相等,上一步 (5277) 中的 Last Help 值必须与以下注册表项内 Perflib\009 中 Help 项的最大值相等:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009]。 注意: “009”是用于英语(美国)的项。 如有必要,请修改 \Perflib 项中 Last Counter 和 Last Help 的值。在右窗格中,右键单击 Last Counter 或 Last Help,选择“修改”,单击 Base = Decimal,在“值”数据字段中设置值,再单击“确定”。如有必要,请对其他项重复此操作,然后关闭注册表编辑器。 再次运行
SQL
Server
2005 Express Edition 安装程序。 [顶部] 3.3
SQL
Server
Express 联机丛书中包含关于操作系统支持的错误信息。
SQL
Server
Express 联机丛书中的“硬件和软件要求 (
SQL
Server
Express)”主题中没有提供操作系统的精确列表。
SQL
Server
Express 支持下列操作系统。 Windows
Server
2003 SP1 Windows
Server
2003 Enterprise Edition SP1 Windows
Server
2003 Datacenter Edition SP1 Windows Small Business
Server
2003 Standard Edition SP1 Windows Small Business
Server
2003 Premium Edition SP1 Windows XP Professional SP2 Windows XP Home Edition SP2 Windows XP Tablet Edition SP2 Windows XP Media Edition SP2 Windows 2000 Professional Edition SP4 Windows 2000
Server
Edition SP4 Windows 2000 Advanced Edition SP4 Windows 2000 Datacenter
Server
Edition SP4 [顶部] 3.4 如果在 Windows
Server
2003 中禁用了加密
服务
,则安装程序会失败并显示“Windows 徽标要求”对话框 Windows 加密
服务
提供程序 (CSP) 是执行身份验证、编码和加密
服务
的
代码
,基于 Windows 的应用程序通过 Windows
Server
2003 中的 CryptoAPI 访问这些
服务
。如果停止或禁用 CSP
服务
,则
SQL
Server
安装程序会失败并显示“Windows 徽标要求”消息。 注意: 在 Windows
Server
2003 故障转移群集中运行
SQL
Server
安装程序之前,必须在所有群集节点上
启动
CSP
服务
。 若要在 Windows
Server
2003 中启用 Windows CSP
服务
,请执行下列操作: 在“控制面板”中,打开“管理工具”,再双击“
服务
”。 在“名称”列中,右键单击“加密
服务
”,再单击“
启动
”。 关闭“
服务
”。 运行安装程序。 [顶部] 3.5 未在 Windows 中完全启用 MSDTC 由于未在 Windows 中完全配置 Microsoft 分布式事务处理协调器 (MS DTC),因此,应用程序可能无法在分布式事务中登记
SQL
Server
Express 资源。此问题会影响使用分布式事务的链接
服务
器、分布式查询以及远程存储过程。为了避免出现此类问题,您必须在安装有
SQL
Server
Express 的
服务
器中完全启用 MS DTC
服务
。 若要完全启用 MS DTC,请执行下列操作: 在“控制面板”中,打开“管理工具”,再双击“组件
服务
”。 在左窗格的“控制台根目录”中,单击“组件
服务
”,再展开“计算机”。 右键单击“我的电脑”,再单击“属性”。 在 MSDTC 选项卡中,单击“安全配置”。 在“安全设置”下,选中所有复选框。 验证是否已将“DTC 登录帐户”名称设置为 NT AUTHORITY\NetworkService。 [顶部] 3.6 默认情况下不安装示例数据库 默认情况下,不在
SQL
Server
Express 中安装示例数据库。Northwind 和 pubs 示例数据库可以从 Microsoft 网站进行下载。Adventureworks 示例数据库可从此 Microsoft 网站安装。 [顶部] 3.7“强制加密”配置可能会导致
SQL
Server
Express 安装程序失败 如果现有的
SQL
Server
客户端安装配置为启用了“强制加密”选项,则安装程序可能会失败。若要解决此问题,请在所有
SQL
Server
客户端上禁用此选项。对于
SQL
Server
2000 中的 Microsoft 数据访问组件 (MDAC) 客户端,请使用
SQL
Server
2000 客户端网络实用工具。对于
SQL
本机客户端,请使用“添加或删除程序”卸载
SQL
本机客户端。在群集中,请卸载所有节点中的
SQL
本机客户端。然后,再次运行
SQL
Server
2005 安装程序。 [顶部] 3.8 sp_configure 的设置可能会导致安装程序在升级系统数据库时失败 如果在更早 Community Technology Preview (CTP) 版本的
SQL
Server
Express 中禁用了 sp_configure 选项“SMO 和 DMO XP”,则在使用 SAVESYSDB 卸载该早期实例,然后使用 USESYSDB 安装本版本时,将可能无法从命令提示符下进行安装。若要解决此问题,请确保在使用安装程序升级系统数据库之前,已启用上述选项。有关详细信息,请参阅此 Microsoft 网站上
SQL
Server
联机丛书中的“设置
服务
器配置选项”。 [顶部] 3.9 安装
SQL
Server
2000 的默认实例可能会禁用
SQL
Server
Express 如果您的计算机已安装
SQL
Server
2000 管理工具和
SQL
Server
Express 的默认实例,则可以使用
SQL
Server
安装程序安装
SQL
Server
2000 的默认实例。但是,这样做会禁用已安装的
SQL
Server
Express 实例。因此,如果计算机上已安装
SQL
Server
2000 管理工具和
SQL
Server
Express 的默认实例,则不要安装
SQL
Server
2000 的默认实例。 [顶部] 3.10 在 Windows 域控制器中安装
SQL
Server
Express 安全说明: 我们不建议在域控制器中运行
SQL
Server
Express。 可以在 Windows 域控制器中安装
SQL
Server
Express;但是,
SQL
Server
Express 无法在 Windows
Server
2003 域控制器中像本地
服务
或网络
服务
那样运行。
SQL
Server
服务
帐户应以 Windows 域用户帐户的身份运行。您也可安装
SQL
Server
服务
帐户以本地系统的身份运行,但是不建议使用此选项。 不要在安装完
SQL
Server
Express 之后更改
服务
器的角色。例如,如果您在成员
服务
器中安装了
SQL
Server
Express,则不要使用 Dcpromo 工具将该
服务
器提升为域控制器。或者,如果您在域控制器中安装了
SQL
Server
Express,则不要使用 Dcpromo 将该
服务
器降级为成员
服务
器。如果在安装完
SQL
Server
Express 之后更改
服务
器的角色,便会导致功能丢失,不支持这样做。 [顶部] 3.11 现有的
SQL
本机客户端安装可能导致安装失败 安装可能失败并回滚,同时显示以下错误消息:“找不到产品 Microsoft
SQL
本机客户端的安装包。请使用安装包
sql
ncli.msi 的有效副本重试安装。”若要解决此问题,请使用“添加或删除程序”卸载
SQL
本机客户端。对于群集,请从所有节点中卸载
SQL
本机客户端。然后,再次运行
SQL
Server
安装程序。 [顶部] 3.12 卸载
SQL
Server
Express 和 Visual Studio 2005 的预发布版本 安装前,您必须删除
SQL
Server
Express、Visual Studio 2005 和 .NET Framework 2.0 的所有以前内部版本。由于这两个产品都依赖于相同版本的 .NET Framework,因此必须按照以下顺序卸载它们:
SQL
Server
Express Visual Studio 2005 .NET Framework 2.0 [顶部] 3.13 维护模式下将提示输入 Setup.exe 的路径 如果在维护模式下安装新的
SQL
Server
2005 组件,系统将提示您指定
SQL
Server
2005 安装媒体中 Setup.exe 文件的位置。指定该文件位置时,路径中一定要包含“Setup.exe”。例如,路径“D:\”将失败,而“D:\Setup.exe”将成功。 [顶部] 3.14 Setup 命令 Shell 脚本的故障排除失败 路径变量中包含括号时,Setup 命令 shell 脚本可以生成 Windows 脚本错误。出现该错误的原因是命令 shell 脚本不支持路径变量中包含的括号。在将 32 位组件安装到 64 位计算机的 Windows (WOW64) 32 位子系统中的 Windows 时可能会出现该错误。例如,下列路径值为“C:\Program Files (x86)\”的脚本将生成一个错误,因为 shell 脚本解释器会将扩展的 PATH 变量中的括号错误地解释为 IF/ELSE 语句的一部分: IF "%SOME_PATH%" == "" ( SET PATH=%PATH%;%PATH_A% ) ELSE ( SET PATH=%PATH%;%PATH_B% ) 若要解决此问题,请更改该脚本以删除括号。例如: IF "%SOME_PATH%" == "" set PATH=%PATH%;%PATH_A% IF NOT "%SOME_PATH%" == "" set PATH=%PATH%;%PATH_B% 或者从路径中删除包含括号的
SQL
项。 [顶部] 4.0 其他信息 4.1
服务
帐户和网络协议 在
SQL
Server
Express 中,本地系统帐户即为网络
服务
帐户。
SQL
Server
Express 可侦听本地命名管道和共享内存。执行默认安装时,无法远程连接到
SQL
Server
Express。您需要启用 TCP/IP 并检查是否已启用防火墙。 若要启用 TCP/IP,请执行下列操作: 在“开始”菜单中,选择“所有程序”,依次指向 Microsoft
SQL
Server
2005 和“配置工具”,再单击“
SQL
Server
配置管理器”。 或者,您可以通过右键单击“我的电脑”并选择“管理”来打开计算机管理器。在“计算机管理”中,依次展开“
服务
和应用程序”和“
SQL
Server
配置管理器”。 展开“
SQL
Server
2005 网络配置”,再单击“InstanceName 的协议”。 在协议列表中,右键单击要启用的协议,再单击“启用”。 协议的图标将更改为显示该协议已启用。 若要启用防火墙,请执行下列操作: 依次单击“开始”和“控制面板”,再单击“网络连接”。 在左侧的导航栏中,单击“更改 Windows 防火墙的设置”。 在“异常”选项卡的“程序和
服务
”框中,您可能看到已列出
SQL
Server
,但未将其选择为异常。如果您选中该复选框,则 Windows 将打开端口 1433 以允许 TCP 请求进入。或者,如果您未看到列出
SQL
Server
,则请执行下列操作: 单击“添加程序”。 单击“浏览”。 导航到 drive:\Program Files\Microsoft
SQL
Server
\MS
SQL
.1\MS
SQL
\BINN 将文件
sql
servr.exe 添加到异常列表中。 [顶部] 4.2 用户实例功能
SQL
Server
Express 允许非管理员用户在没有 DBCreator 特权的情况下也能复制或移动数据库(使用 Xcopy 部署)。有关详细信息,请参阅此 Microsoft 网站上的
SQL
Server
Express 联机丛书中的“非管理员用户实例”。 [顶部] 4.3 WMI 提供程序和用户实例功能 动态生成的用户实例中不支持 WMI Provider for
Server
Events。此程序仍运行于父
SQL
Server
Express 实例中。 [顶部] 4.4 联机丛书
SQL
Server
Express 联机丛书可从此 Microsoft 网站下载获得。 注意: 由于
SQL
Server
Express 是
SQL
Server
2005 的一个受限版本,因此,
SQL
Server
Express 联机丛书中的文档很大程度上依赖于
SQL
Server
2005 联机丛书中的内容。
SQL
Server
2005 联机丛书可从此 Microsoft 网站下载获得。 Microsoft 定期发布
SQL
Server
Express 联机丛书和
SQL
Server
2005 联机丛书的可下载更新。我们建议您安装这些更新以及时更新该文档的本地副本中相应的信息。 [顶部] 4.5 获取
SQL
Server
Express 帮助 Microsoft 通过以下四个主要信息来源提供有关
SQL
Server
Express 的信息:
SQL
Server
Express 文档和示例
SQL
Server
2005 文档 Microsoft Developer Network (MSDN) 和 TechNet 上的
SQL
Server
站点 其他 Microsoft 网站上的
SQL
Server
信息 您也可以通过
SQL
Server
社区从其他人或直接从 Microsoft 支持人员处获取帮助。有关详细信息,请参阅
SQL
Server
Express 联机丛书中的“获取
SQL
Server
Express 帮助”。 [顶部] 4.6 新闻组支持 有关新闻组支持的信息,请从此 Microsoft 网站访问
SQL
Server
Express 新闻组。请不要使用其他 Microsoft 新闻组张贴有关
SQL
Server
Express 的问题。 可在
SQL
Server
Express 网站日志中找到来自
SQL
Server
Express 小组的最新信息。 注意: 仅支持英语版的新闻组。 [顶部] 4.7 提供有关
SQL
Server
Express 的反馈 可通过下列方式提供有关
SQL
Server
Express 的建议和错误报告: 在此 Microsoft 网站发送有关
SQL
Server
Express 的功能和用户界面的建议和错误报告。 使用
SQL
Server
Express 联机丛书中的反馈功能发送有关文档的建议以及报告其中不正确的内容。 选择自动将错误报告和功能使用情况数据发送给 Microsoft 进行分析。 有关详细信息,请参阅
SQL
Server
联机丛书中的“提供有关
SQL
Server
2005 的反馈”。 [顶部] 5.0 数据库引擎 本部分说明
SQL
Server
2005 数据库引擎和数据库引擎特定的命令提示实用工具的最新项,这些最新项也应用于
SQL
Server
Express。 [顶部] 5.1 在 Windows
Server
2003 SP1 中运行时连接可能会被强行关闭 如果 TCP/IP 网络处于打开状态,则指向 Windows
Server
2003 Service Pack 1 中运行的
SQL
Server
Express 数据库引擎实例的客户端连接可能会失败,并出现以下错误:“提供程序号: 7,错误: 10054,错误消息:‘TCP 提供程序: 现有连接被远程主机强行关闭’”。 如果要通过大量客户端连接尝试来测试可伸缩性,则可能会出现此错误。若要解决此问题,请使用 regedit.exe 实用工具将名为 SynAttackProtect 的新 DWORD 值添加到注册表项 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\(值数据为 00000000)中。 安全说明: 设置此注册表项可能会使
服务
器受到 SYN Flood 拒绝
服务
攻击。测试完成时,请删除该注册表值。 注意: 如果注册表编辑不当,可能会导致严重问题并可能需要重新安装操作系统。Microsoft 不保证可以解决因注册表编辑不当而导致的问题。在编辑注册表之前,请备份所有重要数据。有关如何备份、恢复和编辑注册表的信息,请参阅 Microsoft 知识库文章 256986。 [顶部] 5.2 安全的 Service Broker 对话需要数据库主密钥
SQL
Server
2005 联机丛书错误地说明了当跨数据库使用对话安全设置进行会话时,
SQL
Server
会创建通过数据库主密钥加密的会话密钥。实际上,对于所有使用对话安全设置进行的会话而言,会话密钥均通过数据库主密钥进行加密。如果数据库主密钥不可用,则在创建数据库主密钥或会话超时之前,会话的消息将一直保留在 transmission_queue 中并出现错误。您可以使用 ENCRYPTION = OFF 参数创建未加密的对话,也可以使用以下命令创建数据库主密钥: CREATE MASTER KEY ENCRYPTION BY PASSWORD = '' [顶部] 5.3 公共语言运行时用户定义类型应只有一个序列化 每个字节顺序的用户定义类型 (UDT) 对象的实例只能有一种序列化表示形式。如果序列化或反序列化例程识别出某个特定对象具有多种表示形式,则可能会在下列情况下出现错误: 在验证通过 RPC 传递的字节顺序的 UDT 期间,UDT 验证执行 UDT 的反序列化/重新序列化,并要求生成的字节与原始字节完全相同。如果验证失败,则会出现错误:“System.Data.
Sql
Client.
Sql
Exception,传入的 TDS RPC 协议流不正确。参数 1 (""):提供的值不是数据类型 的有效实例。请检查源数据中的无效值。” 在 DBCC 期间,字节顺序的 UDT 列中存储的字节数必须等于计算的 UDT 值序列化。如果不相等,则 DBCC CHECKTABLE 例程将会报告一致性错误。 [顶部] 5.4 尚未通过设置启用网络连接 为了提高安全性,
SQL
Server
Express 针对某些新安装禁用了网络连接。如果您使用的是
SQL
Server
Enterprise Edition、Standard Edition 或 Workgroup Edition,或计算机上已经安装有
SQL
Server
,则不会禁用使用 TCP/IP 协议的网络连接。除非计算机上已经安装有
SQL
Server
,否则 Named Pipes 连接仅适用于本地连接。对于所有安装,都会启用 Shared Memory 协议,以允许
服务
器的本地连接。根据具体的安装条件和安装选项,可能会停止
SQL
Browser
服务
。 [顶部] 5.5 包含用户定义类型的程序集注意事项 下列限制适用于包含用户定义类型的公共语言运行时 (CLR) 程序集。 公共语言运行时用户定义类型只能有一个序列化 字节顺序的用户定义类型对象的各个实例只能有一种序列化表示形式。如果序列化或反序列化例程检测到某个特定对象具有多种表示形式,则在以下情况下可能会显示错误: 在验证通过 RPC 传递的字节顺序的用户定义类型的过程中,用户定义类型验证过程会对该用户定义类型执行反序列化/重新序列化,并要求生成的字节与原始字节完全相同。如果验证失败,您将看到以下错误:“System.Data.
Sql
Client.
Sql
Exception,传入的 TDS RPC 协议流不正确。参数 1 (""): 提供的值不是数据类型 的有效实例。请检查源数据中的无效值。” 在 DBCC CHECKTABLE 过程中,在字节顺序的用户定义类型列中存储的字节必须与计算出的 UDT 值的序列化表示形式相同。如果不相同,则 DBCC CHECKTABLE 例程将报告一个一致性错误。 有关更新带有用户定义类型类的程序集的已更新的限制 可以按下列方式使用 ALTER ASSEMBLY 更新 CLR 用户定义类型: 修改用户定义类型类的公共方法,但不更改签名或属性。 添加新的公共方法。 以任何方式修改私有方法。 使用 ALTER ASSEMBLY 不能更改本机序列化的用户定义类型中包含的字段,包括数据成员和基类。不支持所有其他更改。 [顶部] 5.6
SQL
Server
不保证更新程序集时的数据一致性 如未指定 WITH UNCHECKED DATA,则在新的程序集版本对表、索引或其他持久站点中的现有数据产生影响时,
SQL
Server
将会阻止执行 ALTER ASSEMBLY。更新公共语言运行时 (CLR) 程序集时,
SQL
Server
并不保证计算列、索引、索引视图或表达式与基础例程和类型保持一致。执行 ALTER ASSEMBLY 时需谨慎操作,以确保在表达式结果和基于存储在程序集中的该表达式的值之间没有不匹配。 [顶部] 5.7 卷影复制
服务
的快照自动恢复功能的注意事项 卷影复制
服务
(VSS) 的快照自动恢复功能具有下列限制。 多个持续自动恢复的快照 在 Windows
Server
2003 Service Pack 1 (SP1) 和更高版本中,您只能创建单个持续自动恢复的快照。若要创建其他快照,您必须首先应用知识库文章 891957 中所述的更新。 注意: 如果尚未应用此更新,则可以通过以下方式创建新的持续自动恢复的快照:首先删除现有的持续自动恢复的快照,然后创建一个新的持续自动恢复的快照。 自动恢复的快照和全文目录 快照自动恢复功能不支持全文目录。创建自动恢复的快照之后,在该快照中,数据库中的所有全文目录都将处于脱机状态。在从快照中附加数据库时,全文目录会永久保持脱机状态。但附加的数据库中的其他所有数据均可用。 在从自动恢复的快照中直接附加包含全文目录的数据库时,附加操作将返回以下错误消息:
Server
: Msg 7608, Level 17, State 1, Line 1 An unknown full-text failure (0xc000000d) occurred during "Mounting a full-text catalog". 如果不需要直接从快照中附加数据库,则可以通过如下方式来避免此问题:先将快照中的数据库文件和全文目录复制到基于驱动器号的常规卷中,然后从该位置附加数据库。只要附加命令指定了所复制的全文文件的正确位置,即可正常使用这些全文目录。 [顶部] 5.8 注册公共语言运行时程序集的限制
SQL
Server
不允许使用相同的名称、区域性和公钥注册程序集的不同版本。如果计划保留九月份 CTP 版本之前的
SQL
Server
Express 版本中的数据库,则在安装该版本之前,必须删除具有多个注册的程序集的所有其他实例,只保留一个实例。 [顶部] 5.9 创建 EXTERNAL_ACCESS 和 UNSAFE 程序集 若要在
SQL
Server
中创建 EXTERNAL_ACCESS 或 UNSAFE 程序集或者要加载程序集,必须满足下列两个条件之一: 程序集经过强名称签名或使用证书进行了 authenticode 签名。此强名称(或证书)在
SQL
Server
中作为非对称密钥(或证书)创建,并具有相应的登录名,该登录名具有 EXTERNAL ACCESS ASSEMBLY 权限(对于 EXTERNAL ACCESS 程序集)或 UNSAFE ASSEMBLY 权限(对于 UNSAFE 程序集)。 数据库所有者 (DBO) 具有 EXTERNAL ACCESS ASSEMBLY(对于 EXTERNAL ACCESS 程序集)或 UNSAFE ASSEMBLY(对于 UNSAFE 程序集)权限,并且该数据库的 TRUSTWORTHY 属性设置为 ON。 除了要在
服务
器进程中运行公共语言运行时 (CLR)
代码
之外,建议始终将数据库的 TRUSTWORTHY 属性设置为 ON。并且建议通过 master 数据库中的程序集文件创建非对称密钥。然后,必须创建映射到此非对称密钥的登录名,并且为该登录名授予 EXTERNAL ACCESS ASSEMBLY 或 UNSAFE ASSEMBLY 权限。 下面的 Transact-
SQL
语句将执行完成下列操作所需的步骤:创建非对称密钥,将一个登录名映射到此密钥,然后为该登录名授予 EXTERNAL_ACCESS ASSEMBLY 权限。必须在执行 CREATE ASSEMBLY 语句之前执行下面的 Transact-
SQL
语句: USE master GO CREATE ASYMMETRIC KEY HelloWorldKey FROM EXECUTABLE FILE = 'C:\HelloWorld.dll' CREATE LOGIN HelloWorldLogin FROM ASYMMETRIC KEY HelloWorldKey GRANT EXTERNAL ACCESS ASSEMBLY TO HelloWorldLogin GO [顶部] 5.10 应用程序角色与元数据可见性限制以及动态管理视图的兼容性 在某个应用程序角色下运行的程序的行为可能会发生更改,因为在默认情况下,
SQL
Server
Express 将限制 master 数据库元数据对于应用程序角色的可见性。作为临时解决方法,您可以启用跟踪标志 #4616。有关详细信息,请参阅知识库文章 906549。 [顶部] 5.11 未实现 SUPPLEMENTAL_LOGGING 数据库选项 在此版本的
SQL
Server
中未实现 SUPPLEMENTAL_LOGGING 数据库选项。此选项可以设置,但不起任何作用。 [顶部] 5.12 sys.dm_clr_loaded_assemblies 显示无法加载的程序集 由于任何原因未能加载到
服务
器地址空间中的程序集仍将显示在 sys.dm_clr_loaded_assemblies 动态管理视图中。 [顶部] 5.13 XQuery 更改 联机丛书中未说明
SQL
Server
Express XQuery 实现的以下几个方面: 没有将 CDATA 部分生成的字符视为空格字符。例如,select cast(''as xml).query(' <![CDATA[ ]]> {"abc"}') 返回 abc。 支持构造空元素和空属性。 命名空间前缀 xmlns 用于标识命名空间声明属性,不能在 XQuery 表达式中重新声明。这是 XQuery 规范要求的行为。 将“for”与源表达式 () 一起使用会生成一个静态的错误。 在使用 xml 数据类型的 query() 方法构造的 XML 文档中,CDATA 部分中的回车符变为换行符。为了进行文本 XML 分析,使用换行符代替之前的回车符实体引用 ( )。 包含 local-name() 和 namespace-uri() 的 Transact-
SQL
用户定义函数为确定性函数。 [顶部] 5.14 xsd:dateTime 转换的限制比所述限制更少 不包含日期和时间分隔符 T 或时区的 xs:dateTime 值的字符串表示可以在 value() 方法中转换为
SQL
datetime 类型,如以下示例所示: declare @aaa xml set @aaa = '' select @aaa.value('(//AAA)[1]/@MyDate', 'datetime') [顶部] 5.15 XML 架构支持
SQL
Server
2005 联机丛书中未说明
SQL
Server
2005 对 XML 架构以下几个方面的支持: 可以将 Reporting Services (RDL) 的 XML 架构加载到 XML 架构集合中。 如果 xs:dateTime 和 xs:time 类型的值包含具有三个以上小数位数的副值,则这些值不会返回错误,而是会被进行舍入。 当基类型具有 fixed="true" 时,如果在派生类型中重新定义 maxInclusive,便会拒绝使用 XML 架构。 限制 xs:dateTime、xs:data 和 xs:time 等数据类型的派生类型将忽略 minInclusive、minExclusive、maxInclusive 和 maxExclusive 部分的尾随空格。 [顶部] 5.16 不应使用 RC4 加密 请勿使用 RC4 加密保护
SQL
Server
2005 中的数据,而改为使用分组密码,如 AES 256 或 Triple DES。 [顶部] 6.0 复制 本部分介绍了有关复制的最新信息。 [顶部] 默认情况下禁用复制功能 Microsoft
SQL
Server
2005 Express Edition 可以用作所有复制类型的订阅
服务
器,但是默认情况下不会为此版本安装复制功能。 若要安装复制组件,请执行下列操作: 在“功能选择”页中,展开“数据库
服务
”。 单击“复制”,再单击“整个功能将被安装在本地硬盘上”。 若要安装连接组件和复制管理对象 (RMO),请执行下列操作: 在“功能选择”页中,单击“客户端组件”,再单击“整个功能将被安装在本地硬盘上”。 [顶部] © 2005 Microsoft Corporation。保留所有权利。
疑难问题
22,297
社区成员
121,740
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章