我在一家新商店,以下错误开始在 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 开发者不应该使用 C 风格的注释。
C 风格注释的问题是,它们不嵌套。
C 样式注释是支持的救命稻草之一,当它们必须在存储过程中进行一些临时更正时,但只有当它们不必与现有的 C 注释抗争时,才能很好地工作。
在使用 SQL Server 2008 R2 作为后端的 Web 应用程序中,我有几个字段,如果存在,将 WHERE 子句添加到查询中。
如果我将所有查询生成为 like 子句,例如:
AND Uri LIKE @Uri
如果Uri包含 no %,优化器是否足够聪明以将其视为WHERE Uri = @Uri或我必须处理该应用程序端?
我意识到优化器总有一天会从我手下变出来,这有点草率,但我仍然很好奇。
我做了一个一次性测试,似乎表明>= ... <=条件可能是这种情况:

对比 凡条款:

因此,它们都在该人为索引上触发索引搜索。是>= ... <=同=在这种情况下,并且将这个总是发生?
我刚刚开始了一份新的 dba 工作,并获得了一台新服务器,并被告知将所有内容从旧服务器迁移到新服务器、全新的 Windows 和 SQL Server 安装。我知道我必须传输用户数据库、登录名、SSIS 包和维护计划。
谢谢你的帮助。
我不认为“只是为了确保脚本不需要 sqlcmd-mode”是一个正当理由。
在向我的同事发出启用此设置的命令之前需要考虑什么?
我正在为我的一个销售团队设计一个数据库。现在,目标是获取客户及其邮寄地址的主列表,但数据库最终会扩展以跟踪其他一些客户数据。所以,现在我只是在客户表上工作,但我想确保我遵循良好的规范化和效率准则,以防这件事超出了当前的预期。
目前,我们有大约 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 并将城市/州保留在客户表中以避免某些连接?
谢谢您的帮助!如果您需要任何其他详细信息,请告诉我。
为什么我的数据库需要有一个主键才能正常运行?在我阅读的每个教程中,您都需要将 id 键设为主键。主键的作用与常规单元格有何不同?
我希望一台服务器将数据库迁移到另一台服务器。在另一个服务器上的数据库已经存在,然后是所有的表,但它们是空的,我想填充。对于填充,我想使用 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 实例,其中大多数使用 SQL Server 镜像来复制数据以用于 DR 目的。
我会自动为镜像编写登录、角色和作业的脚本,在发生故障转移时,我们实际上需要运行一个脚本来使镜像联机、应用登录、应用滚动和作业,然后它们就会消失(给予或采取一些不匹配的 SID 和通常的小问题)。
现在,我已经记录了这个故障转移过程,以防万一发生故障时我不在现场;然而,管理层认为这个过程过于复杂,并一直试图推动诸如DoubleTake等可以进行实例级复制的3rd方复制产品。
(公司不想在实例级别使用集群,因为共享存储将成为单点故障——他们不愿意购买多个复制 SAN。)
我们拥有从几兆到 200GB+ 的数据库。
以这种方式,DoubleTake 对于 DR 真的实用吗?我可以相信数据会在主要和次要之间保持最新吗?(正是出于这个原因,我们运行高安全模式镜像。)
我在论坛上读过很多意见,但总是有偏见或未经证实;我对这些产品有一些第一手的经验。
我刚刚进入 MySQL,所以如果这是一个基本问题,请原谅我。对于我的应用程序,我需要将我的数据库从 SQL Server 2008 R2迁移到 MySQL。
是否有任何机制或技术或建议或技巧或魔术来进行迁移?
sql-server ×5
migration ×3
primary-key ×2
bcp ×1
mirroring ×1
mysql ×1
optimization ×1
sqlcmd ×1
ssis ×1
ssms ×1
style ×1