问题标签 [sql-server-2005]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
11 回答
74334 浏览

sql-server - 为什么在 SQL Server 中使用游标被认为是不好的做法?

早在 SQL 7 天我就知道一些性能原因,但是在 SQL Server 2005 中是否仍然存在相同的问题?如果我在存储过程中有一个我想单独操作的结果集,那么游标仍然是一个糟糕的选择吗?如果是这样,为什么?

0 投票
11 回答
2323 浏览

sql - 将关系数据从数据库复制到数据库

编辑:让我完全改写一下,因为我不确定是否有像我最初描述的那样的 XML 方式。

另一个编辑:这需要是一个可重复的过程,并且必须能够以可以在 C# 代码中调用的方式进行设置。

在数据库 A 中,我有一组表,由 PK 和 FK 相关。比方说,一个带有子表和孙表的父表。

我想将一组行从数据库 A 复制到数据库 B,该数据库具有相同名称的表和字段。对于每个表,我想插入到数据库 B 中的同一个表中。但我不能被限制使用相同的主键。 复制例程必须为数据库 B 中的每一行创建新的 PK,并且必须将它们传播到子行。换句话说,我在数据之间保持相同的关系,但不是完全相同的 PK 和 FK。

你会如何解决这个问题?我愿意接受建议。SSIS 没有被完全排除,但在我看来它不会做这个确切的事情。我也对 LINQ 中的解决方案持开放态度,或者使用类型化的数据集,或者使用一些 XML 的东西,或者任何可以在 SQL Server 2005 和/或 C# (.NET 3.5) 中工作的东西。最好的解决方案不需要 SSIS,也不需要编写大量代码。但我承认,这种“最佳”解决方案可能不存在。

(我没有自己完成这项任务,也没有限制;这就是给我的方式。)

0 投票
3 回答
2160 浏览

asp.net - SQL Server 2005 加密、asp.net 和存储过程

我需要使用 SQL Server 2005、asp.net 和 ado.net 编写一个 Web 应用程序。此应用程序中存储的大部分用户数据都必须加密(读取 HIPAA)。

过去对于需要加密的项目,我在应用程序代码中加密/解密。但是,这通常用于加密密码或信用卡信息,因此在几个表中只有少数列。对于这个应用程序,多个表中的更多列需要加密,因此我怀疑将加密职责推入数据层会更好,特别是考虑到 SQL Server 2005 对多种加密类型的本机支持。(如果有人有真实的经验证据,我可能会被说服。)

我咨询过 BOL,我相当擅长使用 google。所以我不想要在线文章或 MSDN 文档的链接(我可能已经阅读过它)。

到目前为止,我已经想到的一种方法是使用使用证书打开的对称密钥。

所以一次性设置步骤是(理论上由 DBA 执行):

  1. 创建主密钥
  2. 将主密钥备份到文件,刻录到 CD 并在异地存储。
  3. 打开主密钥并创建证书。
  4. 将证书备份到文件,刻录到 CD 并异地存储。
  5. 使用证书创建具有所选加密算法的对称密钥。

然后,每当存储过程(或通过 Management Studio 的人类用户)需要访问加密数据时,您必须首先打开对称密钥,执行任何 tsql 语句或批处理,然后关闭对称密钥。

然后就 asp.net 应用程序而言,在我的例子中是应用程序代码的数据访问层,数据加密是完全透明的。

所以我的问题是:

  1. 我是否要打开、执行 tsql 语句/批处理,然后关闭存储过程中的所有对称密钥?我看到的危险是,如果 tsql 执行出现问题怎么办,并且代码 sproc 执行永远不会到达关闭密钥的语句。我假设这意味着密钥将保持打开状态,直到 sql 杀死 sproc 执行的 SPID。

  2. 我是否应该考虑对我需要执行的任何给定过程进行三个数据库调用(仅在需要加密时)?一次数据库调用打开密钥,第二次调用执行存储过程,第三次调用关闭密钥。(每个调用都包含在自己的 try catch 循环中,以最大化打开密钥最终关闭的几率。)

  3. 我需要使用客户端事务(意味着我的代码是客户端,并启动事务,执行几个 sproc,然后假设成功提交事务)有什么注意事项吗?

0 投票
9 回答
110233 浏览

sql-server - Microsoft SQL Server 2005 服务无法启动

我已经尝试安装 Ms SQL Server 2005 两个多星期了,我终于达到了所有先决条件似乎都已到位的地步。不幸的是,每次我尝试安装 SQL Server 本身时,都会收到以下消息:

“SQL Server 服务无法启动。有关详细信息,请参阅 SQL Server 联机丛书主题“如何:查看 SQL Server 2005 安装日志文件”和“手动启动 SQL Server”。</p>

然后安装程序“回滚”安装,在安装列表中留下三个已卸载的产品:“SQL Server 数据库服务”、“报告服务”和“工作站组件、联机丛书……”。

有人有想法吗?我无法查看 SQL Server 联机丛书主题,因为它们也没有安装;没有它们我就无法理解日志文件。

谢谢!

0 投票
9 回答
1691 浏览

asp.net - SQL Server 2005 在连接到同一服务器上运行的网站时出现问题

建立与服务器的连接时发生错误。连接到 SQL Server 2005 时,此故障可能是由于在默认设置下 SQL Server 不允许远程连接造成的。(提供者:命名管道提供者,错误:40 - 无法打开与 SQL Server 的连接)

您好,我是在 SQL Server 2005 上开发的新手。我已经使用 SQL Server 2000 工作了几年,但是在完成连接到服务器的常规操作后,我在 Web 服务器上遇到了这个异常。

谷歌上有几个链接指向我可能的解决方案,但它们都没有解决我的问题。我在“Surface Area 不管...”对话框上进行了更改(这到底是什么?为什么 SQL Server 发生了如此大的变化???现在看起来很复杂)。

我已确保正确配置 SQL Server 2005 以允许数据库服务器实例上的传入连接。我还选择了自动作为启动类型,以便在每次系统启动时自动启动 SQL Server Browser 服务。不,没有防火墙在运行。

我尝试更改连接字符串以使用端口进行连接、使用 IP 进行连接、使用实例名称进行连接......

似乎没有任何效果,我仍然遇到同样的错误。有什么提示吗?

回答人们提出的问题:是的,我可以使用 Management Studio 从另一台计算机进行连接。是的,我确定它已配置为接受本地和远程 TCP/IP 以及命名管道。是的,我重新启动了服务器。

我正在使用已启用的混合模式安全性。我已经启用了 sa 用户。我能够使用 .udl 文件连接到数据库,并且我检查了我的连接字符串是否正常。我可以使用 DBArtisan 和 SQL Server 客户端工具连接到数据库。我可以在服务器和不同的机器上做到这一点。即使有这一切...

该网站仍然无法连接。

新更新...我整天都在为这个问题苦苦挣扎,但仍然没有找到原因。我发布的错误消息似乎是.net 在无法连接时给出的一般错误。我在连接字符串上放置了垃圾(键入不存在的服务器),但仍然出现相同的错误。

这些是我在服务器上使用的一些连接字符串:

connectionString="集成安全=SSPI;数据源=SERVER;初始目录=db;网络库=DBMSSOCN;"

connectionString="数据源=SERVER;初始目录=db;用户ID=sa;密码=xxxxx;"

connectionString="数据源=SERVER\MSSQLSERVER;初始目录=db;用户ID=sa;密码=xxxxx;"

我尝试使用一些奇怪的命令注册 sql server 实例,我在这里发现:http: //kb.discountasp.net/article.aspx ?id=1041 为此,我使用了 aspnet_regsql.exe 工具。它仍然无法正常工作...

我也知道服务器上安装了最新版本的 MDAC。我唯一怀疑的是服务器有两个数据库引擎:SERVER 和 server\sqlexpress

这与问题有关吗?

0 投票
6 回答
9136 浏览

sql - 如何强制 sql server 登录的 nolock 提示

有谁知道强制对某个用户发出的所有交易进行 nolock 提示的方法?我想为支持团队提供登录以查询生产系统,但我想通过对他们所做的一切强制执行 nolock 来保护它。我正在使用 SQL Server 2005。

0 投票
3 回答
50604 浏览

sql-server - 如何在 SQL Server 2005 Management Studio 中创建 SQL Server 2005 存储过程模板?

如何在 SQL Server 2005 Management Studio 中创建 SQL Server 2005 存储过程模板?

0 投票
3 回答
298 浏览

sql-server - SQL Server 2005 是否可以扩展到大量数据库?

如果我将 3-400 个数据库添加到单个 SQL Server 实例,我会遇到大量数据库引入的扩展问题吗?

0 投票
2 回答
1856 浏览

sql-server - 任务计划程序问题启动 MSSQLSERVER

我正在尝试创建一个任务计划程序任务来每天早上启动我的 SQL Server 2005 实例,因为每晚都会停止它。这是一个临时解决方案,直到我可以诊断出停机。

我创建了一个任务以在我的管理员用户下运行,并使用参数/c net start mssqlserver启动程序cmd。当我在我的管理员用户下的控制台中手动运行命令时,它会运行,但是当我尝试手动执行任务时,它会记录以下消息,并且服务仍然停止:

操作“C:\Windows\system32\cmd.EXE”,返回码为 2

有什么建议么?

0 投票
1 回答
520 浏览

sql-server-2005 - MS-SQL Server 2005 和 Oracle 中的存储过程

如何将 MS-SQL Server 2005 存储过程转换为 Oracle 存储过程?将每个环境中的相应特征相互对比的图表会很有帮助。