标签: sql-server

为什么 sp_send_dbmail 在 SQL 代理作业中失败?

我有一个简单的查询,当帐户被禁用超过 30 天时,我运行该查询以向我们的 AD 帐户管理员发送电子邮件通知。当我自己运行它时,它工作得很好,以 SA 登录,但在 SQL Server 代理作业中运行时它会失败。

这是查询,替换了特定于业务的项目和对象名称:

DECLARE @QueryString varchar(max)
SET @QueryString = 'Select TrackingTable.Username FROM dbName.Schema.TrackingTable inner join dbName.Schema.viewName on DisabledAccounts.username = viewName.username WHERE DATEDIFF(dd,DateDisabled,GETDATE()) > 25 AND viewName.OU = ''InactiveAccounts'''
EXEC msdb.dbo.sp_send_dbmail  @profile_name = 'Profile', @body = 'This is the body text. Nothing interesting here.
', @recipients = 'me@mydomain.tld', @subject='Account status update', @query = @QueryString, @importance = 'High'
Run Code Online (Sandbox Code Playgroud)

当我作为 SA 运行它时,消息被发送。在 SQL Server 代理作业中,我收到此错误:

Executed as user: DOMAIN\MemberOfDomainAdmins. Error formatting query, probably invalid parameters …
Run Code Online (Sandbox Code Playgroud)

sql-server sql-server-2008

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

如果 ldf 文件已被删除,如何恢复 SQL Server 数据库

我们有一个驱动器死机并丢失了 ldf 文件,但 mdf 文件完好无损。考虑到 ldf 丢失,是否有重新连接到 mdf 文件的过程?我没有太多运气进行了搜索。

disaster-recovery sql-server

5
推荐指数
2
解决办法
1432
查看次数

导出 SQL Server 数据库的最简单方法

使用 SQL Server 2008,如何将数据库导出到 mdf 以便我可以将其附加到另一台机器上?(使用“附加”)

我尝试将其分离(与 attach 的英文相反),但效果不佳。

编辑:我没有对“[SQL Server 根路径]\DATA\”中已有的 mdf 文件的写访问权限

backup sql-server

5
推荐指数
2
解决办法
1397
查看次数

连接到 Sql-Server 时密码是否以明文形式发送?

我今天被问到这个问题,老实说我不知道​​答案。如果你使用一个连接字符串,而不SSPI连接到一台服务器有什么办法第三方可以拦截在电线上的密码用于登录?

"Data Source=MyServer;Initial Catalog=MyDatabase;User Id=sa;Password=CanThisBeSniffed;"
Run Code Online (Sandbox Code Playgroud)

我不是在询问 MiTM 攻击,只是有人在同一台计算机上或网络上的同一集线器上列出了 Wireshark 或类似的东西。

我自己启动了wireshark,并没有以纯文本形式看到它,但这可能是一个简单的混淆或适当的加密,我只是想知道哪个。

security sql-server connection-strings

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

在 Amazon EC2 Windows 实例上运行 SQL Server Express

我创建了一个预安装了 IIS 和 SQL Server Express 的 Windows Server 2008 Amazon EC2 实例(使用此 AMI http://aws.amazon.com/amis/Microsoft-Windows/4801904273096347)。登录后,我启动了 SQL Management Studio 并尝试使用 Windows 身份验证登录到默认实例(数据库引擎)。我没有成功。我收到一条错误消息,指出服务可能没有运行……我再次检查以确保它确实在运行。

有人使用 Amazon EC2 实例设置 SQL Server Express 吗?我最好使用基本的 Windows Server 2008 实例并从头开始安装 SQL 服务器吗?我需要创建一个用户吗?

windows-server-2008 amazon-ec2 sql-server

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

我有一个阻塞事务,但没有显示任何语句

我的 SQL Server 2008 开始挂起简单的查询,所以我使用内置的所有阻塞事务报告检查阻塞事务。果然,这样的交易是存在的。但是,如果我展开 Blocking SQL Statement,我会得到一个空白框。我怎样才能找到有关问题的更多信息?

这个事务阻塞了几个对业务至关重要的工作(嗯,不是真的,但老板和老板的老板依赖于他们),所以我不情愿地KILL编辑了阻塞会话。20 分钟后,它仍然是“正在回滚……完成:0%……估计剩余时间:0 秒。” 我真的很想知道是什么导致了这种情况,我已经好几个月没有明显的阻塞了。

blocking sql-server

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

重启后特定站点无法连接到 MSSQL 服务器

我的 Windows 2008 R2 服务器上有一个非常烦人的问题。每次重新启动时,无论是计划内的还是计划外的,一个特定站点都无法连接到数据库服务器,即同一台计算机上的 MSSQL Server 2008 R2 Express 实例。它将给出以下错误:

无法打开登录请求的数据库“SiteDb”。登录失败。
用户“SiteDbUser”登录失败。

此错误将继续存在,直到我手动回收此特定站点的应用程序池 - 一个简单的网站重启似乎无法解决问题。一旦我回收应用程序池,该站点就可以正常连接,并将继续这样做,直到下次重新启动。现在,奇怪的是我在这个网络服务器上运行了其他站点,它似乎没有遇到这个问题——它们在重新启动后会连接得很好。我所有的网站都有不同的 MSSQL 用户,但我比较了那些工作的和不工作的,我似乎找不到任何区别。我还尝试为有问题的网站创建一个新用户,但这似乎没有什么区别。我尝试在连接字符串中同时指定实例名称和“127.0.0.1”,并且都适用于其他站点,

我也尝试了一些其他的东西,但是因为我必须重新启动服务器来测试它(或者至少看起来是这样?),测试这有点“昂贵”,因为服务器运行的站点相当多对我的业务很重要的每日访客。

大家有没有遇到过这样的情况?我将不胜感激任何想法:)

iis-7.5 windows-server-2008-r2 sql-server

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

锁定 Windows 磁盘以进行备份(EC2 快照)

我正在寻找一种方法来将所有挂起的写入刷新到 Windows 中的磁盘,然后缓冲所有未来的写入,直到命令允许。

我想刷新 SQL Server 写入和 Windows 系统写入,然后缓冲两者。

要清楚我在做什么:

我在 EC2 上使用 Windows 2008 R2 和 SQL Server 2008 R2。我在它们所在的驱动器上运行每小时快照。当没有任何重要的变化时,这些快照就很好了——但我时不时地得到一个糟糕的快照。最坏的情况是,如果发生驱动器故障(技术上为 EBS 故障),如果我有 3 个错误的每小时快照,我将丢失 4 小时的数据。

快照已经解决了快速、差异备份和快速、轻松的恢复问题——所以我正在寻找一种方法来刷新所有内容,使其在磁盘上处于一致状态,然后暂停所有写入,直到快照完成。我很高兴为我调用的服务编写一些代码来实现这一点,但我需要知道我需要编写哪些 API/命令才能完成任务。

我知道我可以创建一个单独的卷,我不断地运行 Windows 备份,然后对其进行快照,但这会显着延长备份过程,感觉就像一个黑客。我知道 Windows 和 SQL Server 都非常擅长缓冲写入,所以这似乎是我应该能够就地完成的事情。

想法?

windows backup amazon-ec2 sql-server

5
推荐指数
2
解决办法
2757
查看次数

将表存储在内存中

有没有办法让 SQL Server 在内存上存储一个具有 10 个属性和 10 行的表?

a1   a2   a3  a4  a5  a6  a7  a8  a9 a10
----------------------------------------
138 498  365 345 500 473 498 125 134 800
448 498  362 348 500 463 498 625 165 700
468 498  625 329 500 435 498 625 345 600
437 701  365 326 500 453 498 625 645 500
438 498  326 329 500 438 498 625 745 400
439 499  626 329 500 438 498 525 685 300
440 …
Run Code Online (Sandbox Code Playgroud)

database sql-server sql-server-2008

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

如果我发现有人暴力破解我的服务器密码,我该怎么办?

我刚刚检查了我的 vps 上的事件日志,发现有人在强制使用我的 sql server sa 密码和 windows 管理员密码。(我已将帐户名从管理员更改为其他名称,但他们使用的是正确的帐户名!)

我能做些什么来阻止他们这样做吗?我的操作系统是 Windows Server 2008 R2 和 SQL Server 2008 R2 Express。

编辑:似乎攻击 IP 地址不断变化。所以阻止他们需要很多努力。

brute-force-attacks sql-server

5
推荐指数
3
解决办法
2967
查看次数