标签: 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
查看次数