小编Nic*_*mas的帖子

SQL Server 代理错误

我在一家新商店,以下错误开始在 2/22 反复出现,直到 3/7。

Event Type: Error
Event Source:   SQLSERVERAGENT
Event Category: Alert Engine 
Event ID:   318
Description:
Unable to read local eventlog (reason: The event log file is corrupted).

Event Type: Information
Event Source:   SQLSERVERAGENT
Event Category: Alert Engine 
Event ID:   311
Date:       2/22/2011
Time:       6:52:44 AM
User:       N/A
Computer:   XXXXXXX
Description:
Attempting to re-open the local eventlog...

Event Type: Warning
Event Source:   SQLSERVERAGENT
Event Category: Alert Engine 
Event ID:   312
Description:
Successfully re-opened the local eventlog - NOTE: …
Run Code Online (Sandbox Code Playgroud)

sql-server-2005 sql-server-agent

5
推荐指数
1
解决办法
1769
查看次数

是否有其他站点禁止 SQL 开发人员使用 c 样式注释?

我个人的观点是,sql 开发者不应该使用 C 风格的注释。

C 风格注释的问题是,它们不嵌套。

C 样式注释是支持的救命稻草之一,当它们必须在存储过程中进行一些临时更正时,但只有当它们不必与现有的 C 注释抗争时,才能很好地工作。

style

5
推荐指数
1
解决办法
248
查看次数

SQL Server 无通配符 LIKE 优化

在使用 SQL Server 2008 R2 作为后端的 Web 应用程序中,我有几个字段,如果存在,将 WHERE 子句添加到查询中。

如果我将所有查询生成为 like 子句,例如:

AND Uri LIKE @Uri

如果Uri包含 no %,优化器是否足够聪明以将其视为WHERE Uri = @Uri或我必须处理该应用程序端?

我意识到优化器总有一天会从我手下变出来,这有点草率,但我仍然很好奇。

示例计划

我做了一个一次性测试,似乎表明>= ... <=条件可能是这种情况:

在此处输入图片说明

对比 凡条款:

在此处输入图片说明

因此,它们都在该人为索引上触发索引搜索。是>= ... <==在这种情况下,并且将这个总是发生?

sql-server-2008 sql-server optimization

5
推荐指数
1
解决办法
2083
查看次数

从一个 SQL Server 2008 R2 实例迁移到另一个

我刚刚开始了一份新的 dba 工作,并获得了一台新服务器,并被告知将所有内容从旧服务器迁移到新服务器、全新的 Windows 和 SQL Server 安装。我知道我必须传输用户数据库、登录名、SSIS 包和维护计划。

  1. 还有什么我应该注意的移动。两个实例都是 SQL Server 2008 R2。
  2. 除了编写每个维护计划的脚本并将它们应用到新服务器之外,是否有更简单的方法来移动维护计划?

谢谢你的帮助。

migration ssis sql-server-2008-r2

5
推荐指数
1
解决办法
1万
查看次数

是否有任何原因不在 SSMS 中默认启用 SQLCMD 模式?

我不认为“只是为了确保脚本不需要 sqlcmd-mode”是一个正当理由。

在向我的同事发出启用此设置的命令之前需要考虑什么?

sql-server ssms sqlcmd

5
推荐指数
1
解决办法
1689
查看次数

使用我的客户代码作为主键的利弊是什么?

我正在为我的一个销售团队设计一个数据库。现在,目标是获取客户及其邮寄地址的主列表,但数据库最终会扩展以跟踪其他一些客户数据。所以,现在我只是在客户表上工作,但我想确保我遵循良好的规范化和效率准则,以防这件事超出了当前的预期。

目前,我们有大约 3,000 名客户。因此,我们有用于识别客户的客户代码。每个最多 20 个字符,是字母数字,并且对于每个客户始终是唯一的(Foo, Inc. 可能有 FOOINC 的客户代码,可能有 25 个子帐户,但只有一个 FOOINC 主实体。如果我们曾经与另一家名为 Foo Technologies Inc 的公司合作,我们会创建一个新代码,例如 FOOTECH 或其他东西)。

我不是 DBA,但过去设计了几个 DB,并且传统上使用 SQL 标识字段作为 PK。在这种情况下,我一直在考虑使用客户代码。这样做的利弊是什么?一方面,如果我有唯一标识符,那么使用唯一标识符作为 PK 似乎是合乎逻辑的,我就是这样做的。另一方面,我知道字符串 PK 比 int PK 慢——这个数据库肯定会增长,但它永远不会有数百万行。3,000 名客户的业务已经超过 7 年,因此我们甚至需要很长时间才能达到数万行。

我研究过这个问题,辩论通常以“这取决于数据”结束——所以请教我......在这种情况下,你在规划表格时会考虑什么?你会用什么来PK?无论如何,在那里粘贴自动递增的 INT 有什么好处?索引和插入记录有什么问题吗?

仅供参考,表格布局只需要以下内容:

-CustomerCode(nvarchar(20))
-CustomerName(nvarchar(50))
-Address1(nvarchar(50))
-Address2(nvarchar(50)) - nullable
-Address3(nvarchar(50)) - nullable
-ZipCode (nvarchar(9))
Run Code Online (Sandbox Code Playgroud)

额外的问题 - 是否值得坚持使用 3NF 并制作一个单独的表来保存城市、州、邮政编码作为 PK 并与客户表建立关系?或者不用担心 3NF 并将城市/州保留在客户表中以避免某些连接?

谢谢您的帮助!如果您需要任何其他详细信息,请告诉我。

normalization database-design sql-server primary-key

5
推荐指数
1
解决办法
1861
查看次数

主键的意义是什么?

为什么我的数据库需要有一个主键才能正常运行?在我阅读的每个教程中,您都需要将 id 键设为主键。主键的作用与常规单元格有何不同?

database-design primary-key auto-increment

5
推荐指数
1
解决办法
5835
查看次数

bcp 数据库迁移

我希望一台服务器将数据库迁移到另一台服务器。在另一个服务器上的数据库已经存在,然后是所有的表,但它们是空的,我想填充。对于填充,我想使用 bcp - 数据库迁移。在命令行中,我写了以下内容:

bcp [dbo].[aspnet_Profile] in "c:\SQLAzureMW\BCPData\dbo.aspnet_Profile.dat" -E -n -b 10000 -a 16384 -S servername.database.windows.net -U username@servername -P "password" -d databasename!
Run Code Online (Sandbox Code Playgroud)

用户名和服务器名密码写正确。

当我运行时,我收到此错误: 在此处输入图片说明 错误 = 服务器不支持数据包大小更改,默认使用。

然后我将数据包大小固定为默认大小。我删除了“-a”。

bcp [dbo].[aspnet_Profile] in "c:\SQLAzureMW\BCPData\dbo.aspnet_Profile.dat" -E -n -b 10000 -S servername.database.windows.net -U username@servername -P "password" -d databasename!
Run Code Online (Sandbox Code Playgroud)

然后我收到以下错误: 在此处输入图片说明

谁能告诉我应该怎么做,或者有什么好的方法来移动数据库?我还使用了 SQL Azure 迁移向导,但它对我没有帮助。

sql-server migration bcp

5
推荐指数
1
解决办法
549
查看次数

SQL Server 镜像与 3rd 方复制产品(如 DoubleTake)

我负责管理多个 SQL Server 实例,其中大多数使用 SQL Server 镜像来复制数据以用于 DR 目的。

我会自动为镜像编写登录、角色和作业的脚本,在发生故障转移时,我们实际上需要运行一个脚本来使镜像联机、应用登录、应用滚动和作业,然后它们就会消失(给予或采取一些不匹配的 SID 和通常的小问题)。

现在,我已经记录了这个故障转移过程,以防万一发生故障时我不在现场;然而,管理层认为这个过程过于复杂,并一直试图推动诸如DoubleTake等可以进行实例级复制的3rd方复制产品。

(公司不想在实例级别使用集群,因为共享存储将成为单点故障——他们不愿意购买多个复制 SAN。)

我们拥有从几兆到 200GB+ 的数据库。

以这种方式,DoubleTake 对于 DR 真的实用吗?我可以相信数据会在主要和次要之间保持最新吗?(正是出于这个原因,我们运行高安全模式镜像。)

我在论坛上读过很多意见,但总是有偏见或未经证实;我对这些产品有一些第一手的经验。

sql-server-2008 mirroring

5
推荐指数
1
解决办法
3775
查看次数

如何将数据库从 SQL Server 2008 迁移到 MySQL?

我刚刚进入 MySQL,所以如果这是一个基本问题,请原谅我。对于我的应用程序,我需要将我的数据库从 SQL Server 2008 R2迁移到 MySQL

是否有任何机制或技术或建议或技巧或魔术来进行迁移?

mysql sql-server migration sql-server-2008-r2

5
推荐指数
1
解决办法
1328
查看次数