标签: sql-server-2008

根据业务逻辑拆分表

这主要是一个设计问题,我正在寻找有关此方法优缺点的任何反馈。

通常,我将数据库设计分为两类,业务逻辑和记录数据。业务逻辑是那些为记录的数据带来意义的东西。例如,PartSerialNumber 是有意义的,因为我们有带有序列号的部件。

所以我会创建一个像......

CREATE TABLE PartsTable
{
    PartID INT, -- NOT NULL IDENTITY PK...
    PartSerialNumber VARCHAR(20), -- NOT NULL
    CreateDate DATE, -- NOT NULL, maybe default
    -- other stuff related to the specific part
}

 -- this is a business logic table, the codes have meaning to the business
CREATE TABLE ErrorCodes
{
    ErrorCode VARCHAR(5), -- NOT NULL, PK
    ErrorDescription VARCHAR(MAX),
    -- OTHER STUFF FOR THE ERROR CODES
}
Run Code Online (Sandbox Code Playgroud)

然后我们有一个日志系统来捕捉错误,

CREATE TABLE PartErrors
{
    PartID INT , -- NOT …
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 database-design

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

SQL代码性能

  1. 根据执行计划,你知道这个sql代码是否有效的衡量标准是什么?

  2. 根据执行计划如何知道这个sql代码是否高效?

图片1


图2


图3

SELECT [CustomerID], [CompanyName], [City], [Region]
FROM [Northwind].[dbo].[Customers] 
WHERE [Country] = 'Germany'
ORDER BY [CompanyName]

SELECT [CustomerID], [CompanyName], [City], [Region]
FROM [Northwind].[dbo].[Customers] 
WHERE [Country] = 'Germany'
Run Code Online (Sandbox Code Playgroud)

performance index sql-server-2008 execution-plan query-performance

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

在安静模式下安装 SQL Server 2008 Express Edition 问题?

我想在安静模式下安装 SQL Server Express 2008。

我知道我们可以使用/ConfigurationFile="ConfigurationFile.INI"参数从配置文件安装 SQL Server。

以下是我的Configuration.ini文件:

;SQLSERVER2008 Configuration File
[SQLSERVER2008]

; Specify the Instance ID for the SQL Server features you have specified. SQL Server directory structure, registry structure, and service names will reflect the instance ID of the SQL Server instance. 
INSTANCEID="SQLEXPRESS"

; Specifies a Setup work flow, like INSTALL, UNINSTALL, or UPGRADE. This is a required parameter. 
ACTION="Install"

;License Terms
IACCEPTSQLSERVERLICENSETERMS = "True"

; Specifies features to install, uninstall, or upgrade. …
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 sql-server installation sql-server-express

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

无法将 yyyymmdd 转换为 yyyy-mm-dd - 算术溢出错误

我正在尝试做一些非常简单的事情,但我不明白为什么它不起作用。

我有一个列(sysjobschedules.next_run_datefrom msdb),它是一个格式类似于 yyyymmdd 的 varchar。我想将其转换为日期时间。我使用了相当直接的命令,CONVERT(datetime,next_run_date,112)但我不断收到错误算术溢出错误将表达式转换为数据类型日期时间。

此列中的三个不同值是 20120802、20120803 和 20120806。使用上述相同的函数,我能够成功转换所有三个字符串。

我觉得我一定错过了一些明显的东西......?

sql-server-2008

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

由于附加备份,数据库太大

我的数据库 MDF 文件大约为 600mb。LDF 文件大小为 147MB。

我严重怀疑它应该在这附近的任何地方。

我怀疑这是因为我的主机已经备份了数据库并选中了“附加到现有备份集”选项。

如何将数据库缩小到较小的大小?我的主机已将.bak文件发送给我,我已将其恢复。

还有一种方法可以检查数据库是否真的有这么大,即是否在导致大尺寸的数据中?

sql-server-2008 ssms

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

如何以日期时间数据类型获取今天的最后日期?

选择 dateadd(s, -1, dateadd(month, datediff(month, 0, getdate())+1,0))

当我执行此查询时,它给出了“2012-01-30 23:59:59.000”。我不知道如何将其设为“2012-01-30 23:59:59.997”。如果有人知道,请说。

感谢您!!!

sql-server-2005 sql-server-2008 sql-server t-sql datetime

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

mdf,ldf 文件附加问题?

我在本地系统上创建了一个数据库。考虑数据库名称是 test。该数据库的主要文件是 test.mdf、test_log.ldf。并且也包含 ndf 文件。

然后我停止了 sql server 服务。然后将这些主文件复制到另一台服务器机器* (不是 ndf 文件)。*

现在我必须在该服务器计算机上创建一个数据库“test1”,并且必须附加这些 test.mdf 和 test_log.ldf 文件。

在主数据库上创建数据库 test1 ( file name='C:\test.mdf'), ( file name='C:\test_log.ldf') 用​​于附加 go

这个查询在服务器机器上执行。它说错误为 """ Msg 5120, Level 16, State 5, Line 1 Unable to open the physical file "D:\data\ExistTable\FG1_lt_4000.ndf". 操作系统错误 2: "2(系统找不到指定的文件。)”。

消息 5120,级别 16,状态 5,第 1 行无法打开物理文件“D:\data\ExistTable\FG2_4000_8000.ndf”。操作系统错误 2:“2(系统找不到指定的文件。)”。

消息 5120,级别 16,状态 5,第 1 行无法打开物理文件“D:\data\ExistTable\FG3_8000_inf.ndf”。操作系统错误 2:“2(系统找不到指定的文件。)”。

消息 1813,级别 16,状态 2,第 1 行无法打开新数据库“测试”。CREATE DATABASE 已中止。"""

现在该怎么办???

sql-server-2005 sql-server-2008 sql-server

1
推荐指数
2
解决办法
7679
查看次数

任何版本 2008 r2 express 版本的 SQL SERVER 安装错误

从昨天开始我就在为这个错误而苦苦挣扎,首先我的 SSMS 由于某种原因过期了,我无法让它工作。我无法卸载与 SQL Server 相关的所有软件及其共享组件,我成功删除了它,并且在重新安装 MS Sql server 2008 r2 express 和 SSMS 后遇到了同样的错误,您的试用版已过期。

最后,当我按照其中一篇文章的建议使用 CClearner 删除它时,我通过强制 MS SQL SERVER 及其组件搞砸了一切。

现在我无法安装任何版本的 MS SQL Server,无论是 SQL Server 2008、MS SQL SERVER 2008 Express 还是 MS SQL SERVER 2008 Re Express 版本,我都收到以下所有版本的消息,如下图所示\

在此处输入图片说明

我不知道该怎么做,要么重新安装 Windows 7,要么尝试进一步搜索我更喜欢的解决方案,因为我的系统上安装了多个软件,并且安装所有软件需要一天左右的时间。

我很感激这方面的帮助

在文件夹下记录错误报告器 C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log

摘要.txt

Overall summary:
  Final result:                  SQL Server installation failed. To continue, investigate the reason for the failure, correct the problem, uninstall SQL Server, and then rerun SQL Server Setup. …
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 sql-server-2008-r2 installation

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

SQL 2008 RTM 临时表

今天我使用 Cacti 在我们的 SQL 服务器上实现了一个监控解决方案,我注意到的第一件事是临时表的数量增加了,在我们的测试系统上仅仅 3 小时内,我们在临时数据库中增加了 300 多个临时表。我还注意到 SQL Server 在这 3 小时内的内存增长是巨大的 - 3 小时后使用了 15 GB。

当我运行 SP_WHO 时,只有 3-4 个用户在测试系统上进行测试,并且向应用程序打开了大约 5 个连接。

什么可能导致这种情况?我对临时数据库中的对象进行了查询,所有名称都与 #XXXXXXXXX 类似,我在某处读到这些来自表变量(声明 @myTable...)

有什么方法可以检查为什么我们的临时表数量会增加以及是什么原因造成的?在此阶段的任何帮助将不胜感激。

我明天将安装 2008 年的服务包,希望能解决问题。

sql-server-2008 tempdb temporary-tables

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

如何检查列中的空值?并使用其他列代替?

我将如何编写涉及以下检查的查询:

如果colA为空则colB = colB1 + colB2

如果colA不为空那么colB = colA

sql-server-2008

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