标签: sql-server-2008

创建 USER 和 LOGIN 权限

我应该给用户或角色什么权限,以便它可以在数据库中创建登录或创建用户。

sql-server-2008 security sql-server permissions logins

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

如何仅从周末拉行?

我的表数据是这样的:

ID   Name salary   date
1     a    100     1/08/2014
2     b    200     2/08/2014
.
.
.
.
26     z   2600    26/8/2014
Run Code Online (Sandbox Code Playgroud)

现在我只想返回周六或周日的行,例如:

ID   Name salary   date
2    ------------------------
3     -----------------------
9
10
16
17
23
24
30
31 -------------------------
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 sql-server t-sql

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

SQL Server 中的分页:是否需要 order by 子句?(目前,行被遗漏)

我们有一些代码可以分页查看 SQL 结果。(目前在 SQL Server 2008 上运行)

我们注意到当分页完成时,一些行没有返回。让我澄清一下:

nHibernate 生成 SQL 查询。我们正在做分页。如果我们按 100 页,nHibernate 生成连续 SQL 查询的方式是:

  • TOP 100 // 给我们前 100 个
  • TOP 200 // 给我们这个块的第二个 100
  • 等等

以上,在 nHibernate 级别没有 ORDER BY / 排序,最终结果是某些行永远不会出现在 nHibernate 中。我们推测这是由于 SQL 的任意排序造成的,因此行在页面内“移动”(从而从我们的应用程序代码中“隐藏”)。

如果我们单次执行 nHibrate 查询(返回所有行),我们会看到所有数据。(下面的这个查询是由 nhibernate 生成的。)

添加 order by 子句(又名 nHibernate 排序)有帮助吗?

SELECT top 33 
 ... <field list> 
FROM 
  salesOrder this_ left outer join [Item] Item2_ on this_.ItemId=Item2_.ItemId 
WHERE this_.AccountId = @p0 
and this_.ModifiedAt > @p1 
and this_.ModifiedAt <= @p2
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 sql-server paging nhibernate

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

执行一定小时数后停止代理作业

我有一个每晚运行的预定工作。无论是否完成,我都希望它在早上 07:00 自行停止。
我在网站上看到了一些重复内容,但它们并没有完全解决问题。谢谢。

sql-server-2008 sql-server sql-server-2008-r2 sql-server-agent

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

电子邮件地址、电话号码、名字、rixh 文本编辑器等的标准数据类型

我想使用 Sql Server 2008 R2 为我们的系统构建一个数据库。但我需要知道存储这些信息的最佳数据类型是什么:-

  • 电子邮件地址

  • 带分机的电话号码,如+44 12345 ext 123

  • 富文本编辑器。我们有一个名为“职位角色”或“主要职责”的字段,其中存储了每个员工角色的完整描述。

任何人都可以对此提出建议吗?谢谢

sql-server-2008 datatypes sql-server-2008-r2 table

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

Microsoft 建议在时间戳上使用 Rowversion,但我在 sql server 2008 R2 中找不到“rowversion”数据类型

微软在这里提到我们应该使用 rowversion 数据类型而不是 Timestamps。现在在我的 SQL Server 2008 R2 中,我想创建一个具有 Rowversion 数据类型的列。但是在我的 SQL Server 2008 R2 Management Studio 中,我找不到这样的数据类型:

在此处输入图片说明

此外,当我尝试使用此语句更改名为时间戳的现有列时,该列的类型为时间戳:

ALTER TABLE [SkillManagement].[dbo].[Customer]
ALTER COLUMN timestamp rowversion 
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Msg 4927, Level 16, State 1, Line 1
Cannot alter column 'timestamp' to be data type timestamp
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议吗?

编辑

在此处输入图片说明

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

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

如何删除多个表的标识规范

我的数据库中有 109 个表。现在我正在使用身份插入迁移到 Amazon 服务器,并且我想删除所有表的自动增量列规范。如何在 SQL Server 2008 中为所有表设置自动增量列,即标识规范为“否”?

例如,我有

CREATE TABLE dbo.tbl_acc
    (
    a1     NUMERIC (18) IDENTITY NOT NULL,
    a2     NUMERIC (18) NULL,
    a3     VARCHAR (4000) NULL,
    a4     VARCHAR (3999) NULL,

    CONSTRAINT PK_tbl_acc PRIMARY KEY (a1)
    )
GO
Run Code Online (Sandbox Code Playgroud)

现在我想删除 IDENTITY,不仅是为了这个,而且是为了所有剩余的表。

sql-server-2008 sql-server identity

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

Sql Server - 在多台服务器上运行作业

我正在使用 SqlServer 2008。

如果空间小于 15%,我有一个 Sql Server 作业检查磁盘空间和电子邮件管理员

是否可以在所有服务器上运行该作业,而不是将该作业添加到所有服务器?

(我将这些服务器添加为链接服务器)

sql-server-2008

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

Ola Hallengren 索引优化脚本不重建索引

我已经下载了 Ola Hallengren 的脚本并部署到主数据库。我使用下面的运行它...

EXECUTE dbo.IndexOptimize
 @Databases = 'USER_DATABASES',
 @FragmentationLow = NULL,
 @FragmentationMedium = 'INDEX_REORGANIZE,INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
 @FragmentationHigh = 'INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
 @FragmentationLevel1 = 5,
 @FragmentationLevel2 = 30
Run Code Online (Sandbox Code Playgroud)

我在 SSMS 中得到了这个输出,但索引没有被重建。碎片化程度还是很高的。我错过了什么吗?

Date and time: 2015-03-01 14:07:24
Server: TestSvr
Version: 10.50.2500.0
Edition: Standard Edition (64-bit)
Procedure: [master].[dbo].[IndexOptimize]
Parameters: @Databases = 'USER_DATABASES', 
@FragmentationLow = NULL, 
@FragmentationMedium = 'INDEX_REORGANIZE,INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',     
@FragmentationHigh = 'INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE', 
@FragmentationLevel1 = 5, 
@FragmentationLevel2 = 30, 
@PageCountLevel = 1000, @SortInTempdb = 'N', 
@MaxDOP = NULL, @FillFactor = NULL, @PadIndex = NULL, 
@LOBCompaction = 'Y', @UpdateStatistics …
Run Code Online (Sandbox Code Playgroud)

index sql-server-2008 sql-server maintenance index-tuning

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

SQL Server:使用 XPath 性能解析

我有一个用户界面,允许用户选择他们想要过滤结果的某些数据点。有位置、部门等内容。一旦他们选择了所有选项,我就会生成一个 XML 字符串,并将其传递给我的存储过程。

从那里,例如,对于位置,我创建了一个临时表并将用户选择的所有位置转储到该表中,然后我稍后加入我的数据。

在运行执行计划时,我注意到解析过滤器数据的 5 个左右的查询中的每一个都花费了大约 12%,这超过了查询的 60%,只是为了确定我们将要过滤的数据。

DECLARE @tmLocations TABLE (
    location VARCHAR (100));
BEGIN
    INSERT INTO @tmLocations
    SELECT ParamValues.x1.value('location[1]', 'VARCHAR(200)')
    FROM   @xml.nodes('data/teammateLocations/locations') AS ParamValues(x1);
END
Run Code Online (Sandbox Code Playgroud)

是否有另一种从 XML 中提取数据的方法或改进上述查询的方法,以便运行成本不高?设置数据比实际过滤数据的成本更高,这确实会降低性能。

sql-server-2008 sql-server stored-procedures t-sql execution-plan

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