我应该给用户或角色什么权限,以便它可以在数据库中创建登录或创建用户。
我的表数据是这样的:
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 结果。(目前在 SQL Server 2008 上运行)
我们注意到当分页完成时,一些行没有返回。让我澄清一下:
nHibernate 生成 SQL 查询。我们正在做分页。如果我们按 100 页,nHibernate 生成连续 SQL 查询的方式是:
以上,在 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) 我有一个每晚运行的预定工作。无论是否完成,我都希望它在早上 07:00 自行停止。
我在网站上看到了一些重复内容,但它们并没有完全解决问题。谢谢。
sql-server-2008 sql-server sql-server-2008-r2 sql-server-agent
我想使用 Sql Server 2008 R2 为我们的系统构建一个数据库。但我需要知道存储这些信息的最佳数据类型是什么:-
电子邮件地址
带分机的电话号码,如+44 12345 ext 123
名
富文本编辑器。我们有一个名为“职位角色”或“主要职责”的字段,其中存储了每个员工角色的完整描述。
任何人都可以对此提出建议吗?谢谢
微软在这里提到我们应该使用 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)
任何人都可以建议吗?
编辑

我的数据库中有 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,不仅是为了这个,而且是为了所有剩余的表。
我正在使用 SqlServer 2008。
如果空间小于 15%,我有一个 Sql Server 作业检查磁盘空间和电子邮件管理员
是否可以在所有服务器上运行该作业,而不是将该作业添加到所有服务器?
(我将这些服务器添加为链接服务器)
我已经下载了 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) 我有一个用户界面,允许用户选择他们想要过滤结果的某些数据点。有位置、部门等内容。一旦他们选择了所有选项,我就会生成一个 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
sql-server-2008 ×10
sql-server ×8
t-sql ×2
datatypes ×1
identity ×1
index ×1
index-tuning ×1
logins ×1
maintenance ×1
nhibernate ×1
paging ×1
permissions ×1
security ×1
table ×1