标签: sql-server

无法使用“sa”帐户连接到 SQL Server,我错过了什么?

我正在尝试使用以下命令登录到 SQL Server 2005 Express 实例:

osql -S .\INSTANCE -U sa -P password
Run Code Online (Sandbox Code Playgroud)

我收到错误消息:用户“sa”登录失败。

我可以使用 -E 开关正常连接。我必须补充一点,它已经工作了几个月。我认为有人改变了一些东西,但我无法弄清楚它是什么。

这是我尝试过的:

  • 使用 Windows 身份验证登录并更改 sa 密码:

    sp_password NULL,新密码,'sa'

  • 启用“sa”登录:

    更改登录 sa 启用;GO ALTER LOGIN sa WITH PASSWORD = 'newpassword' ; 走

  • 检查 Windows 注册表以确保启用混合身份验证。值正确:LoginMode=2

我还应该检查什么?提前致谢。

附加信息:

这是一个 Windows 2003 服务器。他们启用了一些密码策略,我记得我需要将我的应用程序在安装 SQL Server 时使用的默认“sa”密码更改为另一个更复杂的密码。

我使用 VNC 连接,所以我不能真正使用 SSMS

我的应用程序可以使用另一个 SQL Server 登录名进行连接,但没有“sa”

最后,如果我们找不到解决方案,我将删除此实例并重新安装,但我真的很想找出问题所在。以防万一它再次发生,只是为了纯粹的好奇。

sql-server

24
推荐指数
3
解决办法
15万
查看次数

SQL Server 到 SQL Server 链接服务器设置

请解释设置 SQL Server 链接服务器需要什么。

服务器 A 仅用于 SQL 2005 Windows 登录。服务器 B 是相同的(仅限 SQL 2005 Windows 登录)。

服务器 A 运行 Windows XP。服务器 B 运行 Windows Server 2003。

两个 SQL Server 服务都在同一个域帐户下运行。我使用在两个 SQL Server 上都具有管理权限的域帐户登录到我的工作站。

请注意,这些都是 SQL Server 2005 SP2 - 我已经向我指出了旧的修补程序,但它们已经被应用。

我遇到的问题是这个错误:

“用户‘NT AUTHORITY\ANONYMOUS LOGON’登录失败。(Microsoft SQL Server,错误:18456)”

sql-server

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

在 SQL Server 中还原数据库时无法覆盖 mdf 文件

我有一个数据库 A。里面有一些数据。我为 A 创建了一个备份作为A.bak文件。然后,我创建了一个新的空数据库B.然后我尝试从恢复乙A.bak。但是 SQL Server 告诉我以下错误:

文件“C:\SQL Directory\DATA\A.mdf”不能被覆盖。它正被数据库“A”使用。

但是,如果我从 SQL Server 中删除 A,则恢复正常。

我不明白为什么 SQL 需要在从单独的备份文件恢复时写入原始数据库文件?

谢谢~

sql sql-server

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

如何在不从 SQL Server 中删除程序集的情况下更新 CLR 程序集

如何更新 CLR 函数(或过程)程序集 dll,而不必在 SQL Server (2008 R2) 中删除并重新创建程序集?

就目前而言,如果我更新程序集(例如添加新函数),SQL Server 将不会接受更新的 dll,直到我删除程序集:

DROP ASSEMBLY CLRFunctions

Msg 6590, Level 16, State 1, Line 1
DROP ASSEMBLY failed because 'CLRFunctions' is referenced by object 'NormalizeString'.
Run Code Online (Sandbox Code Playgroud)

但在我可以删除程序集之前,我必须首先删除引用它的所有函数:

DROP FUNCTION NormalizeString
DROP FUNCTION RemoveDiacritics
DROP FUNCTION RemoveCombiningDiacritics
DROP FUNCTION CombineLigatures
....
DROP FUNCTION PseudolocalizeArabic
Run Code Online (Sandbox Code Playgroud)

并且然后我可以删除这个组件:

DROP ASSEMBLY CLRFunctions
Run Code Online (Sandbox Code Playgroud)

现在我必须“创建”程序集:

CREATE ASSEMBLY CLRFunctions FROM 'c:\foos\CLRFunctions.dll';
Run Code Online (Sandbox Code Playgroud)

现在我必须寻找的所有UDF的声明中之前,我删除了他们注册。

我宁愿更新程序集,并让 SQL Server 开始使用它。


更新:我随机尝试DBCC FREEPROCCACHE …

sql-server sqlclr sql-server-2008-r2

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

在 Hyper-V 中运行 SQL Server 时出现“等待操作超时”

我在 Hyper-V 实例上运行 SQL Server (2012)。它拥有充足的资源和 25% 的总资源预留,VHD 被放置在一个非常快速的 SSD 驱动器上以实现快速响应时间。

当使用 SQL Server 的应用程序有一段时间没有被访问时,它们会时不时地收到错误“等待操作超时”。当重新加载或重试访问数据库时,它似乎已经“唤醒”并且和以往一样快。

有什么办法可以保证这种软睡眠模式在这种环境下不会出现?

添加

异常详细信息: System.ComponentModel.Win32Exception:等待操作超时

hyper-v sql-server

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

Windows 本地系统与系统

/sf/ask/35711931/说:

本地系统:完全受信任的帐户,比管理员帐户更重要。单个机器上没有此帐户无法执行的任何操作,并且 它有权 作为机器访问网络(这需要 Active Directory 并授予机器帐户权限)”

http://msdn.microsoft.com/en-us/library/aa274606 (SQL.80) .aspx(准备安装 SQL Server 2000(64 位) - 创建 Windows 服务帐户)告诉:

“本地系统帐户不需要密码,没有网络访问权限,并限制您的 SQL Server 安装与其他服务器交互。 ”

http://msdn.microsoft.com/en-us/library/ms684190 (v=VS.85) .aspx(本地系统帐户,构建日期:8/5/2010)告诉:

“ LocalSystem帐户是服务控制管理器使用的预定义本地帐户。安全子系统无法识别此帐户 ,因此您无法在调用 LookupAccountName 函数时指定其名称。它在本地计算机上具有广泛的权限,并且充当网络上的计算机。它的令牌包括 NT AUTHORITY\SYSTEM 和 BUILTIN\Administrators SID;这些帐户可以访问大多数系统对象。所有语言环境中的帐户名称为 .\LocalSystem。名称,LocalSystem 或 ComputerName \LocalSystem也可以使用。这个账户没有密码。如果你指定了 LocalSystem 在调用 CreateService 函数时,您提供的任何密码信息都将被忽略”

http://technet.microsoft.com/en-us/library/ms143504.aspx (设置 Windows 服务帐户)告诉:

本地系统是一个特权非常高的内置帐户。它在本地系统上拥有广泛的特权,并充当网络上的计算机。 > 帐户的实际名称为“NT AUTHORITY\SYSTEM”。

Windows 操作系统中众所周知的安全标识符 ( http://support.microsoft.com/kb/243330 ) 根本没有任何SYSTEM …

windows workgroup network-share sql-server

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

在实时 SQL Server 备份期间会发生什么?

当我告诉他们我可以在 SQL Server 数据库仍在运行时对其进行备份时,我的一些同事感到惊讶,并想知道这怎么可能。我知道 SQL Server 能够在数据库仍处于联机状态时对其进行备份,但我不确定如何解释为什么可以这样做。我的问题是这对数据库有什么影响?

如果在备份运行时修改了数据(通过插入、更新或删除),备份会包含这些更改还是会在之后添加到数据库中?

我假设日志文件在这里起着重要作用,但我不太确定如何。

编辑:请注意,我的案例涉及使用 SQL Server 代理备份数据库以及此过程中数据库修改的影响。

backup sql-server

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

如何在同一台或另一台服务器上复制 MSSQL 数据库?

我正在尝试完成以下任务:

  1. 拍摄原始数据库的快照,在另一台服务器上创建并精确复制?
  2. 拍摄原始数据库的快照,在同一服务器上以不同的数据库名称创建副本

但是,由于对 MSSQL 的经验非常有限,我不能。有什么建议?

附加信息:

源数据库服务器:SQL Server 2000

目标数据库服务器:SQL Server 2005

database sql-server

21
推荐指数
3
解决办法
13万
查看次数

如何从 SQL Server 2008 中的备份中排除索引

我们每晚的完整(和定期差异)备份变得非常大,主要是由于我们表上的索引数量;大约一半的备份大小由索引组成。

我们正在使用简单恢复模型进行备份。

有没有办法通过使用FileGroups或其他一些文件分区方法从备份中排除索引?

如果这也可以扩展到全文目录,那就太好了。

indexes backup sql-server sql-server-2008

20
推荐指数
2
解决办法
6089
查看次数

有没有一种好的方法来备份 PB 的数据并存储它?

我开始看到具有数百 TB 数据的客户端(在 SQL Server 安装中)。由于某些企业中的数据总量接近 PB 的有意义的部分,我想浏览那里的集体知识库,以了解处理如此大量数据的人正在采取哪些措施来保护它。

一个明显的问题是存储这么多数据的多个备份非常昂贵,使用企业级存储,见鬼,甚至只是 RAID-5。

我看到的选项如下:

  1. 在另一个数据中心创建数据的镜像副本,并不断向其发送差异(使用任何适用于您的数据源的机制 - 例如使用 SQL Server 进行日志传送或数据库镜像)
  2. 使用大量压缩算法进行定期备份(可能仅适用于数据适合进行大量压缩的情况)
  3. 对数据的关键/变化部分进行零碎备份。
  4. 不要备份数据并相信腐败之神。

我看到选项 #4 被采用为默认值,作为 HA/DR 专家,这真的很可怕,但我有什么建议作为替代方案?我认为 #1 是最好的方法,但是当建议除 #4 和 #3 之外的任何替代方案时,“我不这么认为”是通常的答案。

现在,当然这取决于数据的变化率和重要性。无需回答这个问题,因为我在 Microsoft 工作期间曾负责 SQL Server 的所有 HA 功能,所以我精通“视情况而定”的论点——这是我的口号:-)

我很想知道我错过的任何替代方案,或者听到其他人都在同一条船上,除了花费大量资金购买更多存储空间之外,没有现实的替代方案。

提前致谢 - 所有经过深思熟虑和明确表达的答案都将得到应有的赞誉。

backup sql-server

19
推荐指数
3
解决办法
3040
查看次数