标签: sql-server-2008-r2

恢复sa密码

我有一台电脑被另一名员工使用.

SQL Server 2008 R2已安装,但我不知道'sa'密码.

当我尝试更改登录时,它会给出以下错误.

无法更改登录'sa',因为它不存在或您没有权限.

当我尝试还原数据库时,它会给出不同的权限错误.

(当我输入安全性 - >登录 - > sa - >属性窗口身份验证被禁用.)

我可以改变吗?

PS:密码不是"密码":)

sql sql-server-2008-r2

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

LIKE查询实体框架

可能重复:
如何在Linq中使用SQL Like%?
与实体框架中的运营商一样?

我正在做这样的查询:

    var matches = from m in db.Customers
        where m.Name == key
        select m;
Run Code Online (Sandbox Code Playgroud)

但我不需要m.Name完全等于钥匙.我需要m.Name像关键.

我找不到如何重新创建SQL查询:

    WHERE m.Name LIKE key
Run Code Online (Sandbox Code Playgroud)

我正在使用SQL Server 2008 R2.

怎么做?

谢谢.

c# wpf sql-server-2008-r2 ef-code-first

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

SQL Server过程声明一个列表

我的SQL代码非常简单.我正在尝试从数据库中选择一些数据,如下所示:

SELECT * FROM DBTable
WHERE id IN (1,2,5,7,10)
Run Code Online (Sandbox Code Playgroud)

我想知道如何在select之前声明列表(在变量,列表,数组或其他内容中),而select中只使用变量名,如下所示:

VAR myList = "(1,2,5,7,10)"
SELECT * FROM DBTable
WHERE id IN myList
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2008-r2

37
推荐指数
3
解决办法
11万
查看次数

Sql Server复制需要实际的服务器名称才能建立与服务器的连接

当我想要创建新的发布或订阅时,我收到以下消息.

"Sql Server复制需要实际的服务器名称才能与服务器建立连接.不支持通过服务器别名,IP地址或任何其他备用名称进行连接.请指定实际的服务器名称"

有谁知道我该怎么办?

sql-server sql-server-2008-r2

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

整理错误

我正在使用Microsoft SQL Server Management Studio.我有两个数据库,一个是系统数据库,它有master数据库,另一个是我的数据库CCTNS_CAS_DE_DB.当我尝试通过使用CCTNS_CAS_DE_DB数据库的工具生成报告时.

我收到以下错误:

在等于操作中无法解决"Latin1_General_CI_AI"和"SQL_Latin1_General_CP1_CI_AS"之间的排序规则冲突

我浏览了SQL Server并检查了主数据库的属性,它显示了排序规则,Latin1_General_CI_AI但是当我转到CCTNS_CAS_DE_DB数据库的属性时,它显示排序规则为SQL_Latin1_General_CP1_CI_AS.

我在线搜索错误,但大多数解决方案告诉如何更改特定表的排序规则,但我没有遇到任何查询,这将更改我的数据库的排序规则Latin1_General_CI_AI.

我遇到一个问题是: -

ALTER DATABASE CCTNS_CAS_DE_DB COLLATE Latin1_General_CI_AI
Run Code Online (Sandbox Code Playgroud)

当我在SQL Server中运行此查询时,它抛出以下错误: -

消息5030,级别16,状态2,行1
无法独占锁定数据库以执行操作.
Msg 5072,Level 16,State 1,Line 1
ALTER DATABASE失败.数据库'CCTNS_CAS_DE_DB'的默认排序规则不能设置为Latin1_General_CI_AI.

我知道这个问题已经发布在这里,但我认为这是在不同的背景下.

sql sql-server-2008-r2

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

为什么临时表和子选择之间存在巨大的性能差异

这是一个关于SQL Server 2008 R2的问题

到目前为止,我不是DBA.我是一名java开发人员,必须不时编写SQL.(主要嵌入代码中).我想知道我在这里做错了什么,如果是的话,我可以做些什么来避免它再次发生.

Q1:

SELECT something FROM (SELECT * FROM T1 WHERE condition1) JOIN ...
Run Code Online (Sandbox Code Playgroud)

Q1有14个连接

Q2与Q1相同,但有一个例外.(SELECT*FROM T1 WHERE condition1)之前执行,并存储在临时表中.

这不是相关的子查询.

Q2:

SELECT * INTO #tempTable FROM T1 WHERE condition1
SELECT something FROM #tempTable  JOIN ...
Run Code Online (Sandbox Code Playgroud)

再次,14加入.

现在让我感到困惑的是,Q1花了> 2分钟(尝试了几次,以避免缓存发挥作用),而Q2(两个查询合并)花了2秒!是什么赋予了?

sql sql-server-2008-r2 query-performance

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

获取AVG忽略Null或Zero值

如何获取AVG列忽略NULL和零值?

我有三列来获得他们的平均值,我尝试使用以下脚本:

SELECT distinct
     AVG(cast(ISNULL(a.SecurityW,0) as bigint)) as Average1
     ,AVG(cast(ISNULL(a.TransferW,0) as bigint)) as Average2
     ,AVG(cast(ISNULL(a.StaffW,0) as bigint)) as Average3
FROM Table1 a,  Table2 b
WHERE a.SecurityW <> 0 AND a.SecurityW IS NOT NULL
AND a.TransferW<> 0 AND a.TransferWIS NOT NULL
AND a.StaffW<> 0 AND a.StaffWIS NOT NULL
AND MONTH(a.ActualTime) = 4
AND YEAR(a.ActualTime) = 2013
Run Code Online (Sandbox Code Playgroud)

我没有得到任何结果,但是三列的值包括NULL和零!

无论如何在获得平均值之前排除空值?

例: AVERAGE(NOTNULL(SecurityW))

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

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

如何将datetime转换为datetimeoffset?

如何将SQL Server datetime值转换为datetimeoffset值?


例如,现有表包含datetime全部处于"本地"服务器时间的值.

SELECT TOP 5 ChangeDate FROM AuditLog

ChangeDate
=========================
2013-07-25 04:00:03.060
2013-07-24 04:00:03.073
2013-07-23 04:00:03.273
2013-07-20 04:00:02.870
2013-07-19 04:00:03.780
Run Code Online (Sandbox Code Playgroud)

我的服务器(恰好)(现在,今天)比UTC晚了四个小时(现在,在美国东部时区,夏令时处于活动状态):

SELECT SYSDATETIMEOFFSET()

2013-07-25 14:42:41.6450840 -04:00
Run Code Online (Sandbox Code Playgroud)

我想将存储的datetime值转换为datetimeoffset值; 使用服务器的当前时区偏移信息.

想要的价值观是:

ChangeDate               ChangeDateOffset
=======================  ==================================
2013-07-25 04:00:03.060  2013-07-25 04:00:03.0600000 -04:00
2013-07-24 04:00:03.073  2013-07-24 04:00:03.0730000 -04:00
2013-07-23 04:00:03.273  2013-07-23 04:00:03.2730000 -04:00
2013-07-20 04:00:02.870  2013-07-20 04:00:02.8700000 -04:00
2013-07-19 04:00:03.780  2013-07-19 04:00:03.7800000 -04:00
Run Code Online (Sandbox Code Playgroud)

你可以看到理想的特征:

2013-07-19 04:00:03.7800000 -04:00
--------------------------- …
Run Code Online (Sandbox Code Playgroud)

sql-server internationalization sql-server-2008-r2

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

SQL Server 2008 IIF语句似乎未启用

我想IIF()在select语句中使用.布尔表达式检查字段值是否等于空字符串.语法是这样的:

SELECT IIF(field = '','ONe action','Another')
Run Code Online (Sandbox Code Playgroud)

我收到错误"语法错误接近="

我尝试了一个简单的测试:

SELECT IIF(2 > 1, 'yes','no')
Run Code Online (Sandbox Code Playgroud)

我正在接受 "syntax errror near >"

这让我相信这IIF根本不起作用.

我正在使用SQL SERVER 2008 R2,是否需要配置一些东西以允许IIF()工作?有什么关于我缺少的语法吗?我的测试很简单,但仍然会出现语法错误.

任何帮助,将不胜感激.非常感谢!

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

35
推荐指数
3
解决办法
7万
查看次数

如何在SQL Server中的表值函数中使用CTE语句

我已经了解到某些版本的Microsoft OLE DB Provider for SQL Server(主要在Windows XP上)不支持WITH语句.所以,我决定将我的SQL语句移动到表值函数中,并从我的应用程序中调用它.现在,我被困住了.我应该如何使用该INSERT INTO声明WITH?这是我到目前为止的代码,但SQL Server不喜欢它... :-(

CREATE FUNCTION GetDistributionTable 
(
    @IntID int,
    @TestID int,
    @DateFrom datetime,
    @DateTo datetime
)
RETURNS 
@Table_Var TABLE 
(
    [Count] int, 
    Result float
)
AS
BEGIN
INSERT INTO @Table_Var ([Count], Result) WITH T(Result)
     AS (SELECT ROUND(Result - AVG(Result) OVER(), 1)
         FROM RawResults WHERE IntID = @IntID AND DBTestID = @TestID AND Time >= @DateFrom AND Time <= @DateTo)
SELECT COUNT(*) AS [Count],
       Result
FROM   T …
Run Code Online (Sandbox Code Playgroud)

sql-server common-table-expression sql-server-2008-r2

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