标签: sql-server-2008

针对文本文件中的数据运行多个命令 (SQL Server 2008 R2)

我是这个网站的新手,所以如果我问的是一个基本问题和/或一个之前被问过 100 次的问题,请原谅我。我在这里搜索时找不到答案。

我想让我的脚本从 txt 文件(每行一个值)中读取值,并为每个值执行三个不同的语句。

伪代码:

$file = getfile('c:\file.txt');

foreach($value in $file)
{
    DELETE x WHERE x = '$value';
    DELETE y WHERE y = '$value';
    DELETE z WHERE z = '$value';
}
Run Code Online (Sandbox Code Playgroud)

我知道这可能不像我的伪代码所希望的那么容易,但是我在 Google 上的所有搜索都返回了包含大量 SQL 的长篇文章,这让我无法理解。

我正在寻找我可以实现的示例,关于该主题的好文章,和/或一记耳光告诉我醒来并意识到这在 SQL 中并不容易。

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

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

财产所有者不可用于数据库“DBNAME”

属性所有者不可用于数据库“DBNAME”。此对象可能不存在此属性,或者可能由于访问权限不足而无法检索。(Microsoft.SqlServer.Smo)

尝试“右键单击”数据库上的属性时出现此错误。有谁知道如何解决这一问题 ?

我试过以下:

use DBNAME
EXEC sp_changedbowner 'myUser'
Run Code Online (Sandbox Code Playgroud)

收到以下消息:

提议的新数据库所有者已经是数据库中的用户或别名。

任何想法如何解决这一问题 ?

sql-server-2008 sql-server

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

前面带有红色 x 滚动条的 SSMS 数据库图标的含义

数据库图标前面带有红色 x 的滚动图标

SSMS 2008 R2,连接到 2008 实例在 SSMS 对象资源管理器中显示上述字形。我们的其他实例都没有显示该图标。我已经将鼠标悬停在它上面,希望能得到有用的工具提示,但无济于事。

我想这与我们上周末的失败有关。有人可以就该图标的含义提供更权威的回应,以及我应该指导我的 DBA 采取的任何行动来清除它吗?

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

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

比较虚拟服务器和专用服务器之间的 Microsoft SQL 服务器性能

我目前有一台专用的 Windows 2008 r2 服务器,由于成本原因,我正在考虑迁移到虚拟服务器。现在我知道 SQL 应该在专用服务器上,但是灵活性和成本对于我们的情况来说是一个很大的优势。我想比较两台服务器。我知道这很难,因为一个是实际负载的生产服务器,另一个是一个用户的测试服务器。

两者都运行 Microsoft SQL Server 2008。dedicated 有 12 GB ram,virtual 有 12 GB ram 专用有一个双四核 CPU,virtual 有 4 个 CPU

两者都具有完全相同的数据库(我在虚拟测试中从生产中恢复了备份)

我使用大量视图执行了大量选择查询,并使 Microsoft SQL Server Management Studio 包含Client statistics. 显示总执行时间

不知何故,虚拟现在显示为零(因为我们添加了 2 个虚拟 CPU),但在管理工作室的右下角,它显示虚拟服务器用了 3 秒,专用服务器(生产)用了 2 秒来完成查询。

如何在虚拟和生产之间进行良好的比较?

编辑:有人告诉我,VMWare 中的半虚拟化设置可以更好地比较两个实例的性能。

performance sql-server-2008

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

如何监控链接服务器中传输的数据量?

我有一个连接到远程计算机的链接服务器,并在本地和远程数据库之间执行一些插入、更新和删除操作。我想知道操作进行时传输了多少数据。我该怎么做?我的本地数据库是Sql server 2008,远程数据库是SQlserver2ksp3

sql-server-2008 sql-server sql-server-2000

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

将 2 个 SQL Server 实例压缩为 1 个的可能陷阱

我目前有 2 个 SQL Server 2000 数据库实例(每个都运行在不同的物理服务器上),每个实例包含大约 12 个数据库(并非所有数据库都处于活动状态)。我们正计划升级到 SQL Server 2008 R2,并且出于多种原因(易用性、更少的客户端 DSN、更便宜的许可)调查将这 2 个实例压缩为 1 个实例的可能性。这两台服务器相互引用为链接服务器(并且该链接被大量使用),并且涉及其他服务器,这些服务器也是链接服务器。

我知道我需要重构所有引用链接服务器的存储过程和视图,但是我应该注意哪些其他潜在问题?我应该检查/做些什么来确定这是否是一个好主意?

sql-server-2008 database-design sql-server sql-server-2000

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

有没有办法查看表的访问日志?

我正在使用 MS SQL Server 2008。我在数据库中有一个表,其中正在插入和删除记录。

例如

最初该表是空的。Java 程序(可能)在其中插入了少量记录。另一个 Java 程序快速访问该表并删除记录(所有插入的记录)。然后我select在表上手动运行查询。所以基本上我只能看到表格的“初始”和最终状态,其中表格都是空的。

我需要知道有没有办法可以查看这些记录,或者至少检查是否正在插入/删除某些内容?

任何帮助表示赞赏。

sql-server-2008 sql-server

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

SQL Server 2008 R2 上高可用性和 SSRS 的最佳解决方案?

我有 2 台带有 SQL Server 2008 R2 的物理服务器。– SQL Server 1(主动)和 SQL Server 2(被动)Web 应用程序是使用 .Net 4.0 框架开发的。

我想知道具有高可用性并具有用于报告的 SSRS 的最佳解决方案。

计划的解决方案:故障转移的镜像,SSRS 的事务复制作为镜像数据库只能用于故障转移场景。SSRS 将在被动服务器上,以减少主动服务器上的负载。

让我知道解决方案是否正确。还建议替代方法。

sql-server-2008 sql-server

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

为什么 TRY CATCH 不抑制触发器中的异常

我在表()上有一个触发器,应将数据复制到其他数据库中的另一个(目标)。我正在尝试为数据实现自定义同步过程:我希望目标数据库(表)与源数据库(表)保持同步。我有 300 个表要同步。其中一些具有不同的物理数据结构。由于不同的数据架构和其他限制(实施时间、环境问题...),我无法使用 Sql Server 的标准方法(复制、DTS...)。我的目标是:此触发器不应影响源表中记录的插入、删除、更新。我试过这样的解决方案:

CREATE TRIGGER dbo.MyTrigger
...
   AFTER INSERT
....
BEGIN TRY
     --RAISERROR('Test error', 16, 2)
END TRY
BEGIN CATCH
  -- nothing
END CATCH
Run Code Online (Sandbox Code Playgroud)

我已经插入RAISEERROR来模拟错误。我希望,try/catch抑制该错误并成功插入(删除或更新)记录。别。这是行不通的。我有错误:

触发器执行期间出现错误。批处理已中止,并且用户事务(如果有)已回滚。

是否有可能以这种方式实现我的解决方案。如何捕获并保持(抑制)触发器中的任何错误?

try/catch如果它不起作用,在触发器中使用有什么意义?

trigger sql-server-2008 error-handling

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

用于练习数据库管理的小样本数据库?

我正在寻找一个便携式示例数据库

  • 可以从脚本创建
  • 有一个简单的 ER 模型
  • 用于数据库管理实践目的的数据很少。

我知道那里有 Adventureworks、Northwind 和 pubs 示例数据库,但我正在寻找更小的东西。

知道在哪里可以找到这种数据库吗?

sql-server-2008 sql-server database-recommendation

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